Android中的Serializable、Parcelable">Android中的Serializable、Parcelable
739
2025-04-03
視頻課:https://edu.csdn.net/course/play/7621
一:四大核心組件
Activity(活動(dòng))
是Android應(yīng)用中負(fù)責(zé)與用戶交互的組件
Service(服務(wù))
Service通常位于后臺(tái)運(yùn)行,它一般不需要與用戶交互,因此Service組件沒有圖形用戶界面
BroadcastReceiver(廣播接收器)
用于接收系統(tǒng)中其它組件發(fā)送的廣播
ContentProvider(內(nèi)容提供者)
多個(gè)應(yīng)用程序之間進(jìn)行實(shí)時(shí)的數(shù)據(jù)交換的前提
二:工程目錄結(jié)構(gòu)
Android按照用途將不同的內(nèi)容分別存放在不同的目錄中
src文件夾
存放開發(fā)者編寫的源代碼
存放導(dǎo)入的第三方的源代碼
gen文件夾
存放系統(tǒng)自動(dòng)生成的代碼
assets文件夾
存放程序中使用的nonmedia文件
bin文件夾
存放編譯生成的文件和打包文件
libs文件夾
存放第三方的jar包
res文件夾
存放布局文件、資源文件等
AndroidManifest.xml
配置文件
res文件夾主要用于存放各種資源
drawable相關(guān)文件下存放各種圖片文件。
layout下存放圖形用戶界面的布局文件。
menu下存放菜單的布局文件。
values下存放各種數(shù)據(jù)資源,如字符串資源。
AndroidManifest.xml文件
定義了應(yīng)用程序的基本信息
定義了應(yīng)用程序包。
定義應(yīng)用程序組件。
確定默認(rèn)Activity。
確定API使用權(quán)限。
定義最小API級(jí)別。
指定引用程序庫。
R.java文件
java源代碼中可是引用資源????????????????? Button btnLogin= (Button)findViewById(R.id.btnLogin);
XML文件中也可以引用資源???????????????? @drawable/ic_launcher????????????????? @string/app_name
assets下存放nonmedia文件
不會(huì)被編譯成二進(jìn)制,原樣保存在apk包中。
不會(huì)被映射到R類中,需要使用AssetManager類進(jìn)行訪問。
可以創(chuàng)建子目錄。
Activity是一個(gè)應(yīng)用程序組件:
包含了一個(gè)可以和用戶交互的顯示界面
比如:拍照、發(fā)郵件、瀏覽地圖等
每個(gè)Activity都有一個(gè)窗口
這個(gè)窗口通常是充滿屏幕的
也可以比屏幕小而浮于其他窗口之上
一個(gè)Android應(yīng)用程序可以包含一個(gè)或多個(gè)Activity
這些Activity之間是相對(duì)獨(dú)立的
當(dāng)一個(gè)Activity啟動(dòng)時(shí),之前的那個(gè)Activity就停止了
為這個(gè)Activity設(shè)計(jì)一個(gè)界面布局
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> android:layout_width="match_parent" android:layout_height="wrap_content" android:text="我是文本控件" />
需要?jiǎng)?chuàng)建一個(gè)Activity類的子類
必須實(shí)現(xiàn)onCreate()方法
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Intent是在組件之間傳遞的消息
可以在同一個(gè)應(yīng)用程序或者不同應(yīng)用程序之間傳遞
這個(gè)消息是一個(gè)Intent類的對(duì)象,包含一組信息
Action——要執(zhí)行的或者已發(fā)生的動(dòng)作
ACTION_CALL(字符串常量)
ACTION_MAIN (字符串常量)
ACTION_SCREEN_ON (字符串常量)
Category——指明應(yīng)該處理當(dāng)前intent的組件種類
CATEGORY_HOME (字符串常量)
CATEGORY_LAUNCHER (字符串常量)
Intent過濾器用于指定組件“愿意”接收的Intent
可以包含Intent中包含的信息所對(duì)應(yīng)的過濾條件
Action
Category
在配置Activity時(shí)通常通過Intent過濾器來給定Activity的執(zhí)行條件
在AndroidManifest.xml文件中配置Activity
Android應(yīng)用的構(gòu)建過程如下:
Android應(yīng)用的構(gòu)建過程如下:
1、使用aapt工具生成R.java文件
2、使用javac工具將.java文件編譯成.class文件
4、使用dx.bat批處理將眾多.class文件轉(zhuǎn)換成一個(gè).dex文件
5、使用aapt工具打包資源文件(包括res、assets、AndroidManifest.xml等)
6、生成apk安裝文件
SDK目錄結(jié)構(gòu)如下:
add-ons這里面保存著附加庫
docs這里面是Android SDK API參考文檔
platforms是每個(gè)平臺(tái)的SDK真正的文件
tools目錄里面包含了重要的編譯工具
platform-tools保存著一些通用工具,比如adb、和aapt、aidl、dx等文件
samples是Android SDK自帶的默認(rèn)示例工程
tools作為SDK根目錄下的tools文件夾,這里包含了重要的工具
SDK常用包如下:
android.os 提供基本的操作服務(wù),消息傳遞和進(jìn)程間通信IPC。
android.graphics 作為圖形渲染包,提供圖形渲染功能。
android.database 包含底層API處理數(shù)據(jù)庫,方便操作數(shù)據(jù)庫表和數(shù)據(jù)。
android.content 提供各種服務(wù)訪問數(shù)據(jù)在手機(jī)設(shè)備上,程序安裝到手機(jī)設(shè)備和其他相關(guān)資源,以及內(nèi)容提供展示動(dòng)態(tài)數(shù)據(jù)。
android.view ?核心用戶界面框架。
android.widget 提供標(biāo)準(zhǔn)用戶界面元素,List(列表),Buttons(按鈕),Layout manager(布局管理器)等,是組成我們界面的基本元素。
android.app 提供高層應(yīng)用程序模型,實(shí)現(xiàn)使用Activity。
android.provider 提供方便調(diào)用系統(tǒng)提供的content providers的接口。
android.webikit 包含以系列工作在基于Web內(nèi)容的API。
DDMS 的全稱是Dalvik Debug Monitor Service
為測(cè)試設(shè)備截屏
查看特定進(jìn)程的線程及堆信息
Logcat窗口
廣播狀態(tài)信息
模擬電話呼叫
收發(fā)SMS短信
虛擬地理坐標(biāo)
Emulator Control可以用于模擬控制
模擬撥打和接聽電話
模擬短信息收發(fā)
模擬地理坐標(biāo)位置
Logcat窗體簡介
Logcat窗體提供了應(yīng)用運(yùn)行中的日志輸出與查詢過濾
可以輸出設(shè)備的所有輸出信息
如果是真機(jī),需要打開bebug模式
支持日志級(jí)別
支持過濾查詢
Android 中的日志工具類是Log( android.util.Log),這個(gè)類中提供了如下幾個(gè)方法來供我們打印日志
Log.v()
打印那些最為瑣碎的,意義最小的日志信息
Log.d()
打印一些調(diào)試信息
Log.i()
用于打印一些比較重要的數(shù)據(jù)
Log.w()
用于打印一些警告信息
Log.e()
用于打印程序中的錯(cuò)誤信息
設(shè)置過濾器
Android Java
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。