編輯:關於Android編程
一、綜合介紹。
Android項目的目錄結構
Activity:應用被打開時顯示的界面
src:項目代碼
R.java:項目中所有資源文件的資源id
Android.jar:Android的jar包,導入此包方可使用Android的api
libs:導入第三方jar包
assets:存放資源文件,比方說mp3、視頻文件
bin:存放編譯打包後的文件,apk可直接在手機裡安裝了。
res:存放資源文件,存放在此文件夾下的所有資源文件都會生成資源id
drawable:存放圖片資源
layout:存放布局文件,把布局文件通過資源id指定給activity,界面就會顯示出該布局文件定義的布局
menu:定義菜單的樣式
Strings.xml:存放字符串資源,每個資源都會有一個資源id
Android的配置文件(清單文件)
指定應用的包名
package="com.itheima.helloworld"
data/data/com.itheima.helloworld(上面代碼指定的包名)
應用生成的文件都會存放在此路徑下
Android的四大組件在使用前全部需要在清單文件中配置
的配置對整個應用生效
的配置對該activity生效
DDMS
Dalvik debug monitor service
Dalvik調試監控服務
常用的adb指令
Android debug bridge:安卓調試橋
adb start-server:啟動adb進程
adb kill-server:殺死adb進程
adb devices:查看當前與開發環境連接的設備,此命令也可以啟動adb進程
adb install XXX.apk:往模擬器安裝apk
adb uninstall 包名:刪除模擬器中的應用
adb shell:進入linux命令行
ps:查看運行進程
ls:查看當前目錄下的文件結構
netstat -ano:查看占用端口的進程
電話撥號器
功能:用戶輸入一個號碼,點擊撥打按鈕,啟動系統打電話的應用把號碼撥打出去
1. 定義布局
組件必須設置寬高,否則不能通過編譯
android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果要在java代碼中操作某個組件,則組件需要設置id,這樣才能在代碼中通過id拿到這個組件
android:id="@+id/et_phone"
2. 給按鈕設置點擊偵聽
給按鈕設置偵聽
//通過id拿到按鈕對象
Button bt_call = (Button) findViewById(R.id.bt_call);
//給按鈕設置點擊
bt_call.setOnClickListener(new MyListener());
3. 得到用戶輸入的號碼
//得到用戶輸入的號碼,先拿到輸入框組件
EditText et_phone = (EditText) findViewById(R.id.et_phone);
String phone = et_phone.getText().toString();
4. 把號碼打出去
Android系統中基於動作機制,來調用系統的應用,你告訴系統你想做什麼動作,系統就會把能做這個動作的應用給你,如果沒有這個應用,會拋異常
設置動作,通過意圖告知系統
//把號碼打出去
//先創建一個意圖對象
Intent intent = new Intent();
//設置動作,打電話
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phone));
//把意圖告訴系統,啟動活動
startActivity(intent);
添加權限
點擊事件的四種寫法
第一種
定義一個MyListener實現onClickListener接口
Button bt1 = (Button) findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());
第二種
定義一個匿名內部類實現onClickListener接口
Button bt2 = (Button) findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("第二種");
}
});
第三種
讓當前activity實現onClickListener接口
Button bt3 = (Button) findViewById(R.id.bt3);
bt3.setOnClickListener(this);
第四種(個人比較喜歡)
給Button節點設置onClick屬性,
android:onClick="click"
然後在activity中定義跟該屬性值同名的方法。這個方法必須有一個View參數
public void click(View v){
System.out.println("第四種");
}
短信發送器
功能:用戶輸入號碼和短信內容,點擊發送按鈕,調用短信api把短信發送給指定號碼
1. 定義布局
輸入框的提示
android:hint="請輸入號碼"
2. 完成點擊事件
先給Button組件設置onClick屬性
onClick="send"
在Activity中定義此方法
public void send(View v){}
3. 獲取到用戶輸入的號碼和內容
EditText et_phone = (EditText) findViewById(R.id.et_phone);
EditText et_content = (EditText) findViewById(R.id.et_content);
String phone = et_phone.getText().toString();
String content = et_content.getText().toString();
4. 調用發送短信的api
//調用發送短信的api
SmsManager sm = SmsManager.getDefault();
//發送短信
sm.sendTextMessage(phone, null, content, null, null);
添加權限
如果短信過長,需要拆分。拆分後以集合形式存儲起來。
List smss = sm.divideMessage(content);
二、核心總結。
Android項目目錄結構
src:項目的java代碼
gen
buildConfig:應用是否可以debug
R:保存項目中使用的資源的id
Android.jar:導入這個包,應用才可以使用Android的api
libs:存放第三方jar包
assets:資源文件夾,存放視頻或者音樂等較大的資源文件
bin:存放應用打包編譯後的文件
res:資源文件夾,在這個文件夾中的所有資源,都會有資源id,讀取時通過資源id就可以讀取
資源id不能出現中文
layout:布局文件夾,保存布局文件,Android中所有布局文件都是xml文件
menu:菜單配置文件夾,保存菜單的配置文件,決定菜單的樣式
values
strings:字符串資源文件,用來定義字符串資源的
dimens:長度資源文件,用來定義長度資源
style:樣式和主題資源文件
清單文件
package:應用在系統中的唯一識別
versionCode:應用的版本號
具有以下子節點的activity就是入口activity
安裝路徑
第三方應用保存路徑:data/app
系統應用保存路徑:system/app
data/data/包名文件夾:系統為每一個應用提供的一個專屬空間
DDMS
Dalvik debug monitor service
ADB
Android debug bridge 安卓調試橋。 * 建立eclipse和Android設備之間的連接
ADB指令
adb start-server:啟動adb進程
adb kill-server:殺死adb進程
adb install E:\yyh.apk
adb uninstall (應用包名).應用包名是某個項目的唯一標識
adb devices:列出與開發環境建立連接的android設備的列表
adb shell:進入Android命令行
Android的指令:
ls:羅列出當前目錄下的所有文件和文件夾,與ide中的file explorer是一樣的。
ps:羅列出當前系統運行的所有進程
netstat -ano:查看系統的端口占用情況
在Android之中呢,對於多線程的操作很是平凡,所以對於多線程的理解越深,那麼對於自己的程序便能夠很好的運行 這也是對於Android開發是一個重要的知識點,那麼我
Android提供了兩種事件處理的方式:基於回調的事件處理 和 基於監聽的事件處理。 我們來說的容易理解一點:(1)基於回調的事件處理就是繼承GUI組件,並重寫
在前面提到Android網絡收音機--使用Vitamio解碼(一)實現了播放流媒體文件,但只能播放一次,在這裡可以隨機點擊左邊的menu來播放,但Vitamio還是不是很
其實適配器模式在Android源碼中非常多,而從整體的源碼角度上來看Activity的結構就是一種適配器模式。從這個角度上面看Activity,對Activity和應用層