1. Intent的幾種有關Activity啟動的方式有哪些,你了解每個含義嗎?
這里Android123提示大家,Intent的一些標記有FLAG_ACTIVITY_BROUGHT_TO_FRONT 、FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK 等。每種含義大家看SDK文檔和具體跑下這樣你的記憶會更深刻些。
2. Activity和Task的啟動模式有哪些? 每種含義是什么?
有關在AndroidManifest.xml中的android:launchMode定義,主要有standard、singleTop、singleTask和singleInstance,同時對于android:taskAffinity這些問題大家也要了解,Android開發網在以前的文章中講過,不過很多開發者仍然不是很清楚,這些基礎問題我們以后仍然會再次總結。
關于Activity的啟動模式,參考: http://blog.csdn.net/feng88724/archive/2011/05/11/6412638.aspx
3. 通過Intent傳遞一些二進制數據的方法有哪些?
1). 使用Serializable接口實現序列化,這是Java常用的方法。
2). 實現Parcelable接口,這里Android的部分類比如Bitmap類就已經實現了,同時Parcelable在Android AIDL中交換數據也很常見的。
4. 能說下Android應用的入口點嗎?
真正的Android入口點是application的main,你可以看下androidmanifest.xml的包含關系就清楚了。 可以沒有Activity但是必須有Application
5. Android都有哪些XML解析器,都熟練掌握嗎?
這里XmlPull、SAX和DOM相信做過Web開發的都已經滾瓜爛熟了。
SQLite作為輕量級的數據庫,比MySQL還小,但支持SQL語句查詢,提高性能可以考慮通過原始經過優化的SQL查詢語句方式處理。
7. Android Service和Binder、AIDL你都熟練嗎?
作為Android重要的后臺服務,這些每個Android開發者都應該掌握,這也算是和Java SE最大的不同了,具體的實例大家可以查看Android音樂播放器的源代碼Music.git中的,這里不再贅述。
1. 請描述下Activity的生命周期。
創建 oncreate - 啟動onstart – 恢復 onResume – 暫停 onPause – 結束 onEnd – 銷毀onDestroy
2. 如果后臺的Activity由于某原因被系統回收了,如何在被系統回收之前保存當前狀態?
在”暫停 onPause” 狀態將數據保存。
3. 如何將一個Activity設置成窗口的樣式。
設置Theme。
4. 如何退出Activity?如何安全退出已調用多個Activity的Application?
5. 請介紹下Android中常用的五種布局。
6. 請介紹下Android的數據存儲方式。
7. 請介紹下ContentProvider是如何實現數據共享的。
8. 如何啟用Service,如何停用Service。
9. 注冊廣播有幾種方式,這些方式有何優缺點?請談談Android引入廣播機制的用意。
10. 請解釋下在單線程模型中Message、Handler、Message Queue、Looper之間的關系。
11. AIDL的全稱是什么?如何工作?能處理哪些類型的數據?
12. 請解釋下Android程序運行時權限與文件系統權限的區別。(Edited by Sodino)
13. 系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請說明原由。
14. 有一個一維整型數組int[]data保存的是一張寬為width,高為height的圖片像素值信息。請寫一個算法,將該圖片所有的白色不透明(0xffffffff)像素點的透明度調整為50%。
原文轉自:http://www.anti-gravitydesign.com