android 5.0之二 第一個程式

來源:互聯網
上載者:User

標籤:

一:四大核心組件

Activity(活動)
     是Android應用中負責與使用者互動的組件
Service(服務)
     Service通常位於後台運行,它一般不需要與使用者互動,因此Service組件沒有圖形化使用者介面
BroadcastReceiver(廣播接收器)
     用於接收系統中其它組件發送的廣播
ContentProvider(內容提供者)
     多個應用程式之間進行即時的資料交換的前提

二:工程目錄結構

Android按照用途將不同的內容分別存放在不同的目錄中

src檔案夾
存放開發人員編寫的原始碼
存放匯入的第三方的原始碼

gen檔案夾

存放系統自動產生的程式碼

assets檔案夾

存放程式中使用的nonmedia檔案

bin檔案夾

存放編譯產生的檔案和打包檔案

libs檔案夾

存放第三方的jar包

res檔案夾

存放布局檔案、資源檔等

AndroidManifest.xml

設定檔


res檔案夾主要用於存放各種資源

drawable相關檔案下存放各種圖片檔案。
layout下存放圖形化使用者介面的布局檔案。
menu下存放菜單的布局檔案。
values下存放各種資料資源,如字串資源。

         AndroidManifest.xml檔案
                定義了應用程式的基本資料
               定義了應用程式套件組合。
              定義應用程式組件。
             確定預設Activity。
             確定API使用許可權。
            定義最小API層級。
           指定引用程式庫。

           R.java檔案


 每一種資源在R類中存在一個唯一的ID
R類存在與gen目錄中。
一般情況下不需要修改這個類(自動產生) 。

java原始碼中可是引用資源                  Button btnLogin= (Button)findViewById(R.id.btnLogin);

XML檔案中也可以引用資源                 @drawable/ic_launcher                  @string/app_name

assets下存放nonmedia檔案

不會被編譯成二進位,原樣儲存在apk包中。
不會被映射到R類中,需要使用AssetManager類進行訪問。
可以建立子目錄。

建立第一個Activity


Activity是一個應用程式組件:
包含了一個可以和使用者互動的顯示介面
比如:拍照、發郵件、瀏覽地圖等
每個Activity都有一個視窗
這個視窗通常是充滿螢幕的
也可以比螢幕小而浮於其他視窗之上
一個Android應用程式可以包含一個或多個Activity
這些Activity之間是相對獨立的
當一個Activity啟動時,之前的那個Activity就停止了

建立一個Activity通常有這樣幾個步驟:

為這個Activity設計一個介面布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <TextView android:id="@+id/textview1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="我是文本控制項" />


</LinearLayout>

需要建立一個Activity類的子類
必須實現onCreate()方法

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}


Intent是在組件之間傳遞的訊息

可以在同一個應用程式或者不同應用程式之間傳遞

這個訊息是一個Intent類的對象,包含一組資訊

Action——要執行的或者已發生的動作

ACTION_CALL(字串常量)

ACTION_MAIN (字串常量)

ACTION_SCREEN_ON (字串常量)

Category——指明應該處理當前intent的組件種類

CATEGORY_HOME (字串常量)

CATEGORY_LAUNCHER (字串常量)

Intent過濾器用於指定組件“願意”接收的Intent
可以包含Intent中包含的資訊所對應的過濾條件
Action
Category
在配置Activity時通常通過Intent過濾器來給定Activity的執行條件

在AndroidManifest.xml檔案中配置Activity

<manifest  …>
        <application …>
                <activity android:name=“com.csg.MainActivity” android:label="@string/app_name">
                        <intent-filter>
                                <action android:name=“android.intent.action.MAIN” />
                                <category android:name=“android.intent.category.LAUNCHER” />
                        </intent-filter>
                </activity>
        </application>
</manifest>

Android應用的構建過程如下:


Android應用的構建過程如下:
1、使用aapt工具產生R.java檔案
2、使用javac工具將.java檔案編譯成.class檔案
4、使用dx.bat批處理將眾多.class檔案轉換成一個.dex檔案
5、使用aapt工具打包資源檔(包括res、assets、AndroidManifest.xml等)
6、產生apk安裝檔案
SDK目錄結構如下:


add-ons這裡面儲存著附加庫
docs這裡面是Android SDK API參考文檔
platforms是每個平台的SDK真正的檔案
tools目錄裡麵包含了重要的編譯工具
platform-tools儲存著一些通用工具,比如adb、和aapt、aidl、dx等檔案
samples是Android SDK內建的預設樣本工程
tools作為SDK根目錄下的tools檔案夾,這裡包含了重要的工具

SDK常用包如下:

android.os 提供基本的操作服務,訊息傳遞和處理序間通訊IPC。

android.graphics 作為圖形渲染包,提供圖形渲染功能。

android.database 包含底層API處理資料庫,方便操作資料庫表和資料。

android.content 提供各種服務訪問資料在手機裝置上,程式安裝到手機裝置和其他相關資源,以及內容提供展示動態資料。

android.view  核心使用者介面架構。

android.widget 提供標準使用者介面元素,List(列表),Buttons(按鈕),Layout manager(布局管理器)等,是組成我們介面的基本元素。

android.app 提供高層應用程式模型,實現使用Activity。

android.provider 提供方便調用系統提供的content providers的介面。

android.webikit 包含以系列工作在基於Web內容的API。

DDMS 的全稱是Dalvik Debug Monitor Service

為測試裝置截屏

查看特定進程的線程及堆資訊

Logcat視窗

廣播狀態資訊

類比撥打電話

收發SMS簡訊

虛擬地理座標

Emulator Control可以用於類比控制

類比撥打和電話中

類比簡訊息收發

類比地理座標位置

Logcat表單簡介
Logcat表單提供了應用運行中的日誌輸出與查詢過濾
可以輸出裝置的所有輸出資訊
如果是真機,需要開啟bebug模式
支援記錄層級
支援過濾查詢

Android 中的日誌工具類是Log( android.util.Log),這個類中提供了如下幾個方法來供我們列印日誌
Log.v()
列印那些最為瑣碎的,意義最小的日誌資訊
Log.d()
列印一些調試資訊
Log.i()
用於列印一些比較重要的資料
Log.w()
用於列印一些警告資訊
Log.e()
用於列印程式中的錯誤資訊

設定過濾器



android 5.0之二 第一個程式

聯繫我們

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