2017技術篇
今天第一篇---技術篇,
今年主要參與了Android系統定製,內部APP,雲掌櫃APP三個專案,那就總結下寫三個專案學到哪些
git命令
- Android系統開發需要下載Android原始碼(附錄提供線上原始碼地址)用到各種命令編譯,其中包括git命令,原來git都是通過soucetree(git視覺化工具)搞定,可是Android系統開發的時候git的url有相關驗證和限制。然後就總結了常用到git命令。
自定義控制元件
Android系統定製需要定製化的東西比較多,使用Android自定義控制元件也就會偏多了。以前都是能用系統控制元件優先考慮用系統控制元件(主要系統控制元件在不同的系統相容性好點),實在不行再使用自定義的控制元件。然後就重新梳理了如何重寫自定義控制元件.
RxJava
用起來很爽,主要是方便執行緒切換,也避免一些程式碼經常使用Handler記憶體洩漏問題。也解決網路請求沒有在Activity,Fragment生命週期沒有結束後回收問題。
使用RxJava+OkHttp+Retrofit+ButterKnife+MVP爽爆了
單元測試
模仿Google MVP單元測試+mock方式最新程式碼單元測試。(寫了單元測試就可以很明顯的看出自己程式碼結構是否設計合理。可是如果程式碼之前已經成形你現在是維護,並不建議過多的單元測試而測試或者也可以是用Robolectric寫單元,不過這樣維護成本比較大)
自動化Android發版
主要採用Jenkins+shell指令碼調介面方式實現自動化指令碼。原來都會用Jenkins打包apk,然後我們最主要的是要解決打包好的apk如何上傳問題,上傳apk 就需要shell指令碼網路請求。原來shell沒有了解,不過琢磨了很久終於成功了。(不過後面公司有“皮皮蝦”我這個只在測試環境的自動化就忽略了。)
藍芽列印
主要方式APP接受的到相應服務端資訊,根據相關資訊傳送指令給藍芽印表機,然後藍芽列印完成。整個過程這樣實際開發中就要考慮各種問題,通過兩個星期的梳理才理解透相關邏輯,實際開發藍芽也總結了一些需要考慮的問題
- 推送和App socket通訊
- 推送和socket保活
- 推送和App socket的,去重,執行緒安全問題
- app列印資訊在不同的印表機上的展示問題
- app與藍芽列印連線問題,連線藍芽成功,列印沒有反應,藍芽列印回斥問題。
阿里路由框架,專案模組化
當專案大了,人多開發的時候。總會遇到程式碼衝突。除了合程式碼前review程式碼外還需要解決開發效率。首先是模組化開發,互不依賴。然後就有了路由,考慮大公司維護好最後採用了ARouter。(如果專案不大和人員不是很多暫時不建議使用路由)
Kotlin
Kotlin為Android 官方支援語言,自己寫了一些程式碼,主要體現簡化程式碼,非空認證優勢。其他還沒有發現太多。實際專案開發沒有用到。
AI: Python
今年的AI很火,然後自己就找視訊自學Python,自學兩個星期,中間公司比較忙後面懶了沒有完成。2018一定要補上。
微信小程式
自己一直想開發一個共享卡包類的工具。開始想做成app,覺得還是太大了,最後還是使用微信小程式的方式,使用微信小程式主要的好處:一是利用微信的群體,另外人人都有微信的時代使用小程式比較輕便。用微信小程式就需要node.js+後臺開發。基本要從零開始,然後一直模式,目前只做成一個demo形式。2018年一定要做完這個。
自動化模擬點選
想有這個自動化主要想解放測試,不用老是重複測試一些問題。自己當初設想方法是:app開啟,然後app自己獲取當前頁面所有的view,能點選的view就點選,並記錄這個點選相關資訊直到app崩潰記錄整個點選過程。可是實際實現卻不是這樣。都是需要自己寫程式碼去設定相關點選和輸入事件,麻煩的不得了。後面就分析了一些自動化點選測試的框架最後綜合各方面的框架最終選擇了Appium,可是實際使用卻各種問題。如:輸入法切換輸入法方式只為數字,或者設定輸入法方式都沒有。還在尋找解決方法中。。。
其他
2017也寫了可憐幾篇技術文章
附錄
相關文章
- go技術文章梳理(2017)Go
- 2017 前端技術發展回顧前端
- 2017年,你需要GET的9大技術領域
- .NET Core技術研究系列-索引篇索引
- 我的2020回顧——技術篇
- Hybrid App技術解析 — 實戰篇APP
- Hybrid App技術解析 -- 原理篇APP
- Hybrid App技術解析 — 原理篇APP
- Hybrid App技術解析 -- 實戰篇APP
- 2017前端面試題及答案總結|掘金技術徵文前端面試題
- 2017中國軟體技術大會圓滿閉幕
- [Day 1]上海CNUTCon全球運維技術大會2017實錄運維
- JVM核心技術(第一篇)JVM
- PHP 面試詳解之技術篇PHP面試
- 【推薦】最新200篇:技術文章整理
- 2021年美團技術團隊最受歡迎的22篇技術文章
- [乾貨分享]1000篇乾貨好文!量子技術——進階篇
- [乾貨分享]1000篇乾貨好文!量子技術——資訊篇
- 一篇搞懂容器技術的基石: cgroup
- 如何寫好一篇技術型文件?
- 2019 前端自嗨 coolq 篇 -- 技術文章推送前端
- 淺談RASP技術攻防之基礎篇
- [技術分析]探討大世界遊戲的製作流程及技術——前期流程篇遊戲
- vivo營銷自動化技術解密|開篇解密
- 大資料技術之資料採集篇大資料
- Spring Boot 2.0深度實踐之核心技術篇Spring Boot
- iOS跳槽寶典-面試技術基礎篇iOS面試
- 寫給美術看的Unity全域性光照技術(理論篇)Unity
- 即時通訊技術文集(第43期):直播技術合集(Part3) [共13篇]
- 100+篇技術文章推薦總有一篇你想看的
- [乾貨分享]1000篇乾貨好文!量子技術——專家觀點篇
- 阿里云為此提供了全程的雲技術支援,自 2017 年以來阿里
- 亞信安全“雙引擎”AI技術亮相2017華為全聯接大會AI
- 即時通訊技術文集(第34期):IM群聊技術合集(Part1) [共15篇]
- 冬蟲夏草之技術路線圖之二【“術”——業務篇】
- 阿里巴巴技術面試題-第五篇阿里面試題
- 研發日誌技術篇(上)——如何死磕GPUGPU
- 「docker實戰篇」python的docker爬蟲技術-pythonDockerPython爬蟲
- 技術進階·K線篇(八)——下降三法