Android的快速入門(66期第一天)

葬天VS曉偉發表於2016-03-28

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的四大元件在使用前全部需要在清單檔案中配置

  • 的配置對整個應用生效
  • 的配置對該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. 定義佈局

  1. 元件必須設定寬高,否則不能通過編譯

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    
  2. 如果要在java程式碼中操作某個元件,則元件需要設定id,這樣才能在程式碼中通過id拿到這個元件

    android:id="@+id/et_phone"
    

2. 給按鈕設定點選偵聽

  1. 給按鈕設定偵聽

     //通過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. 把號碼打出去

  1. Android系統中基於動作機制,來呼叫系統的應用,你告訴系統你想做什麼動作,系統就會把能做這個動作的應用給你,如果沒有這個應用,會拋異常
  2. 設定動作,通過意圖告知系統

    //把號碼打出去
        //先建立一個意圖物件
        Intent intent = new Intent();
        //設定動作,打電話
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:" + phone));
        //把意圖告訴系統
        startActivity(intent);
    
  3. 新增許可權

    <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);

常用佈局

線性佈局

  • LinearLayout
  • 指定各個節點的排列方向

    android:orientation="horizontal"
    
  • 設定右對齊

    android:layout_gravity="right"
    
  • 當豎直佈局時,只能左右對齊和水平居中,頂部底部對齊豎直居中無效
  • 當水平佈局時,只能頂部底部對齊和豎直居中
  • 使用match_parent時注意不要把其他元件頂出去
  • 線性佈局非常重要的一個屬性:權重

    android:layout_weight="1"
    
  • 權重:按比例分配螢幕的剩餘寬度或者高度

相關文章