android基礎

 


第一個項目

首先創建一個項目hello World;打開File菜單—>New—>other—>Android Project


 

我們創建的helloworld項目中包含的一級目錄和文件有:

src】【gen】【Android2.1】【assets】【bin】,【res】,AndroidManifest.xmlproguard.cfgproject.properties

分析:

src】:用來存放源文件。這個目錄我們並不陌生,在java中我們非常熟悉了,是用來存放java代碼的目錄,而這個目錄下的子目錄(包):cn.class3g.Android.hello,是我們新建項目時候自定義的包名,其下是我們創建的源文件:helloworldactivity.java源文件。

gen】:這個目錄不用我們開發人員自己維護,但又是非常重要的目錄,用來存放由Android開發工具所生成的目錄,該目錄下的所有文件都不是我們創建的,而是由ADT自動生成的。其下有一個與我們創建的包名同名的二級目錄,下面有一個R.java文件,非常重要,裏面的代碼都是自動生成,程序的運行離不開這個文件的配置。

Android2.1】:這個目錄是用來存放Android自身的所有jar包文件自己所用版本是多少。

assets】:同res目錄一樣用來存放資源的,但區別是此目錄用來存放應用中使用到的類似於視頻文件、MP3等媒體文件。

bin】:目錄下的res目錄存放了三個子文件夾,如圖:

這三個子文件夾中分別有一張png格式的圖片,是用來存放高清(高分辨率),中清(中等分辨率)和低清(低分辨率)的圖標文件,不同的分辨率照片適應不同的屏幕和運行環境。剩下的三個文件爲配置文件,用來打包應用的。

res】:也是用來存放資源文件的。

layout下的main.xml文件是用來佈局的視圖層,與在網頁中佈局中使用HTML文件一樣,AndroidXML文件中使用XML文件元素來設定屏幕布局。每個文件包含整個屏幕或部分屏幕,被編譯進一個視圖資源中,可以被傳遞給Activity.setContentView或被其他佈局文件引用。文件保存在工程的res/layout/目錄下,被Android資源編輯器編譯。

----------------------------------------------

main.xml文件詳解:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmIns:android=http://schemas.android.com/apk/res/android

andorid:orientation="vertical"

andorid:layout_width="fill_parent"

andorid:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

@:表示在R所在類

</LinearLayout>

在這個文件中,

  • <LinearLayout>元素:線性佈局,就是在該元素下的所有子元素會根據“orientation”屬性的值來決定是按行還是按列逐個顯示。

  • <TextView>元素:是一個顯示控件,其屬性text制定在該元素上面顯示的文字內容,建議將該文字內容寫在string.xml文件中(後面會總結提到),通過@string/stringName"的方式進行引用。

---------------------------------------------------------------------------------------

res目錄下還有一個value子目錄,其下有一個string.xml文件,這個文件是用來存放所有文本信息和數值的,在Activity中使用:getResources().getString0resourceId)getResources().getText(resourceId)獲取內容資源。這樣做的原因是爲了國際化和壓縮代碼。

---------------------------

string.xml文件詳解:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World,HelloActivity!</string>

<string name="app_name">北京天安門</string>

</resources>

每個string標籤聲明瞭一個字符串,name屬性指定引用名。

標註:value文件下可有有多個xml文件,不同的類別可以用不同名字的xml文件寫,但根元素必須都是<resources>,只有這樣才能識別調用資源。

例如:arrays.xmlcolors.xmldimens.xml等。

============================================

然後說一下AndroidManifest.xml文件:

這個文件的作用相當於應用程序的功能清單,這個文件給Android系統所有關於這個應用程序的基本信息,系統在運行任何程序代碼之前必須知道這些信息。所有關於權限的內容都要在這裏進行定義。

主要功能包括:

命名應用程序的java應用包,包名用來唯一標識應用程序;

描述應用程序的組件——活動、服務、廣播接收者、內容提供者:對實現這個組件和公佈其功能的類進行命名,使得這些組件可以在特定的條件下被調用啓動。

決定應用程序組件運行在哪個進程裏面

聲明應用程序所必須具備的權限,用以訪問受保護的部分API,以及和其他應用程序交互。

聲明應用程序其他必備權限,用以組件之間的交互。

列舉測試設備Instrumentation類,用來提供應用程序運行時所需的環境哦配置及其他信息,這些聲明只在程序開發和測試階段存在,發佈前將被刪除。

聲明應用程序所需要的Android API的最低版本級別

列舉application所需要連接的庫文件。

========================

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/android"
package="cn.class3g.android.hello"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />

<application

//圖標
android:icon="@drawable/ic_launcher"

//圖標名稱
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".HelloworldActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

這是文件內容:

首先,<manifest>元素是文件的根元素,是必須有的。xmlnsandroid是該文件的命名空間。這個文件會使用“http://schemas.android.com/apk/res/android"路徑指向的一個文件。

package屬性是指定Android應用所在的包。

Android:versionCode是指定應用的版本號。

Android:versionName是版本名稱。

----------------------------

<application>元素

這是非常重要的一個元素,開發的組件都會在這個元素下定義(必選)

icon屬性是用來設定應用的圖標

label屬性用來設定應用的名稱,屬性值所用的表達式"@string/app_name"指向R.java文件中的string靜態內部類中的"app_name"屬性指向的資源。

等價於:Androidlabel=“北京天安門".

-----------------------------------

<activity>元素

這個元素的作用是註冊一個Activity信息,當我們創建項目的時候,有一個多選框提示是否create Activity,指定了屬性爲NameActivity,系統自動創建了一個名爲:NameActivity.java文件(Name爲項目名稱)。

Activity android中屬於組件,需要在功能清單文件中進行配置。

Activity中的name屬性指定的是類名。屬性值爲: ".NameActivity"中的"."代表的是上面<manifest>元素的package屬性中指定的當前包。

所以,".NameActivity"的含義等價於:"com.sharpandroid.activity.NameActivity.java"

注意:創建create activity就有“.”,反之沒有,最好都加上,防止出錯。

----------------------------------------------------

<Permissions>權限元素

這個是用來在功能列表文件中添加權限的。

使用語句爲:"<uses-permission android:name="android.permission.SEND_SMS"/>

注意:一個功能只能被一個權限保護。

表示意圖:第一個代表入口

第二個代表執行

<intent-filter >
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章