Android 第四課——AndroidManifest.xml

清單文件的具體介紹java

在 Android 項目中,下一個重要的文件是清單文件。觀察一下 AndroidManifest.xml 文 件的內容:android

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"app

     package="net.learn2develop.HelloWorld"工具

     android:versionCode="1"佈局

     android:versionName="1.0.0" >字體

 

     <uses-sdk android:minSdkVersion="14" />this

 

     <applicationspa

          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>

文件 AndroidManifest.xml 包含了關於應用程序的詳細信息。

● 它定義了應用程序的包名:net.learn2develop.HelloWorld。

● 應用程序的版本代碼爲 1(經過 android:versionCode 屬性設置)。這個值是用來標識您的應用程序的版本號。它可用於以編程方式肯定應用程序是否須要升級。

● 應用程序的版本名稱是 1.0(經過 android:versionName 屬性設置)。此字符串值主要用來顯示給用戶。這個值應該採用如下格式:<major>.<minor>.<point>。

● <uses-sdk>元素的 android:minSdkVersion 屬性指定了應用程序運行所需的操做系統的最低版本。

● 應用程序使用位於 drawable 文件夾下的圖像 ic_launcher.png。

● 應用程序的名稱是在 strings.xml 文件中定義的名爲 app_name 的字符串。

● HelloWorldActivity.java 文件表明了應用程序中的一項活動。表明這項活動的標簽名稱與應用程序的名稱相同。

● 在這項活動的定義中,有一個名爲<intent-filter>的元素: 意圖篩選器的動做名稱爲 android.intent.action.MAIN,代表了這項活動是應用程序的入口點。

意圖篩選器的類別名稱爲 android.intent.category.LAUNCHER, 代表了應用程序可從設備的啓動器圖標啓動

  R.java 的內容

在向項目中加入更多的文件和文件夾後,Eclipse 將自動生成 R.java 的內容,而目前包

含如下內容:

/* AUTO-GENERATED FILE. DO NOT MODIFY.

 *

 * This class was automatically generated by the

 * aapt tool from the resource data it found. It

 * should not be modified by hand.

 */

 

package net.learn2develop.HelloWorld;

 

public final class R {

     public static final class attr {

     }

     public static final class drawable {

          public static final int ic_launcher=0x7f020000;

     }

     public static final class layout {

          public static final int main=0x7f030000;

     }

     public static final class string {

          public static final int app_name=0x7f040001;

          public static final int hello=0x7f040000;

     }

建議:

您不要修改R.java 文件的內容。當您修改項目時,Eclipse 會自動爲您生成相應內容。 

注意:

若是手動刪除了 R.java 文件,Eclipse 會爲您當即再從新生成一個。注 意,爲了使 Eclipse 能夠生成 R.java 文件,您的項目不能包含任何錯誤。若是 在刪除 R.java 後發覺 Eclipse 沒有從新生成這個文件,那麼您須要再檢查一遍 

項目。 代碼中可能包含語法錯誤或者 XML 文件(如 AndroidManifest.xml、 main.

xml 等)的格式不良好。

既然知道是配置文件中的ID會在R中映射成變量,那麼咱們定義ID的時候必須符合java變量命名規則,如不能用數字開頭,不能用保留字,不能用關鍵字等

程序中使用資源文件

res 中定義:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
   
     <string name="app_name">HelloWorld</string> 
  
</resources>

xml文件中使用:

@string/app_name

java中引用

R.string.app_name;// 獲取整數索引

this.getResources().getString(R.string.app_name);// 獲取實際值

程序啓動過程

  1. Eclipse.java源文件編譯成.class

  2. 使用dx工具將全部.class文件轉換爲.dex文件

  3. 再將.dex文件和全部資源打包成.apk文件

  4. .apk文件安裝到虛擬機完成程序安裝

  5. 啓動程序  開啓進程  開啓主線程

  6. 建立Activity對象  執行OnCreate()方法

  7. 按照main.xml文件初始化界面


程序打印

1)Totast.makeText(this,msg,Toast.LENGTH__SHORT); // 第一個通常是activity自己,第二個是內容,第三個是時間。

2)log.i(Tag,msg);// 第一個通常是Tag即類的名稱,第二個是內容

推薦使用第二種方式,由於第二種能夠在控制檯中設置查看Tag日誌。

3)Android程序中若是出錯,錯誤不會顯示在Console中,而是顯示在LogCat界面下。能夠從window – show view中打開

4)日誌信息分爲5個級別:verbose > debug > info > warn > error 高級的包含低級的

5)能夠建立過濾器對日誌進行過濾顯示,點擊綠色加號,能夠按照tag、pid、level進行篩選

主題與樣式

1)主題的寫法與樣式的寫法徹底相同,都是在resource中採用style標籤,通常主題使用在應用或activity中;系統主題也是很重要的,咱們能夠直接使用系統主題: android:XXXX 或者 android:style/Theme.Light.NoTitleBar.FullScreen 就是調用系統主題,然而調用樣式或自定義主題都是 @style/xxx

自定義主題:

<style name="mythem">

    <item name="android:windowNoTitle">true</item>

    <item name="android:windowFullScreen">?android:windowNoTitle</item>

</style>

2)樣式能夠繼承,在style中使用parent屬性指定要繼承的style的name值就好。也能夠繼承系統主題:parent="@android:style/Them.Black".

3)和string同樣,樣式和主題通常放在一個叫styles.xml 的文件中,便於查找。

圖片處理

1)9patch圖片(宮格圖片),Android 的sdk自帶處理軟件,draw-9-patch.bat.

所謂9宮格的意思是:以下圖:

9宮格的意思就是把一張圖片分紅了9個區域

1)紅色區域表明垂直拉伸時改變的區域,分別是:2 、5 、8

2)綠色區域表明水平拉伸時改變的區域,份分別是:4 、 5 、6

3)紅綠色交界處的區域表明拉伸時水平和垂直在這裏都會發生變化。

4)對於那些不在紅色或者綠色區域當中的,如 1 、 七、 3 、 9 , 這些地方是在圖片不管如何拉伸都不會發生變化的,通常這些地方都是在拉伸狀況下圖片容易失真,容易失真的有 漸變樣式區域

2)不一樣的像素或者屏幕系統會自動採用不一樣的合適的圖片,前提時這些圖片存在。

佈局單位

  • dp:即dip,device independent pixels(設備獨立像素),不一樣設備有不一樣的顯示效果,這個和設備硬件有關,通常咱們爲了支持WVGA、   HVGA和QVGA 推薦使用這個,不依賴像素;

  • px: pixels(像素),不一樣設備顯示效果相同,通常咱們用HVGA表明320x480像素,這個用的比較多;

  • sp: scaled pixels(放大像素),主要用於字體顯示。

    總結:若是設置表示長度、高度等屬性時能夠使用dp。但若是設置字體大小,須要使用sp。

相關文章
相關標籤/搜索