AndroidStudio學習筆記-第一個安卓程式

來源:互聯網
上載者:User

標籤:

要帶一個本科生做一部分跟安卓有點關係的項目,於是趁著機會學習一下編寫安卓程式。

第一篇材料來自Google官方,傳送門:https://developer.android.com/training/basics/firstapp/index.html。由於官方常式寫的很清楚了,基本上只要按著步驟就好了,所以不打算完全的複製粘貼,主要實踐過程中我的一些理解和思考。

1. 建立新工程

一個安卓程式的階層為 Application -> many activities (可以理解為很多個介面) -> layout + title + menu

建立工程後AS會自動產生許多檔案,重要的檔案包括:

  1. app/src/main/res/layout/activity_my.xml 格式為XML的layout檔案。AS支援直接通過text來修改顯示介面,同時也提供了GUI,可以直接拖拽完成介面編輯。

  2. app/src/main/res/layout/content_my.xml 該檔案被activity_my.xml調用。對layout的具體描述以及一些設定等。

  3. app/src/main/java/com.mycompany.myfirstapp/MyActivity.java jave核心代碼,包括實際的activity的類及其類函數。當app運行時,該activity類運行並調用前述layout檔案顯示出來。

  4. app/src/main/AndroidManifest.xml app的基礎特性的配置及包括哪些組成部分(activity)

  5. app/build.gradle gradle指令碼用來編譯和構建app,方便處理版本及依賴庫等問題。

  6. app/src/main/res/ 改目錄下包括app中所用到的所有資源:

    drawable-<density>/ 包括所有圖片資源,除了啟動表徵圖

    layout 包括每個activity的layout檔案

    menu 包括activity的menu檔案

    mipmap 包括啟動表徵圖

    values 其他的xml檔案,包括string和color的定義等。

 

2. 運行程式

程式既可以在具體的安卓裝置上運行,也可以在模擬器上運行。

在具體的安卓裝置調試之前,需要安裝好裝置的相關驅動,編譯器的時候要選擇符合的版本號碼,不用怎麼麻煩就可以運行hello world了!

 

3. 建立簡單的使用者介面

安卓app的圖形介面的階層為 ViewGroup -> View. ViewGroup是不可見的容器,定義了其子view如何布局,布局是ViewGroup的子類。View對象是普通的UI組件。

  1. 建立一個linear layout

  2. 增加Text域和button

<EditText android:id="@+id/edit_message"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:hint="@string/edit_message" />

    View的ID用來讀取和操作對應的View對象

    View的hint為輸入Text為空白的時候的提示句

  3. 增加String資源

    在res/values/strings.xml中增加名為edit_message和button_send的string

  4. 讓輸入框充滿螢幕 

 

給UI組件增加響應函數  

<Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/button_send"    android:onClick="sendMessage" />

增加onClick響應,sendMessage為該activity的類函數

在MyActivity.javaMyActivity類中增加對應類函數,該類函數需要是Public的,Void的傳回值以及只有View一個參數

在類函數中建立一個Intent用來開啟新的activity

public void sendMessage(View view) {  Intent intent = new Intent(this, DisplayMessageActivity.class);  EditText editText = (EditText) findViewById(R.id.edit_message);  String message = editText.getText().toString();  intent.putExtra(EXTRA_MESSAGE, message);
 startActivity(intent);}

  intent能夠攜帶類型為字典的變數extras,通過調用putExtra能夠給字典賦值

在MyActivity中補充定義Extra_MESSAGE

public class MyActivity extends AppCompatActivity {    public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";    ...}

 

4.建立另外一個Activity

  使用 AS建立另外一個blank Activity,編輯其java核心代碼

  接收intent

    Intent intent = getIntent();

    String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

  在Activity中建立新的textView    

    TextView textView = new TextView(this);

    textView.setTextSize(40);

    textView.setText(message);

  在Activity中在布局中添加textView

    RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);

    layout.addView(textView);

 

恭喜,完成基本的教程!

 

AndroidStudio學習筆記-第一個安卓程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.