www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 下面是HelloAndroid項(xiàng)目在eclipse中的目錄層次結(jié)構(gòu):由上圖可以看出項(xiàng)目的根目錄下共有九個(gè)文件(夾),下面就這九個(gè)文件(夾)進(jìn)行詳解:1.1src文件夾和assets文件夾:每個(gè)An

 下面是HelloAndroid項(xiàng)目在eclipse中的目錄層次結(jié)構(gòu):

由上圖可以看出項(xiàng)目的根目錄下共有九個(gè)文件(夾),下面就這九個(gè)文件(夾)進(jìn)行詳解:

1.1src文件夾和assets文件夾:

每個(gè)Android程序都包含資源目錄(src)和資產(chǎn)目錄(assets),資源和資產(chǎn)聽起來(lái)感覺沒有多大差別,但在存儲(chǔ)外部?jī)?nèi)容時(shí)用資源(src)比較多,其中它們的區(qū)別在于存放在資源(src)下的內(nèi)容可以通過應(yīng)用程序的R類進(jìn)行訪問,而存放在資產(chǎn)(assets)下的內(nèi)容會(huì)保持原始文件的格式,如果需要訪問,則必須使用AssetManager以字節(jié)流的方式來(lái)讀取,用起來(lái)非常的不方便。為了方便使用,通常文件和數(shù)據(jù)都會(huì)保存在資源(src)目錄下

1.2res(Resource)目錄:資源目錄

可以存放一些圖標(biāo),界面文件和應(yīng)用中用到的文字信息,下圖為res目錄截圖:

1.2.1 drawable-*dpi文件夾:將圖標(biāo)按分辨率的高低放入不同的目錄,其中draeable-hdpi用來(lái)存放高分辨率的圖標(biāo),drawable-mdpi用來(lái)存放中等分辨率的圖標(biāo),drawable-ldpi用來(lái)存放低分辨率的圖標(biāo)

1.2.2 values文件夾:用來(lái)存放文字的信息

(1)strings.xml:用來(lái)定義字符串和數(shù)值

Hello World, Hello 3G

Android1.1

哥想你了

按鈕1

按鈕1

 

每個(gè)string標(biāo)簽生命了一個(gè)字符串,name屬性指定它的引用值

(2)為什么要把這些出現(xiàn)的文字單獨(dú)放在strings.xml文件中?

答案:一是為了國(guó)際化,如果需要將文件中的文字換成別的國(guó)家的語(yǔ)言,就可以只需要替換掉一個(gè)strings.xml文件就可以了

二是為了減少應(yīng)用的體積,例如,我們要在應(yīng)用中使用“哥想你了”這句話1000次,如果我們沒有將“哥想你了”定義在strings.xml文件中,而是直接在應(yīng)用中使用時(shí)寫上這幾個(gè)字,那么我們就會(huì)在應(yīng)用中寫4000個(gè)字。4000個(gè)字和4個(gè)字占用的內(nèi)存可是有很大差距的啊,況且手機(jī)的內(nèi)存本來(lái)就小,所以應(yīng)該是能省就省

(3)另外還有arrays.xml,color.xml等定義數(shù)組,顏色的,都最好用單獨(dú)的一個(gè)xml文檔

1.2.3 layout文件:用來(lái)存放界面信息

本例中的布局文件是自動(dòng)生成的“main.xml”

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical">

 

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/test"/>

 

元素:線性布局的意思,在該元素下的所有子元素都會(huì)根據(jù)他的”orientation”屬性來(lái)決定是按行還是按列或者按逐個(gè)顯示進(jìn)行布局的

元素:是一種顯示控件,他的”text”屬性指定了在這個(gè)元素上顯示的內(nèi)容

1.3 gen目錄:gen目錄下只有一個(gè)自動(dòng)生成的“R.java”文件

/*AUTO-GENERATED FILE. DO NOT MODIFY.

*

* This class was automatically generated bythe

* aapt tool from the resource data itfound. It

* should not be modified by hand.

*/

packagecn.csdn.android.demo;

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 button1=0x7f050000;

public static final int radioButton1=0x7f050001;

public static final int toggleButton1=0x7f050002;

}

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;

public static final int start=0x7f040004;

public static final int startButton=0x7f040003;

public static final int test=0x7f040002;

}

}

R.java文件:默認(rèn)有attr,drawable,layout,string這四個(gè)靜態(tài)內(nèi)部類,每個(gè)靜態(tài)內(nèi)部類對(duì)應(yīng)一中資源,如layout靜態(tài)內(nèi)部類對(duì)應(yīng)layout中的界面文件,string靜態(tài)內(nèi)部類對(duì)應(yīng)string內(nèi)部的string標(biāo)簽。如果在layout中在增加一個(gè)界面文件或者在string內(nèi)增加一個(gè)string標(biāo)簽,R.java會(huì)自動(dòng)在其對(duì)應(yīng)的內(nèi)部類增加所增加的內(nèi)容。

