小豬的Android入門之路 Day 2,androidday

來源:互聯網
上載者:User

小豬的Android入門之路 Day 2,androidday

小豬的Android入門之路 Day 2

Android介面開發初體驗




本節引言:

在上一節中我們對android的系統特性與平台架構進行了初步的瞭解;

學會了使用Eclipse或者Android studio搭建安卓的開發環境;熟悉了對應IDE開發流程;

以及對應的工程目錄;瞭解了一些相關的名詞,aapt,dx等;命令列常用的一些adb指令;

APP的打包,編譯,以及啟動並執行流程!在本節中我們將會對android介面的開發進行初體驗!

學習六大布局方式,對android四大組件進行初步的瞭解,以及App的生命週期,構建一個電話撥號器等!

廢話不多說!



本文:


本節學習路線圖:




學習路線解析:

①瞭解下android的四大組件和Intent分別是什麼,拿來做什麼的!在後續章節會詳細解析

②瞭解下app的生命週期:五個狀態

③深入解析HelloWorld的工程目錄

④熟悉六大布局方式

⑤熟悉三種提示方式:狀態列,對話方塊與Toast

⑥電話撥號器的完整實現

⑦9patch(9妹)的使用:製作可伸縮的圖片!




android四大組件與Intent初析:





應用程式(App)的生命週期:

注意:

與其他的智能手機作業系統不同:app的生命週期(存活時間)不是由進程自己控制的;

而是由android系統決定的;而影響的主要因素:該進程對於使用者的重要性,以及當前系統中所剩

可用記憶體空間;當可用記憶體不足時,系統會終止某些進程以便回收記憶體資源!


進程層級圖:




深入瞭解App的工程目錄:1.資源的引用:



2.工程目錄下的詳細代碼的解析:

三個重要檔案:傳送門



使用者介面開發初體驗:

在建立我們的介面前,我們先要瞭解一些東西:

1.view類:是所有可視化控制項的父類,提供組件描繪時間處理方法

2.viewGroup類:可以擁有子控制項,可以看作是容器

3.通常可見的android app都是由可視化控制項 + 布局組成的!控制項的屬性可以在

xml中靜態設定或者在Java代碼中動態設定


好了,接著就要開始建立我們電話撥號器的布局了:

這裡有兩種方式:①拖拉組件②自己寫代碼

筆者還是比較傾向於後者,因為拖拉產生的程式碼有一定的冗餘



代碼如下:

main.xml:

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/LinearLayout1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MyActivity"    >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/input_num" />    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/editnum"/>    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/btn_call"        android:id="@+id/btncall"/></LinearLayout>




代碼解析:

就是定義了一個LinearLayout(線性布局方式)並且把排列方向設定為豎直,即一行放置一個組件;

接著依次定義了TextView(文字標籤),EditText(輸入框),Button(按鈕),很簡單



Android的六大布局


LinearLayout:線性布局

連結:android---LinearLayout(線性布局)詳解


RelativeLayout:相對布局

連結:android---RelativeLayout(相對布局)詳解


FrameLayout:幀布局

連結:android---FrameLayout(幀布局)詳解


TableLayout:表格布局

連結:android---TableLayout(表格布局)詳解


AbsoluteLayout:絕對布局

連結:android---AbsoluteLayout(絕對布局)詳解


GridLayout:網格布局

連結:android---GridLayout(網格布局)詳解

 


布局使用總結:

普遍的用法是:使用LinearLayout的weight屬性 +RelativeLayout(相對布局)來進行布局,因為這樣可以

解決螢幕的自適應問題

所謂的自適應問題就是:比如你的一個介面,在一台手機上是置中的,但是換了一部手機後組件就亂套了,或者展開

變形等!當然其他布局也有必要進行學習!!!




三種提示方式:對話方塊: AlertDialog:

連結:對話方塊的父類(AlertDialog)


Toast(土司)和Notification(狀態列)

連結:  Toast和Notification


電話撥號器的完整實現:

 在前面main.xml布局的基礎上,在MainActivity中添加一些代碼後:


package example.jay.com.myfirstapplication;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MyActivity extends Activity {    private EditText editnum;    private Button btncall;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_my);        //①組件執行個體化        editnum = (EditText)findViewById(R.id.editnum);        btncall = (Button)findViewById(R.id.btncall);        //為撥打按鈕設定點擊事件:        btncall.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //獲得編輯框中的號碼值:                String mobile = editnum.getText().toString();                Intent it = new Intent();                //為意圖添加一個行為:撥打到電話,並且把電話號碼寫入it中                it.setAction("android.intent.action.CALL");                it.setData(Uri.parse("tel:"+mobile));                //啟動另一個Activity                startActivity(it);            }        });    }}


代碼解析:這裡我們為按鈕設定了一個點擊事件,當我們點擊按鈕後,擷取輸入框中的電話號碼通過意圖Intent,告訴系統,我要Call,Call誰,然後把電話號碼寫入Intent,啟動Intent,完成


運行:

需要我們另外啟動一個虛擬機器:


虛擬機器5556有電話撥入了!




九妹:9patch工具的使用:

製作可伸縮的專有圖片,.9.png圖片:

連結:製作部分展開的圖片素材





android 2天快速入門

mars老師的視頻。pan.baidu.com/...031689聽第一階段的前5,6個視頻,就可以自己做一個簡單的APP了。每個課程大概30分鐘左右。
 
最好的安卓入門書籍有什 (42的)

瘋狂Android講義(第二版)就是在4.2的版本上講解的
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.