郭霖著《第一行代碼》學(xué)習(xí)筆記
Android系統(tǒng)架構(gòu)
? 1.Linux內(nèi)核層
? ? ?Android系統(tǒng)是基于Linux 2.6內(nèi)核的,這一層為Android設(shè)備的各種硬件提供了底層的驅(qū)動(dòng),如顯示驅(qū)動(dòng)刑顺、音頻驅(qū)動(dòng)屎开、照相機(jī)驅(qū)動(dòng)伏尼、藍(lán)牙驅(qū)動(dòng)侵贵、Wi-Fi驅(qū)動(dòng)虹统、電源管理等沮焕。
? 2.系統(tǒng)內(nèi)核層
? ? 這一層通過一些C/C++庫來為Android系統(tǒng)提供了主要的特性支持吨岭。如SQLite庫提供了數(shù)據(jù)庫的支持,OpenGL|ES庫提供了3D繪圖的支持峦树,Webkit庫提供了瀏覽器內(nèi)核的支持等辣辫。同樣在這一層還有Android運(yùn)行時(shí)庫。
? 3.應(yīng)用框架層
? ? 這一層主要提供了構(gòu)建應(yīng)用程序時(shí)可能用到的各種API魁巩,Android自帶的一些核心應(yīng)用就是使用這些API完成的急灭,開發(fā)者也可以通過使用這些API來構(gòu)建自己的應(yīng)用程序。
? 4.應(yīng)用層
? ? 所有安裝在手機(jī)上的應(yīng)用程序都是屬于這一層谷遂。
Android四大組件
活動(dòng)葬馋、服務(wù)、廣播接收器、內(nèi)容提供器畴嘶。
res文件夾
? value 字符串蛋逾、drawable 圖片、 layout 布局窗悯、 menu 菜單文件
在string.xml中定義了hello world区匣!
可由兩種方式引用它,R.string.hello_world
在xml文件中通過@string/hello_world?
? ? ?string 可替換蒋院,若是圖片R.drawable.hello_word
Android 日志工具Log cat
Log.v()亏钩、Log.d()、 Log.i()欺旧、 Log.w()姑丑、 Log.e()
分別對(duì)應(yīng) verbose 、debug辞友、info栅哀、warn、error
使用 ? Log.d("Hello this is a tag!", "This is msg");
layout.xml
android:id = "@+id/button_1" 定義一個(gè)唯一標(biāo)識(shí)符
? ? ? ? ? ? ? ? ? ? ? ?@id/button_1 引用一個(gè)Id
添加Activity步驟
1.添加layout.xml
2.添加Activity.java
3.AndroidManifest 文件中注冊(cè)Activity活動(dòng)
隱藏標(biāo)題欄 requestWindowFeature(window.FEATRRE_NO_TITLE);
Toast用法
Toast.makeText(FirstActivity.this, "this is content"踏枣,Toast.LENGTH_SHORT).show();
Intent 意圖
不僅可以致命當(dāng)前組建想要執(zhí)行的動(dòng)作昌屉,還可以在不同的組件中傳遞數(shù)據(jù)。
? 用于茵瀑,啟動(dòng)活動(dòng)间驮,啟動(dòng)服務(wù),發(fā)送廣播場景马昨。
用法一竞帽,啟動(dòng)活動(dòng)窗體
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);Log.e("Sectivity", "start");
用法二,發(fā)送廣播場景
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
用法三鸿捧,傳遞數(shù)據(jù)
String data = "hello SecondActivity";
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data", data);
startActivity(intent);