您好,登錄后才能下訂單哦!
移動(dòng)開發(fā)Android經(jīng)驗(yàn)分享應(yīng)用GoogleMaterial Design
摘要:前 段時(shí)間,Google公布了Android開發(fā)最佳實(shí)踐的一系列課程,涉及到一些平時(shí)開發(fā)過程中應(yīng)該保持的良好習(xí)慣以及如何使用最新的Android Design Support Library來快速實(shí)現(xiàn)官方推薦的Material Design樣式的應(yīng)用。
10月14日-16日,由CSDN和創(chuàng)新工場(chǎng)聯(lián)合主辦的MDCC 2015中國(guó)移動(dòng)開發(fā)者大會(huì)將在北京新云南皇冠假日酒店隆重召開,現(xiàn)在搶注大會(huì)門票,即享多重好禮!猛戳>>立即搶票。本文作者,平臺(tái)與技術(shù)Android專場(chǎng)演講嘉賓——騰訊Android工程師 胡凱熱愛開源與分享,維護(hù)Android官方培訓(xùn)課程協(xié)作項(xiàng)目,關(guān)注Android應(yīng)用的性能優(yōu)化的總結(jié)與分享,推崇Android官方最佳實(shí)踐。
前段時(shí)間,Google公布了 Android開發(fā)最佳實(shí)踐的一系列課程,涉及到一些平時(shí)開發(fā)過程中應(yīng)該保持的良好習(xí)慣以及如何使用最新的 Android Design Support Library來快速實(shí)現(xiàn)官方推薦的Material Design樣式的應(yīng)用。下面是個(gè)人的學(xué)習(xí)摘要總結(jié),不對(duì)的地方請(qǐng)多多交流指點(diǎn),謝謝!
類似打開相機(jī),發(fā)送圖片等隱式Intent,是并不一定能夠在所有的Android設(shè)備上都正常運(yùn)行。例如打開相機(jī)的隱式Intent,如果系統(tǒng)相 機(jī)應(yīng)用被關(guān)閉或者不存在相機(jī)應(yīng)用,又或者是相機(jī)應(yīng)用的某些權(quán)限被關(guān)閉等等情況都可能導(dǎo)致這個(gè)隱式的Intent無法正常工作。一旦發(fā)生隱式Intent找 不到合適的調(diào)用組件的情況,系統(tǒng)就會(huì)拋出ActivityNotFoundException的異常,如果我們的應(yīng)用沒有對(duì)這個(gè)異常做任何處理,那應(yīng)用就 會(huì)發(fā)生Crash。
預(yù)防這個(gè)問題的最佳解決方案是在發(fā)出這個(gè)隱式Intent之前調(diào)用resolveActivity做檢查,關(guān)于這個(gè)API的解釋以及用法如下:
然后這個(gè)API的使用范例如下:
[java] view plaincopy
Intent intent = new Intent(Intent.ACTION_XXX);
ComponentName componentName = intent.resolveActivity(getPackageManager());
if(componentName != null) {
String className = componentName.getClassName();
}
為了解決Android系統(tǒng)版本差異導(dǎo)致的Notification兼容性問題,Android官方提供了 NotificationCompat兼容類來幫助開發(fā)實(shí)現(xiàn)體驗(yàn)統(tǒng)一的Notification。通常來說,建立一個(gè)Notification至少會(huì)有三 種元素:圖標(biāo),標(biāo)題,文本。我們通常會(huì)使用如下的代碼來實(shí)現(xiàn)一個(gè)基礎(chǔ)的Notification功能:
上面那段代碼,運(yùn)行時(shí)候的效果應(yīng)該如下所示:
為了給上面的Notification添加點(diǎn)擊之后的響應(yīng)效果,我們還需要構(gòu)造一個(gè)PendingIntent作為contentIntent,例如:
[java] view plaincopy
PendingIntent intent = xxx;
builder.setContentIntent(intent);
為了使得Notification更加的具有辨識(shí)度,我們還有可能做如下的設(shè)置:
從Android 4.1開始,Notification可以支持展開顯示的模式,這樣一來,Notification就演變出了下面4種不同的風(fēng)格樣式:
Notification還提供了快捷操作的功能,如下圖所示:
除了顯示在手機(jī)上的Notification,我們還可以給Notification分別設(shè)置在Wearable,Auto上的不同表現(xiàn)行為,例如針對(duì)可穿戴設(shè)備上顯示Notification,我們可以如下的設(shè)置:
關(guān)于更多的Wearable上的Notification相關(guān)的知識(shí),還可以參考 Pages of Content與 Stackable Notifications。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。