Android項目的目錄結構 Activity:應用被打開時顯示的界面 src:項目代碼 R.java:項目中所有資源文件的資源id Android.jar:Android的jar包,導入此包方可使用Android的api libs:導入第三方jar包 assets:存放資源文件,比方說mp3、視頻 ...
Android項目的目錄結構
- Activity:應用被打開時顯示的界面
- src:項目代碼
- R.java:項目中所有資源文件的資源id
- Android.jar:Android的jar包,導入此包方可使用Android的api
- libs:導入第三方jar包
- assets:存放資源文件,比方說mp3、視頻文件
- bin:存放編譯打包後的文件
- res:存放資源文件,存放在此文件夾下的所有資源文件都會生成資源id
- drawable:存放圖片資源
- layout:存放佈局文件,把佈局文件通過資源id指定給activity,界面就會顯示出該佈局文件定義的佈局
- menu:定義菜單的樣式
- Strings.xml:存放字元串資源,每個資源都會有一個資源id
Android的配置文件(清單文件)
指定應用的包名
package="com.itheima.helloworld"
- data/data/com.itheima.helloworld(上面代碼指定的包名)
- 應用生成的文件都會存放在此路徑下
- Android的四大組件在使用前全部需要在清單文件中配置
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);
添加許可權
<uses-permission android:name="android.permission.CALL_PHONE"/>
點擊事件的四種寫法
第一種
定義一個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中定義跟該屬性值同名的方法
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);
添加許可權
<uses-permission android:name="android.permission.SEND_SMS"/>
如果簡訊過長,需要拆分
List<String> smss = sm.divideMessage(content);