1 handler message loop messageQueue
處理
2 fragment 生命周期
3 ContentProvider
4 WebView
5 BroadCastreciver 廣播
6 通訊錄 的 獲取 ContentProvider ContentReciver
獲取用戶的頭像,手機號碼 等。
7 ListVIew 圖片的錯位
思考一下:
getView() 看一下源碼
8 ListView 優化:
convertview view 的重用
9 service 服務
幾種方式:
第一種
startService()
第二種
bindService()
10 AsyncTask() 異步任務
常用的方法
doinBackground() 處理子線程
onUpdateExcute( )
onPostExcute( )
例如:
private class DownloadFilesTask extends AsyncTask
{
protected Long doInBackground(URL... urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
publishProgress((int) ((i / (float) count) * 100));
// Escape early if cancel() is called
if (isCancelled()) break;
}
return totalSize;
}
protected void onProgressUpdate(Integer... progress) {
setProgressPercent(progress[0]);
}
protected void onPostExecute(Long result) {
showDialog("Downloaded " + result + " bytes");
}
}
11 Volley
12 XUtils
13 HttpClient
get Post
14 Json 解析方式
有哪幾種:
org.json
gson
fastJson
15 XML 解析方式
Dom Tree
SAX
Pull
16 Intent 幾種方式
17 Activity 生命周期
18 ShareReferrence
19 Base64 是什麼?
用於傳輸,把文件變成字符串,接受到相關的字符串後,可以轉換成相應的文件;
20 加密的方式:
加密方式:
1.apk混碼,apk簽名打包
2.加權限
21 serizaable 可序列化
為了便於對象的傳輸,這個是Java裡面的
Android引入了Priczabble
22 XMPP
23 自定義View
柱狀圖
餅狀圖
24 JPush 推送
25 判斷網絡連接
ConnectivityManager 獲取它的類型,從而確定他是否連接了網絡
26 音頻
27 視頻
28 VIewPager
滑動的ViewGroup
29 圖片的緩存
1.首先在軟引用,如果存在的話,不存在從SD卡中獲取圖片,還不存在的話從網絡下載;
軟引用:不到資源吃緊,系統不會回收相關的資源;
30 Viewpager 和 horzitalScrollView
31 layout_grivity 當前子空間相對於父控件的位置
grivity 自己內部的內容
32 layout_weight 權重
平分 剩余的控件。
33 sql 數據庫
支持類型:
34 事件分發機制
View ondisPathTouchenvent();
onInnerTouch();
onTouchEvent();
35 國際原理
36 國際化原理
手機啟動的時候,檢測手機的語言,
回去加載en 結尾的xml文件。 如果沒有的話,
會自動加載默認的xml文件。
37 百度地圖
38 Java 的國際化?
local 本地化
屬性文件
1.既然你做過音頻,那音頻流與安卓的交互
2.視頻畫面和音頻的同步
3.ListView的下拉上拉 頭部底部的顯示效果 onlayout的參數意義 適配器getView的參數意義 包括刷新的機制 View的刷新機制 View的刷新方法區別(invalidate,postInvalidate) ListView的分頁思路
View:刷新方法,inValidate,postInvalidate(在線程中調用,會刷新UI)
4.既然單例裡有個靜態實例對象,為毛不直接用靜態類? 靜態變量是在內存常駐的麼?GC會不會銷毀? 多線程訪問單例的安全問題。
靜態類:不需要new 一個對象,裡面的屬性和方法都是靜態的
非靜態類:需要New一個對象,裡面的屬性和方法不一定都是靜態類;
是常駐的,Gc不會銷毀他,多線程訪問單例模式,記得對獲取該實例的方法進行同步;
5.四大組件 誰在主線程中。 intentService在實際項目中的運用,為何要用。
intentService:用於異步線程中,可以用於下載,會自動停止服務
四大組件都是在主線程中,IntenService作用
6.廣播引出的觀察者模式,以及android SDK裡所了解到的設計模式
7.自定義View 你會用到哪幾個函數 比如自定義listView 在哪些函數裡做操作來完成你想要的展示效果
構造方法肯定會有的,可以在裡面加載完你要的listview之後,實例你的listView,通過修改該ListView的適配器來修改顯示效果;
8.橫豎屏切換另外一種保存數據的方法 除了onSaveInstanceState
方法1:數據庫和SharePrefenrce;
9.SDK裡的設計模式涉及
10.runOnUiThread 和view的postDelayed 函數說明
runOnUiThread轉換成主線程,postDelayed就是到了什麼時間去更新UI,實質都是handler實現的;
11.線性布局 假設是水平 有3個按鈕 如何讓他們在兩邊排列 中間為空,還有gravity屬性在什麼情況下會失效
12.怎麼在代碼裡為相對布局的控件設置margin
android:layout_marginLeft = "20dp"
13.圖片的異步加載思路,
1.發送HTtp請求,下載圖片,下載完成後,通過Handler通知UI,更新圖片;
14.調用垃圾回收後 會把無用對象及時回收掉麼?
15.V4包裡常用到的類,以及干嘛用
16.Fragment的使用以及生命周期
onCreate onCreateView onPause onStop onDestroyView onDestroy
17.dialogfragment的使用
18.include進來的layout 直接寫margin是否會生效,以及為什麼
19.looper是個什麼東西
負責按順序取消息從MessageQueue中;
20.閱讀過哪些開源項目或者SDK裡某些類的代碼