【移動應(yīng)用開發(fā)技術(shù)】30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)_第1頁
【移動應(yīng)用開發(fā)技術(shù)】30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)_第2頁
【移動應(yīng)用開發(fā)技術(shù)】30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)_第3頁
【移動應(yīng)用開發(fā)技術(shù)】30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)_第4頁
【移動應(yīng)用開發(fā)技術(shù)】30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】30條android項(xiàng)目開發(fā)技巧與經(jīng)驗(yàn)總結(jié)

1、如果是閱讀型文本(例如一篇文章),不需要固定大小的,textSize可以使用sp;如果是展示型文本(例如按鈕中的文本),其大小受到限制的,textSize可以使用dp。2、使用json用作網(wǎng)絡(luò)數(shù)據(jù)傳輸時,應(yīng)該使用String字段取代int字段。3、按照現(xiàn)在正常密度比(系統(tǒng)的densityDPI根據(jù)分辨率和屏幕尺寸為正常的120、160、240、320、480、640時)9:16的安卓機(jī)其尺寸為(360dp*540dp)。UI有時會根據(jù)iPhone機(jī)型使用750px*1334px作圖,而按照1dp=2px來算,其結(jié)果為(375dp*667dp)。這樣放置控件,寬度上會少15dp,高度上會少127dp,如果UI不做圖的話,可以根據(jù)美觀自行處理(通常不應(yīng)在整個頁面的padding上修改尺寸,這個尺寸應(yīng)該是一開始原型圖就規(guī)定好的全局樣式)。4、使用GsonFormat插件生成實(shí)體類時,整個實(shí)體類應(yīng)放在bean文件夾下。5、使用Butterknife注解布局時,可以使用AndroidButterknifeZelezny插件自動生成注解。6、需要提交多個模塊代碼時,按模塊多次提交(也方便填寫提交信息)。7、空頁面應(yīng)該有空頁面圖片提示。8、支付寶沙箱環(huán)境測試,需要在頁面啟動前添加這么一句代碼EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);9、將字符串轉(zhuǎn)換成Bitmap類型

10、在完成一個版本上線后,應(yīng)至少分成兩個分支,一個日常修復(fù)bug以及緊急上線,另一個用于正常功能開發(fā)。

11、如果一個接口不需要傳參,應(yīng)設(shè)計(jì)為傳一個空參(例如newObject()),而不是不傳參數(shù),這樣方便以后拓展接口。12、adapter中所有的變化的view或值,都應(yīng)該在viewholder中定義,并在onBinderView中賦值。13、預(yù)覽時選擇ProjectThemes,同時gradle中應(yīng)使用compile而不是implementation。

14、沉浸式狀態(tài)欄需要設(shè)置主題為為沉浸式狀態(tài)欄設(shè)置主題如果還需要使?fàn)顟B(tài)欄中的電量等都隱藏,需要在使用的activity代碼中設(shè)置15、進(jìn)行了某個操作想退出應(yīng)用回到桌面,可以使用這樣的技巧16、textview設(shè)置滾動,第一步現(xiàn)在XML中設(shè)置scrollbars屬性,第二步在代碼中設(shè)置17、setOffscreenPageLimit(0)沒有效果,最小是1,也就是最小左右各一預(yù)加載。18、調(diào)用webview的頁面應(yīng)及時銷毀,防止內(nèi)存泄漏(具體如下):19、WebView的一些相關(guān)設(shè)置20、scrollView設(shè)置android:fillViewport="true",使scrollview的子控件能夠充滿屏幕。

21、gradle編譯報(bào)錯Windows下需要打開AndroidStudio的Files——>Settings——>Build...——>Gradle,手動設(shè)置gradle位置。

22、將彈出的軟鍵盤的回車鍵改為搜索鍵其中android:imeOptions需要配合android:inputType屬性(或者singleLine屬性,PS:單獨(dú)設(shè)置maxLines并不能解決問題)才能使回車鍵變?yōu)樾枰膱D標(biāo)。

23、TableLayout中的tableRow中的子控件width設(shè)置match_parent(如果子控件的內(nèi)容小于寬度則不會撐滿整個寬度,大于寬度則會顯示在屏幕外),解決方法一:在tableLayout中設(shè)置android:stretchColumns="對應(yīng)列",解決方法二:部分情況下可以把該子控件的width設(shè)置為wrap_content。

24、注意dialog和popupWindow可能引起的windowleak。

25、這個內(nèi)存泄漏的問題找了好久,結(jié)果發(fā)現(xiàn)是因?yàn)殚_啟了AndroidProfiler的原因

就是勾選了這個的原因。26、在android5.1(API22)及以下的手機(jī)上出現(xiàn)了GridLayout不顯示的問題,使用V7包下的沒問題,可以使用支持包時應(yīng)優(yōu)先使用支持包?27、OKHttp優(yōu)點(diǎn):a、可以使用GZIP壓縮減少傳輸?shù)臄?shù)據(jù)量;b、可以緩存響應(yīng)避免重復(fù)的網(wǎng)絡(luò)請求;c、可以使用攔截器預(yù)處理請求與響應(yīng);d、可以嘗試服務(wù)器的多個IP地址。28、retrofit優(yōu)點(diǎn):可以使用注解的方式提供功能:請求方法注解、標(biāo)記類注解、參數(shù)類注解。29、RxJava優(yōu)點(diǎn):a、在與okhttp配合時異步寫法更簡便(不需要使用call.enqueue(callback)的形式);b、在與okhttp配合時請求和響應(yīng)可以放在合適的線程中處理(請求在Schedulers.io()這個無限線程池中處理,響應(yīng)發(fā)送到AndroidSchedulers.mainThread()主線程中處理);c、RxBus事件總線框架(面向事件過程編程,更好的解耦模塊)。30、靜態(tài)資源方法a、第三方能使用的資源有應(yīng)用程序資源、系統(tǒng)資源和廠商資源(是通過Native方法addAssetPathNative()方法添加的);b、查找資源ID對應(yīng)的不是文件會返回對應(yīng)的資源字符串;c、查找資源I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論