R.java除了自動(dòng)標(biāo)識(shí)資源的索引功能外,還有另一個(gè)功能,就是當(dāng)res文件中的某個(gè)資源在應(yīng)用中沒有被用到,在這個(gè)應(yīng)用被編譯時(shí),系統(tǒng)不會(huì)把對(duì)應(yīng)的資源編譯到應(yīng)用中的APR包中。

1.4 AndroidManifest.xml 功能清單文件

每個(gè)應(yīng)用程序都會(huì)有一個(gè)AndroidManifest在它的根目錄里面。這個(gè)清單為Android系統(tǒng)提供了這個(gè)應(yīng)用的基本信息,系統(tǒng)在運(yùn)行之前必須知道這些信息,另外,如果我們使用系統(tǒng)自帶的服務(wù),如撥號(hào)服務(wù),應(yīng)用安裝服務(wù)等,都必須在AndroidManifest.xml文件中聲明權(quán)限

AndroidManifest.xml的功能:

命名應(yīng)用程序的Java應(yīng)用包,這個(gè)包名用來(lái)唯一標(biāo)識(shí)應(yīng)用程序;[!--empirenews.page--]

描述應(yīng)用程序的組件,對(duì)實(shí)現(xiàn)每個(gè)組件和公布其功能的類進(jìn)行命名,這些聲明使得Android系統(tǒng)了解這些組件以及它們?cè)谑裁礂l件下可以被啟動(dòng)

決定哪個(gè)組件運(yùn)行在哪個(gè)進(jìn)程里面

聲明應(yīng)用程序必須具備的權(quán)限,用以訪問受保護(hù)的API,以及和其他進(jìn)程的交互

聲明應(yīng)用程序其他的必備權(quán)限,用以組件之間的交互

列舉application所需要鏈接的庫(kù)

以HelloAndroid項(xiàng)目的功能清單為例子進(jìn)行講解:

package="cn.csdn.android.demo"

android:versionCode="1"

android:versionName="1.0">

 

android:icon="@drawable/ic_launcher"

android:label="@string/app_name">

 

android:label="@string/app_name"

android:name=".HelloActivity">

 

 

 

 

1.4.1 元素

package="cn.csdn.android.demo"

android:versionCode="1"

android:versionName="1.0">

元素是AndroidManifest.xml的根元素,”xmlns:android”是指該文件的命名空間,“package”屬性是Android應(yīng)用所在的包,“android:versionCode”指定應(yīng)用的版本號(hào),如果應(yīng)用不斷升級(jí),則需要修改這個(gè)值,”android:versionName”是版本的名稱,這個(gè)可以根據(jù)自己的喜愛改變

1.4.2 元素

 

android:icon="@drawable/ic_launcher"

android:label="@string/app_name">

 

android:label="@string/app_name"

android:name=".HelloActivity">

 

 

 

元素是一個(gè)很重要的元素,開發(fā)組件都會(huì)在此下定義

元素的”icon”屬性是用來(lái)設(shè)定應(yīng)用的圖標(biāo),其中“@drawable/ic_launcher”的意思是:在R.java文件中的drawable靜態(tài)內(nèi)部類下的icon,如下圖所示

元素的“label”屬性用來(lái)設(shè)定應(yīng)用的名稱,其中“@string/app_name”和上述的一樣,也是R.java文件中的string靜態(tài)內(nèi)部類下的app_name

1.4.3 元素

 

android:label="@string/app_name"

android:name=".HelloActivity" >

 

 

元素的作用是注冊(cè)一個(gè)activity信息,當(dāng)我們?cè)趧?chuàng)建“HelloAndroid”這個(gè)項(xiàng)目時(shí),指定了“Created Activity”屬性為“HelloActivity”,然后ADT在生成項(xiàng)目時(shí)幫我們自動(dòng)創(chuàng)建了一個(gè)Activity,就是“HelloActivity.java”;

元素的“name“屬性指定的是Activity的類名,其中“.HelloActivity”中的“.”指的是元素中的“package”屬性中指定的當(dāng)前包,所以“.HelloActivity”就相當(dāng)于“cn.csdn.android.demo.HelloActivity.java”,如果Activity在應(yīng)用的包中可以不寫“.”,但是為了避免出錯(cuò),還是寫上這個(gè)點(diǎn)把

1.4.4元素

 

如果直接翻譯的話是“意圖過濾器”,組件通過告訴它們所具備的功能,就是能響應(yīng)意圖類型,在intent中設(shè)置action, data, categroy之后在對(duì)應(yīng)的intentfilter中設(shè)置相同的屬性即可通過過濾被activity調(diào)用

1.5 應(yīng)用要求運(yùn)行的最低Android版本

1.6 存放Android自身的jar包

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