版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),采用了軟件堆棧的架構(gòu),共分為4層:第一層是Linux內(nèi)核,提供由操作系統(tǒng)內(nèi)核管理的底層基礎(chǔ)功能;第二層是中間件層,由函數(shù)庫和Android運行時構(gòu)成;第三層是應(yīng)用程序框架層,提供了Android平臺基本的管理功能和組件重用機制;第四層是應(yīng)用程序?qū)?,提供了一系列核心?yīng)用程序。2、Dalvik虛擬機基于寄存器的Java虛擬機,每個應(yīng)用程序在一個獨立的Dalvik虛擬機上運行4、Android兩種開發(fā)環(huán)境:JDK + Eclipse + ADT + Android SDK JDK + Android Studio + Android SDK5、
2、14:Min SDK Version最低SDK版本22:Target SDK Version目標(biāo)SDK版本22:Compile SDK Version編譯的SDK版本6、adb:Android Debug Bridge,連接PC與Android設(shè)備的橋梁adb connect :6555查看設(shè)備:adb devices安裝軟件:adb install <apk文件路徑>卸載軟件:命令1:adb uninstall <軟件名>命令2:adb uninstall -k <軟件名>登錄設(shè)備shell:命令1:adb shell命令2:adb sh
3、ell <command命令>從計算機上發(fā)送文件到目標(biāo)機:adb push <本地路徑> <遠程路徑>從目標(biāo)機上下載文件到計算機:adb pull <遠程路徑> <本地路徑>顯示幫助信息:adb help7、Android項目目錄:(代碼與資源分開)src 源代碼目錄gen 目錄(,不能手動修改,R.java作用:)res 資源目錄(/res/layout/目錄:界面布局文件,xml;/res/raw不參加編譯的資源,不能生成對應(yīng)文件)AndroidManifest.xml 清單文件(聲明應(yīng)用程序?qū)傩孕畔?,聲明組件,聲明權(quán)限,唯一一個
4、組件BroadcastReceiver不需在AndroidManifest中注冊)8、四大組件:Activity,Service,BroadcastReceiver,ContentProvider,前3個組件的組件之間的通信由Intent實現(xiàn),另一app需通過ContentResolver來與ContentProvider通信。Activity是app的表示層,作用:與用戶交互,顯示信息;Service用于無用戶界面,但需長時間在后臺運行的應(yīng)用;BroadcastReceiver監(jiān)聽系統(tǒng)廣播、其它應(yīng)用程序廣播、其它組件廣播,并響應(yīng)廣播消息;ContentProvider用于進程間共享數(shù)據(jù)。9、
5、聲明權(quán)限以訪問其他功能:<uses-permission>10、setContentView(UI控件),所有UI控件都繼承自View類,View類有一個非常重要的子類:ViewGroup(容器)ViewGroup(容器)界面布局 AdapterView(與Adapter配套使用,Adapter提供控件和資源) ArrayAdapter只能處理列表項內(nèi)容全是文本的情況Adapter子類 SimpleAdapter不僅可以處理列表項全是文本的情況,當(dāng)列表項中還有其他控件時,同樣可以處理setAdapter具體UI控件有哪些:TextView、EditText、Button、Image
6、Button、CheckBox、RadioButton、Spinner、ListView和TableHost。界面布局屬性取值:線性布局-LinearLayout:android:layout_widthandroid:layout_heightandroid:orientation表格布局-TableLayout:android: collapseColumns android: shrinkColumns android: stretchColumns 相對布局-RelativeLayout: android:layout_centerHrizontalandroid:layout_cen
7、terVerticalandroid:layout_centerInparentandroid:layout_alignParentBottomandroid:layout_alignParentLeftandroid:layout_alignParentRightandroid:layout_alignParentTopandroid:layout_alignWithParentIfMissingandroid:layout_belowandroid:layout_aboveandroid:layout_toLeftOfandroid:layout_toRightOfandroid:layo
8、ut_alignTopandroid:layout_alignLeftandroid:layout_alignBottomandroid:layout_alignRightandroid:layout_marginBottomandroid:layout_marginLeftandroid:layout_marginRightandroid:layout_marginTop幀布局-FrameLayout網(wǎng)格布局-GridLayout: android:columnCount和android:rowCountandroid:layout_rowSpan android:layout_column
9、Span 絕對布局-AbsoluteLayout11、不同設(shè)備顯示兼容性尺寸單位:dp;文字大小單位:spPatch9圖片:控件拉伸變形12、事件處理:監(jiān)聽器、onClick()Activity的啟動:直接啟動 :startActivity(Intent intent)帶返回值啟動:startActivityForResult(Intent intent, int requestCode)Activity的停止:finish ():結(jié)束當(dāng)前ActivityfinishActivity(int requestCode):結(jié)束以startActivityForResult(Intent inten
10、t, int requestCode)啟動的Activity啟動的代碼(實驗3):Intent intent = new Intent(MainActivity.this, SecActivity.class);startActivity(intent);Intent附加數(shù)據(jù)方法:intent.putExtra()和Bundle(1)Intent intent = new Intent(LoginActivity.this, MainActivity.class);intent.putExtra("string_key", "string_value")
11、;startActivity(intent);在MainActivity接收數(shù)據(jù):Intent intent=getIntent(); String keyvalue=intent.getStringExtra("string_key");(2)Bundle bundle =new Bundle();bundle.putString("string_key", "string_value"); intent.putExtra("key", bundle);startActivity(intent);在MainAct
12、ivity接收數(shù)據(jù):Intent intent =getIntent();Bundle bundle =intent.getBundleExtra("key"); String keyvalue=bundle.getString("string_key");7個生命周期方法:onCreate()、onStart()、onRestart()、onResume()、onPause()、onStop()、onDestroy()生命周期狀態(tài)圖:Activity4種狀態(tài):運行狀態(tài):Activity位于前臺,用戶可見,獲得焦點暫停狀態(tài): Activity可見,但被其
13、它Activity覆蓋,沒有獲得焦點停止?fàn)顟B(tài):不可見,失去焦點銷毀狀態(tài):Activity結(jié)束,或所在進程被結(jié)束Activity有4種啟動模式,分別為standard、singleTop、singleTask和singleInstance13、Handler、Looper、MessageQueue工作原理Looper:每個線程只有一個Looper,負責(zé)管理MessageQueue,不斷從MessageQueue中取出消息,并將消息分發(fā)給對應(yīng)的Handler處理MessageQueue:消息管理,由Looper負責(zé)管理Handler:把消息發(fā)送給Looper管理的MessageQueue,并負責(zé)處
14、理Looper分給它的消息 Looper Handler MessageQueue14、區(qū)別:顯式Intent(指定啟動名稱): 明確指出目標(biāo)組件名稱的Intent 告訴Android系統(tǒng),我要“找誰”,Android平臺將目標(biāo)組件啟動起來 常用于APP內(nèi)部組件間啟動隱式Intent(滿足條件): 不指名目標(biāo)組件名稱的Intent 告訴Android系統(tǒng),我要“干什么”,Android平臺將Intent請求與IntentFilter過濾器做比較,找出匹配Intent請求的組件,將其啟動起來 常用于不同APP之間傳遞消息16、Intent七大屬性 Component:明確指定目標(biāo)組件名稱 顯式I
15、ntent Action:動作 Category:類別 隱式Intent Data:向Action屬性提供操作的數(shù)據(jù) Type:指定Data屬性指定Uri對應(yīng)的MIME類型 Extra:攜帶數(shù)據(jù) Flag:控制旗標(biāo)IntentFilter過濾器:一個隱式Intent與IntentFilter比較時,必須通過Action、Category和Data三個方面的檢查,任一個不匹配,都不能啟動該組件如果一個組件沒有定義<intent-filter>,只能響應(yīng)顯式Intent請求 Intent添加Action只能一條(setAction) Intent-Filter可以多條(addActio
16、n)17、數(shù)據(jù)存儲3種方式:簡單存儲、文件存儲、數(shù)據(jù)庫存儲少量數(shù)據(jù)需要保存,用文件即可 SharedPreferences File存儲在SD卡大量數(shù)據(jù)需要存儲 SQLite數(shù)據(jù)庫SharedPreferences核心代碼步驟:獲取SharedPreferences:getSharedPreferences(String name, int mode) name: 文件名稱 mode: 打開方式 MODE_PRIVATE:該數(shù)據(jù)只能被本應(yīng)用程序讀寫保存SharedPreferences:獲取Editor對象,通過SharedPreferences對象的edit()方法調(diào)用Editor對象的pu
17、tXXX()方法把數(shù)據(jù)以鍵值對的形式存放到SharedPreferences對象中調(diào)用Editor對象的commit()方法來把數(shù)據(jù)保存到XML文件中editor=preference.edit();editor.putString(“volume”,”off”);mit();讀取SharedPreferences:getXXX(String Key, XXX defaultValue) Key:鍵 defaultValue:如果Key不存在,則返回設(shè)置的默認值“defaultValue”String volume=preference.getString(“volume”);文件存儲:內(nèi)部存
18、儲:系統(tǒng)絕對路徑”/data/data/<應(yīng)用程序報名>/files/”外部存儲:SD卡路徑”/sdcard”SQLite數(shù)據(jù)庫6個函數(shù):execSQL()、rawQuery()、insert()、delete()、update()、query()18、ContentProvider作用:應(yīng)用程序間共享數(shù)據(jù)一個應(yīng)用程序需要把自己的數(shù)據(jù)暴露給其它app,則該應(yīng)用程序提供ContentProvider來實現(xiàn),另外的應(yīng)用程序可通過ContentResolver來操作暴露出來的數(shù)據(jù)配置注冊ContentProvider:<provider android:name="MyC
19、ontentProvider" android:authorities="vider.student" android:exported="true" />域名:authorities19、Service的6個回調(diào)函數(shù):onCreate()、onStartCommand()、onDestroy()、onBind()、onUnbind()、onRebind()startService()、bindService()方式啟動的Service,同一類的Service只存在一個對象。 Service與Activity的區(qū)別
20、:(1)Service一直在后臺運行,沒有用戶界面,絕不會到前臺來;(2)Activity在前臺運行,有用戶界面,負責(zé)與用戶交互。所有創(chuàng)建Service 必須實現(xiàn)onBind(Intent intent)回調(diào)方法Service兩種啟動方式:startService()和bindService(),Intent必須顯示啟動Service。startService() 對應(yīng)的停止方式stopService(),bindService() 對應(yīng)的停止方式unBindService()。Service生命周期:20、 發(fā)送廣播有3種方式:sendBroadcast()、sendOrderedBroad
21、cast()、sendStickyBroadcast()。BroadcastReceiver兩種注冊方式:靜態(tài)注冊、動態(tài)注冊。靜態(tài)注冊在中注冊,動態(tài)注冊在代碼中注冊,取消注冊該廣播接收器調(diào)用Context的unregisterReceiver(BroadcastReceiver receiver)。21、Android支持的4種網(wǎng)絡(luò)編程API: 基于TCP的網(wǎng)絡(luò)通信 ServerSocket, Socket 基于UDP的網(wǎng)絡(luò)通信 DatagramSocket, Datagrampacket, MulticastSocket 使用URL訪問網(wǎng)絡(luò) URLConnection 基于HTTP的網(wǎng)絡(luò)通信
22、 HttpURLConnection, HttpClient (Apache)Android中建立網(wǎng)絡(luò)連接、讀取網(wǎng)路數(shù)據(jù)不能在UI線程中。HttpURLConnection 連接代碼(GET請求):HttpURLConnectionconn = (HttpURLConnection) realurl.openConnection();conn.setRequestMethod(“GET”); HttpURLConnection 斷開代碼:realurl.disconnect()兩種數(shù)據(jù)解析方式:XML和JSON22、定位方式GPS與網(wǎng)絡(luò)定位優(yōu)缺點比較GPS定位 利用手機里的GPS芯片通過衛(wèi)星獲得自己的位置信息 GPS在室
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1998年度注冊會計師考試試題及答案
- 海南省三亞市2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(無答案)
- 2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(含答案)
- 7天連鎖酒店集團工程施工合同
- 2025年度國家級礦產(chǎn)資源開發(fā)與利用采礦合同范本3篇
- 2024環(huán)保產(chǎn)業(yè)展會合作合同書版B版
- 2024年肉類市場購銷合同
- 2025便利店會員積分體系合作協(xié)議3篇
- 2024青年志愿者社會公益項目合作協(xié)議2篇
- 2024股權(quán)變更與投資協(xié)議
- 制造車間用洗地機安全操作規(guī)程
- 陜西2020-2024年中考英語五年真題匯編學(xué)生版-專題09 閱讀七選五
- 多源數(shù)據(jù)融合平臺建設(shè)方案
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 浙江省寧波市鄞州區(qū)2024年七年級上學(xué)期期末數(shù)學(xué)試題【含答案】
- 浙江省杭州市錢塘區(qū)2023-2024學(xué)年四年級上學(xué)期語文期末試卷
- 《聞泰科技并購安世半導(dǎo)體的風(fēng)險應(yīng)對案例探析》8200字(論文)
- 肝斷面引流管護理
- 醫(yī)療器械銷售合同模板
- GB/T 44713-2024節(jié)地生態(tài)安葬服務(wù)指南
- 2024年形勢與政策 第一講《讀懂中國式現(xiàn)代化》
評論
0/150
提交評論