日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发入门教程--Android应用程序结构分析

發布時間:2025/3/17 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发入门教程--Android应用程序结构分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

一、新建HelloWorld項目:

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

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

選擇項目保存位置,一路“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內部常用包作用概述,如下圖所示:

可以看到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 元素(大部分是可見的)在應用程序的屏幕中使用

轉載于:https://my.oschina.net/pangzhuzhu/blog/318037

總結

以上是生活随笔為你收集整理的Android开发入门教程--Android应用程序结构分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文天堂资源在线 | 久久香蕉av| 男女拍拍拍网站 | 亚洲欧美一区二区三区四区 | 国产传媒视频在线 | 一级免费黄色片 | 亚洲色图88 | 99国产揄拍国产精品 | 一级片a级片 | 国产精品自拍亚洲 | 国产精品视频麻豆 | 伊人二区| 日本大奶少妇 | 在线观看黄色av | 欧美成人一区二区视频 | 黑丝一区二区三区 | 久久91视频 | 午夜刺激视频 | 午夜av免费在线观看 | 在线一本 | 欧美高清视频一区二区 | 天天操天天干天天插 | 未满十八18禁止免费无码网站 | 一区二区三区欧美日韩 | 久久夜精| 99热青青草 | 国产色诱视频 | 欧美一二区 | 精品1区2区 | 亚洲美女色 | 在线视频污 | 老女人黄色片 | 欧美一区二区三区免费观看 | 国产91精品一区二区绿帽 | 娇小萝被两个黑人用半米长 | 春色网站| 狠狠一区二区 | 欧洲自拍偷拍 | 欧美一级免费观看 | 国产青青在线 | 黄色一级图片 | 亚洲色图欧美 | 黄色片视频播放 | 性色一区| 亚洲第一成年人网站 | 免费在线看污 | 免费在线看a | 国产综合在线视频 | 69av网站| 视频一区日韩 | 波多野结衣人妻 | 成人黄色免费网站 | 两性免费视频 | 日本a级黄| 3d动漫精品啪啪一区二区三区免费 | 欧洲熟妇精品视频 | 懂色aⅴ国产一区二区三区 亚洲欧美国产另类 | 亚洲一区二区免费在线观看 | 亚洲啪av永久无码精品放毛片 | 亚洲美女久久 | 一二三区免费 | 精品久久久久久无码中文野结衣 | 色吊丝av中文字幕 | 老牛影视少妇在线观看 | 中文字幕在线国产 | xxxx精品| 黄色理论视频 | 成人免费一区二区三区在线观看 | 三级在线观看网站 | 久久99精品国产麻豆91樱花 | 天天舔天天操天天干 | 一本色道久久综合亚洲精品按摩 | 亚洲av成人无码一区二区三区在线观看 | 花样视频污 | 秋霞影院午夜伦 | 日韩精品一| 日韩 欧美 国产 综合 | 日本性网站 | 操处女逼视频 | 91丨porny丨在线| 久久精品综合网 | 精品久久五月天 | 色婷婷av一区二区三区在线观看 | 久久久久九九九 | 亚洲成a人片777777久久 | 日韩精品片| 婷婷久久网 | 欧美激情视频网站 | 精品网站999| 激情黄色小说视频 | 伊人久久大香线蕉综合75 | 国产91嫩草 | 人妻精品一区二区三区 | www日韩精品| 欧美福利专区 | 中文字幕一区二区三区波野结 | 黄色片视频在线观看 | www色综合| 国产又粗又猛又爽又黄av |