Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發入門教程--Android應用程序結構分析

Android開發入門教程--Android應用程序結構分析

編輯:關於Android編程

一、新建HelloWorld項目:

1、打開Eclipse,點擊“File”->"New"->"Project"-Android Application Project"":

\

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+CtTata+z9rXEobBOZXcgQW5kcm9pZCBBcHBsaWNhdGlvbqGxtLDM5dbQyuTI68/g06a1xNOm08PD+7PGoaLP7sS/w/uzxqGisPzD+7PGo6yyotGh1PHP4NOmtcRTREuw5rG+us3TptPD1vfM4qO6PC9wPgo8cD4KPGltZyBzcmM9"/uploadfile/Collfiles/20140823/20140823092153112.jpg" alt="\">

選擇項目保存位置,一路“next”完成項目創建:

\

創建後的項目:

\

在創建後的項目名稱上右鍵單擊選擇“Run As”->“Android Application”運行剛創建的項目:

\

運行結果:
\

二、應用程序目錄結構簡析:

1、應用程序目錄結構:

\

2、各部分說明:

Activity文件:雙擊目錄中的“MainActivity.java”,可以看到MainActivity的代碼:

復制代碼
 1 package android.basic.helloandroid;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 
 7 public class MainActivity extends Activity {
 8 
 9     @Override
10     protected void onCreate(Bundle savedInstanceState) {
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.activity_main);
13     }
14 
15     @Override
16     public boolean onCreateOptionsMenu(Menu menu) {
17         // Inflate the menu; this adds items to the action bar if it is present.
18         getMenuInflater().inflate(R.menu.activity_main, menu);
19         return true;
20     }
21 
22 }
復制代碼

從代碼中可以看到MainActivity繼承於Activity類,Activity是Android中的視圖部分,負責處理界面顯示。在MainActivity裡面重寫了父類的onCreate方法和onCreateOptionsMenu方法,在重寫的onCreate方法裡方法setContentView(R.layout.activity_main)給MainActivity設置了要顯示的視圖R.layout.activity_main,視圖由R類尋找並加載(感覺很像mvc,Activity相當於Controller而要顯示的layout就相當於具體的頁面)。

R文件:在MainActivity的setContentView(R.layout.activity_main)方法中我們用R.layout.activity_main指定了要顯示的視圖,在應用程序目錄結構的截圖中可以看到R文件位於gen目錄下面,雙擊顯示代碼:

復制代碼
 1 /* AUTO-GENERATED FILE.  DO NOT MODIFY.
 2  *
 3  * This class was automatically generated by the
 4  * aapt tool from the resource data it found.  It
 5  * should not be modified by hand.
 6  */
 7 
 8 package android.basic.helloandroid;
 9 
10 public final class R {
11     public static final class attr {
12     }
13     public static final class drawable {
14         public static final int ic_launcher=0x7f020000;
15     }
16     public static final class id {
17         public static final int menu_settings=0x7f070000;
18     }
19     public static final class layout {
20         public static final int activity_main=0x7f030000;
21     }
22     public static final class menu {
23         public static final int activity_main=0x7f060000;
24     }
25     public static final class string {
26         public static final int app_name=0x7f040000;
27         public static final int hello_world=0x7f040001;
28         public static final int menu_settings=0x7f040002;
29     }
30     public static final class style {
31         /** 
32         Base application theme, dependent on API level. This theme is replaced
33         by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
34     
35 
36             Theme customizations available in newer API levels can go in
37             res/values-vXX/styles.xml, while customizations related to
38             backward-compatibility can go here.
39         
40 
41         Base application theme for API 11+. This theme completely replaces
42         AppBaseTheme from res/values/styles.xml on API 11+ devices.
43     
44  API 11 theme customizations can go here. 
45 
46         Base application theme for API 14+. This theme completely replaces
47         AppBaseTheme from BOTH res/values/styles.xml and
48         res/values-v11/styles.xml on API 14+ devices.
49     
50  API 14 theme customizations can go here. 
51          */
52         public static final int AppBaseTheme=0x7f050000;
53         /**  Application theme. 
54  All customizations that are NOT specific to a particular API-level can go here. 
55          */
56         public static final int AppTheme=0x7f050001;
57     }
58 }
復制代碼

從代碼中可以看到R文件裡面有很多類,每個類裡面又有很多變量,這些類和變量在我們添加、刪除控件或資源文件(圖片、聲音等)由開發工具自動幫我們維護的,由它來調用應用程序的各種資源,在代碼第一句的注釋中也說明了“AUTO-GENERATED FILE. DO NOT MODIFY”。

layout文件:res/layout/activity_main.xml – 布局文件,雙擊activity_main.xml會進入可視化編輯界面,在這裡你可以根據需要選擇相應的控件:

\

也可以點擊紅框部分進入文本編輯界面直接寫對應控件的代碼(從截圖代碼文件可以看到該layout由一個相對布局和一個文本框組成):

\

AndroidManifest文件:在應用程序目錄截圖中倒數第四個可以看到一個AndroidManifest.xml文件,它是應用程序的配置文件包含在每個安卓應用程序中,它向系統描述了本程序所包括的組件、所實現的功能、所能處理的數據、要請求的資源等,可以近似看做網站中的Web.conig文件,同樣它也可以由可視化編輯器或文本編輯器編輯:

\

\

Android.jar文件:Android.jar內部常用包作用概述,如下圖所示:

椁	莓垵崻?u猧n錠v?u?甸韓錠v?u汁i冬y╧y數據庫
android.graphics-------底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上.
android.location-------定位和相關服務的類
android.media---------提供一些類管理多種音頻、視頻的媒體接口
android.net------------提供幫助網絡訪問的類,超過通常的java.net.* 接口
android.os-------------提供了系統服務、消息傳輸、IPC 機制
android.opengl--------提供OpenGL 的工具
android.provider-------提供類訪問Android 的內容提供者
android.telephony-----提供與撥打電話相關的API 交互
android.view-----------提供基礎的用戶界面接口框架
android.util------------涉及工具性的方法,例如時間日期的操作
android.webkit---------默認浏覽器操作接口
android.widget---------包含各種UI 元素(大部分是可見的)在應用程序的屏幕中使用

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved