自我介紹
您好!我目前就讀于湖南工業(yè)大學,將于2018年畢業(yè),大學學的是計算機科學與技術(shù)這個專業(yè)。大學期間,在學院的創(chuàng)新創(chuàng)業(yè)實驗室自學了兩年的Java與Android開發(fā),期間開發(fā)過一些自己的一些作品去參加各類學科競賽,比如,“私家車”項目就獲得了中國地質(zhì)大學舉辦的“全國高校移動互聯(lián)網(wǎng)(MIAC)應用開發(fā)創(chuàng)新大賽” 三等獎。目前的話,就是在準備秋招,并打算找一份Android開發(fā)的工作。
項目介紹
項目:私家車
介紹:私家車是一款助手類軟件,主要功能是為廣大車主提供便捷的服務(wù)。這個項目已經(jīng)在github上開源,你可以在我的主頁上看到相應的圖文介紹。
它主要分為兩大模塊:
全能地圖和實時業(yè)務(wù)
全能地圖的主要功能有:
- 目的地搜索
- 周邊服務(wù)點展示
- 目的地導航的功能,使用的是百度地圖的第三方SDK
另外一個則是實時業(yè)務(wù)模塊,也就是我們app主頁面顯示的橫滑工具欄。
它主要的功能是:
1.通知移車
2.今日油價
3.違章查詢
4.車輛保險等功能
主要用到的第三方庫有:bmob后端云,車首頁查詢違章的api,易源數(shù)據(jù)查詢油價(之前使用的是聚合數(shù)據(jù))。
我主要負責的模塊是全能地圖,即百度地圖的二次開發(fā),主要難點的話就是
學習百度地圖API的使用,方法是閱讀官方文檔和google查詢,以及學習相應的demo.
屏幕適配問題
采用了網(wǎng)上流行的一種方法,將所要配對的手機的屏幕分辨率與480X320進行換算,并定義一個新的變量去代表px.比如說960:480是2:1的關(guān)系,那么新定義的變量x1,對于480則代表1px而對于960則代表兩px。最后,再使用自動化文件生成工具去生成相應的比例文件放入各自的values包中,這樣系統(tǒng)就會根據(jù)對應屏幕的分辨率進行選擇,而實現(xiàn)多屏幕的適配。網(wǎng)絡(luò)請求的一些問題:
發(fā)起一個請求,但是回來是Activity已經(jīng)銷毀。還有就是網(wǎng)絡(luò)很差的情況下請求失敗后需要重試。以及多次請求結(jié)果一樣怎么處理。UI效果實現(xiàn):
橫滑工具欄:使用自定義布局實現(xiàn),動態(tài)添加5個布局,然后設(shè)置寬高,監(jiān)聽滑動事件。后期改RecyclerView
仿狀態(tài)欄下拉動畫:使用線程和設(shè)置layoutparams的margin實現(xiàn),后期改用屬性動畫圖片加載問題
內(nèi)存不足死掉。listview中顯示圖片,快速滑動時如何讓解決?以及ScrollView嵌套listView如何解決滑動沖突?更新主題如何讓所有的啟動頁面均生效:EventBus。方法數(shù)越界(65536):使用multidex,在buildTools高于21.1版本的情況下,在gradle中配置打開分包的功能并導入multidex即可。
重復依賴問題:
compile('com.mxn.soul:flowingdrawer-core:1.2.0'){
exclude group: 'com.nineoldandroids'
}
compile('com.rengwuxian.materialedittext:library:2.1.4')
其他:密碼進行過md5加密,自定義Crash進行日志收集。
第三方庫:
eventBus,okhttp,retrift,rxjava,glide。
源碼:
自定義View ,View的分發(fā)機制,Handler消息機制,Binder機制,Activity的啟動,Service的啟動。