【Android開發入門教程】二.Android應用程序結構分析

Java精品資料,Java 實戰項目,還有Android開發教程,內含多線程,結構,算法,BATJ面試題等等大牛累積經驗~~ ~須要更多資料,能夠加入咱們Java交流學習基地免費獲取:_ 925050116 _!!!_

1、新建HelloWorld項目:

一、打開Eclipse,點擊「File」->"New"->"Project"-Android Application Project"":php

在彈出的「New Android Application」窗體中輸入相應的應用名稱、項目名稱、包名稱,並選擇相應的SDK版本和應用主題:java

選擇項目保存位置,一路「next」完成項目建立:android

建立後的項目:web

在建立後的項目名稱上右鍵單擊選擇「Run As」->「Android Application」運行剛建立的項目:面試

運行結果:
算法

2、應用程序目錄結構簡析:數據庫

一、應用程序目錄結構:瀏覽器

二、各部分說明:網絡

Activity文件:雙擊目錄中的「MainActivity.java」,能夠看到MainActivity的代碼:多線程

package android.basic.helloandroid;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

public class MainActivity extends Activity {

 @Override

 protected void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_main);

 }

 @Override

 public boolean onCreateOptionsMenu(Menu menu) {

 // Inflate the menu; this adds items to the action bar if it is present.

 getMenuInflater().inflate(R.menu.activity_main, menu);

 return true;

 }

}`

從代碼中能夠看到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目錄下面,雙擊顯示代碼:

/* 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 android.basic.helloandroid;

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 id {

 public static final int menu_settings=0x7f070000;

 }

 public static final class layout {

 public static final int activity_main=0x7f030000;

 }

 public static final class menu {

 public static final int activity_main=0x7f060000;

 }

 public static final class string {

 public static final int app_name=0x7f040000;

 public static final int hello_world=0x7f040001;

 public static final int menu_settings=0x7f040002;

 }

 public static final class style {

 /**

 Base application theme, dependent on API level. This theme is replaced

 by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

 Theme customizations available in newer API levels can go in

 res/values-vXX/styles.xml, while customizations related to

 backward-compatibility can go here.

 Base application theme for API 11+. This theme completely replaces

 AppBaseTheme from res/values/styles.xml on API 11+ devices.

 API 11 theme customizations can go here.

 Base application theme for API 14+. This theme completely replaces

 AppBaseTheme from BOTH res/values/styles.xml and

 res/values-v11/styles.xml on API 14+ devices.

 API 14 theme customizations can go here.

 */

 public static final int AppBaseTheme=0x7f050000;

 /**  Application theme.

 All customizations that are NOT specific to a particular API-level can go here.

 */

 public static final int AppTheme=0x7f050001;

 }

}`

從代碼中能夠看到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內部經常使用包做用概述,以下圖所示:

能夠看到Android.jar裏面包含了不少包,常見包的做用以下:

android.app-----------提供高層的程序模型、提供基本的運行環境 android.content-------包含各類的對設備上的數據進行訪問和發佈的類 android.database------經過內容提供者瀏覽和操做數據庫 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 元素(大部分是可見的)在應用程序的屏幕中使用

相關文章
相關標籤/搜索