




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Unit3Android程序設(shè)計(jì)基礎(chǔ)
本章目標(biāo)可以使用Eclipse進(jìn)行簡(jiǎn)單的Android程序的開發(fā);可以掌握Android項(xiàng)目中的各個(gè)主要組成部分及作用;可以掌握Android程序的主要開發(fā)模式;可以掌握Activity與AndroidManifest.xml文件的配置。命令:adbpushf:\kugou\xianjian.mp3sdcard/xj.mp3
說明:將電腦中的某個(gè)文件復(fù)制到模擬器的SDCARD中命令:adbpullmnt/sdcard/a.txt
D:\
說明:將手機(jī)卡中的某個(gè)文本文件復(fù)制到電腦D盤push的作用和pull正好相反,是從電腦端向手機(jī)復(fù)制文件的。
命令:Adbinstallc:\\abc\aa.apk說明:在模擬器上安裝Android應(yīng)用程序ADB命令基本應(yīng)用ActivityActivity實(shí)際上就是表示的是一個(gè)人機(jī)的交互程序,用于存放各個(gè)顯示控件,也是Android的基本組成,所有的Android項(xiàng)目都使用Java語言進(jìn)行開發(fā),所以每一個(gè)繼承了android.app.Activity的Java類都將成為一個(gè)Activity程序,而一個(gè)Android項(xiàng)目將由多個(gè)Activity程序所組成,而所有的顯示組件都必須放在Activity上才可以進(jìn)行顯示,android.app.Activity類的繼承結(jié)構(gòu)如下:java.lang.Object ?android.content.Context ?android.content.ContextWrapper ?android.view.ContextThemeWrapper ?android.app.Activity
Activity類的常用方法No.方法類型描述1publicfinalViewfindViewById(intid)普通根據(jù)組件的ID取得組件對(duì)象2publicvoidsetEnabled(booleanenabled)普通設(shè)置是否可編輯3publicvoidsetFocusable(booleanfocusable)普通設(shè)置是否默認(rèn)取得焦點(diǎn)4publicfinalvoidsetProgress(intprogress)普通設(shè)置ProgresBar的進(jìn)度5publicfinalvoidsetSecondaryProgress(intsecondaryProgress)普通設(shè)置第二進(jìn)度條的進(jìn)度6publicWindowgetWindow()普通取得一個(gè)Window對(duì)象7publicvoidsetContentView(intlayoutResID)普通設(shè)置顯示組件8publicvoidsetContentView(Viewview)普通設(shè)置顯示組件Android項(xiàng)目中的文件夾作用No.文件夾描述1src存放所有的*.java源程序2gen為ADT插件自動(dòng)生成的代碼文件保存路徑,里面的R.java將保存所有的資源ID3Android2.3.3表示現(xiàn)在使用的AndroidSDK的版本是2.3.3,如果建立項(xiàng)目時(shí)選擇1.5,則此處為1.54assets可以存放項(xiàng)目一些較大的資源文件,例如:圖片、音樂、字體等5res可以存放項(xiàng)目中所有的資源文件,例如:圖片(*.png、*.jpg)、文本等6res\drawable-hdpi保存高分辨率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型7res\drawable-ldpi保存低分辯率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型8res\drawable-mdpi保存中等分辨率圖片資源,可以使用Resources.getDrawable(id)可以獲得資源類型9res\layout存放所有的布局文件,主要是用于排列不同的顯示組件,在Android程序中要讀取此配置10res\values存放一些資源文件的信息,用于讀取文本資源,在本文件夾之中有一些約定的文件名稱:
·arrays.xml:定義數(shù)組數(shù)據(jù);
·colors.xml:定義表示顏色的數(shù)據(jù);
·dimens.xml:定義尺度,可以使用Resources.getDimension()獲得這些資源;
·strings.xml:定義字符串,可以使用Resources.getString()或Resources.getText()方法獲得這些資源;
·styles.xml:定義顯示的樣式文件;11res\raw自定義的一些原生文件所在目錄,像音樂、視頻等文件格式,Resources.getRawResource()方法可以獲得這些資源;12res\xml用戶自定義的XML文件,所有的文件在程序運(yùn)行時(shí)編譯到應(yīng)用程序之中,在程序運(yùn)行時(shí)可以使用Resources.getXML()方法獲??;13res\anim用于定義動(dòng)畫對(duì)象;Android項(xiàng)目中的文件作用No.文件描述1Hello.java為Activity程序,類似于Java程序中的主類2icon.png項(xiàng)目中所需要的圖片資源文件,在drawable-hdpi、drawable-ldpi、drawable-mdpi分別保存不同分辯率的圖片3main.xml配置所有的控件4strings.xml配置所有的資源信息5R.java此文件為自動(dòng)生成并自動(dòng)維護(hù),當(dāng)用戶向drawable-hdpi、drawable-ldpi、drawable-mdpi文件夾中增加圖片,或者在main.xml文件中配置控件以及在strings.xml文件中定義文本信息都會(huì)自動(dòng)在此文件夾中生成一個(gè)唯一的ID,以供程序使用。6AndroidManifest.xml為Android的主要配置文件,用于配置各個(gè)組件或者是一些訪問權(quán)限等7pertiesAndroid項(xiàng)目的屬性定義文件編寫Activity程序,操作組件packageorg.lxh.demo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.TextView;public
classHelloextendsActivity{
@Override
public
voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState); //調(diào)用父類的onCreate()方法
super.setContentView(R.layout.main); //調(diào)用布局文件
//取得在AndroidManifest.xml配置的組件
TextViewtext=(TextView)super.findViewById(R.id.mytext);
//設(shè)置此文本框的顯示文字信息
text.setText(“廣東農(nóng)工商職業(yè)技術(shù)學(xué)院");
//取得在AndroidManifest.xml配置的組件
Buttonbut=(Button)super.findViewById(R.id.mybut);
//設(shè)置按鈕上的顯示文字信息
but.setText("按我,不過沒用!"); }}編輯values\strings.xml文件可以將所有要顯示的文字信息直接在values\strings.xml文件中進(jìn)行配置。編輯values\strings.xml文件,加入兩條新的內(nèi)容<?xml
version="1.0"
encoding="utf-8"?><resources>
<string
name="hello">HelloWorld,Hello!</string>
<string
name="app_name">myfirst</string>
<string
name="info">廣東農(nóng)工商職業(yè)技術(shù)學(xué)院</string>
<string
name="msg">按我,不過沒用!</string></resources>將strings.xml文件中的內(nèi)容設(shè)置到文本控件<?xml
version="1.0"
encoding="utf-8"?><LinearLayout
xmlns:android="/apk/res/android"
android:orientation="vertical"
所有組件垂直擺放
android:layout_width="fill_parent"
布局管理器的寬度為屏幕寬度
android:layout_height="fill_parent">
布局管理器的高度為屏幕高度
<TextView
定義文本顯示組件
android:layout_width="fill_parent"
組件寬度為屏幕寬度
android:layout_height="wrap_content"
組件高度為文字高度
android:text="@string/hello"
/>
從資源文件之中讀取默認(rèn)顯示文字
<TextView
定義文本顯示組件
android:id="@+id/mytext"
組件ID,程序中使用
android:layout_width="fill_parent"
組件寬度為屏幕寬度
android:layout_height="wrap_content"
組件高度為文字高度
android:text="@string/info"
/>
從資源文件之中讀取默認(rèn)顯示文字
<Button
定義按鈕組件
android:id="@+id/mybut"
組件ID,程序中使用
android:layout_width="fill_parent"
組件寬度為屏幕寬度
android:layout_height="wrap_content"
組件高度為文字高度
android:text="@string/msg"
/>
從資源文件之中讀取默認(rèn)顯示文字</LinearLayout>定義布局管理器,并增加組件packageorg.lxh.demo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.LinearLayout;importandroid.widget.TextView;public
classHelloextendsActivity{
@Override
public
voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState); //調(diào)用父類的onCreate()方法
LinearLayoutlayout=newLinearLayout(this);//定義布局管理器
layout.setOrientation(LinearLayout.VERTICAL);//垂直擺放所有組件
TextViewtext=newTextView(this); //創(chuàng)建文本顯示組件
text.setText(super.getString(R.));//從資源文件之中設(shè)置顯示文字
Buttonbut=newButton(this); //創(chuàng)建按鈕
but.setText(super.getString(R.string.msg));//設(shè)置顯示文字
layout.addView(text); //增加組件
layout.addView(but); //增加組件
super.setContentView(layout); //設(shè)置默認(rèn)布局管理器
}}Android操作系統(tǒng)及模擬器使用簡(jiǎn)介模擬器創(chuàng)建Android系統(tǒng)桌面撥號(hào)功能建的使用程序?yàn)g覽網(wǎng)頁及多點(diǎn)觸摸活動(dòng)應(yīng)用系統(tǒng)設(shè)置,設(shè)置日期及時(shí)間/設(shè)置語言發(fā)送短信adb簡(jiǎn)介adb的全稱為AndroidDebugBridge,就是起到調(diào)試橋的作用。主要功能有:1.運(yùn)行設(shè)備的shell(命令行)2.管理模擬器或設(shè)備的端口映射3.計(jì)算機(jī)和設(shè)備之間上傳/下載文件4.將本地apk軟件安裝至模擬器或android設(shè)備常用命令:1.查看設(shè)備*adbdevices2.安裝軟件*adbinstall<apk文件路徑>3.卸載軟件*adbuninstall<軟件名>4.登錄設(shè)備shell*adbshell5.上傳或下載文件*adbpush/pull<本地路徑><遠(yuǎn)程路徑>6.顯示幫助信息*adbhelp開發(fā)第一個(gè)Android應(yīng)用打開Eclipse,新建項(xiàng)目(點(diǎn)擊FileNewProject),在項(xiàng)目列表中展開Android目錄,選擇AndroidProject,如下圖:開發(fā)第一個(gè)Android應(yīng)用開發(fā)第一個(gè)Android應(yīng)用點(diǎn)擊”finish”即可完成項(xiàng)目的創(chuàng)建,創(chuàng)建后的項(xiàng)目已經(jīng)是一個(gè)可運(yùn)行的Android應(yīng)用,我們可以通過下面方式運(yùn)行此應(yīng)用:點(diǎn)擊工具欄上機(jī)器人形狀的虛擬設(shè)備管理器(簡(jiǎn)稱“AVD“),如下:開發(fā)第一個(gè)Android應(yīng)用在打開的虛擬設(shè)備管理器中創(chuàng)建一個(gè)虛擬手機(jī):開發(fā)第一個(gè)Android應(yīng)用在項(xiàng)目上右鍵點(diǎn)擊runasAndroidapplication,如下圖:Android應(yīng)用程序架構(gòu)src/java原代碼存放目錄gen/自動(dòng)生成目錄gen目錄中存放所有由Android開發(fā)工具自動(dòng)生成的文件。目錄中最重要的就是R.java文件。這個(gè)文件由Android開發(fā)工具自動(dòng)產(chǎn)生的。Android開發(fā)工具會(huì)自動(dòng)根據(jù)你放入res目錄的xml界面文件、圖標(biāo)與常量,同步更新修改R.java文件。正因?yàn)镽.java文件是由開發(fā)工具自動(dòng)生成的,所以我們應(yīng)避免手工修改R.java。R.java在應(yīng)用中起到了字典的作用,它包含了界面、圖標(biāo)、常量等各種資源的id,通過R.java,應(yīng)用可以很方便地找到對(duì)應(yīng)資源。另外編繹器也會(huì)檢查R.java列表中的資源是否被使用到,沒有被使用到的資源不會(huì)編繹進(jìn)軟件中,這樣可以減少應(yīng)用在手機(jī)占用的空間。res/資源(Resource)目錄在這個(gè)目錄中我們可以存放應(yīng)用使用到的各種資源,如xml界面文件,圖片或數(shù)據(jù)。具體請(qǐng)看ppt下方備注欄。assets資源目錄Android除了提供/res目錄存放資源文件外,在/assets目錄也可以存放資源文件,而且/assets目錄下的資源文件不會(huì)在R.java自動(dòng)生成ID,所以讀取/assets目錄下的文件必須指定文件的路徑,如:file:///android_asset/xxx.3gpAndroidManifest.xml
項(xiàng)目清單文件這個(gè)文件列出了應(yīng)用程序所提供的功能,以后你開發(fā)好的各種組件需要在該文件中進(jìn)行配置,如果應(yīng)用使用到了系統(tǒng)內(nèi)置的應(yīng)用(如電話服務(wù)、互聯(lián)網(wǎng)服務(wù)、短信服務(wù)、GPS服務(wù)等等),你還需在該文件中聲明使用權(quán)限。perties
項(xiàng)目環(huán)境信息,一般是不需要修改此文件Android應(yīng)用程序界面開發(fā)編程式界面開發(fā)每一個(gè)屏幕由一個(gè)Activity代表每個(gè)Activity中需要設(shè)置一個(gè)View組件一個(gè)ViewGroup組件可以放置更多的View組件TextViewtv=newTextView(this);tv.setText("用戶名:");EditTextedit=newEditText(this);Buttonbtn=newButton(this);btn.setText("保存");LinearLayoutgroup=newLinearLayout(this);//設(shè)置方向group.setOrientation(LinearLayout.VERTICAL);//添加View到ViewGroup中g(shù)roup.addView(tv);group.addView(edit);group.addView(btn);//把ViewGroup通過setContentView方法設(shè)置到Activity中this.setContentView(group);Android應(yīng)用程序界面開發(fā)聲明式界面開發(fā)Android支持聲明式界面開發(fā),使用xml標(biāo)記來聲明界面。界面布局位置放置在layout目錄中,內(nèi)容大致如下:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:layout_width="fill_parent"android:layout_height="fill_parent" android:orientation="vertical" > <TextViewandroid:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/username" /> <EditTextandroid:layout_width="fill_parent" android:layout_height="wrap_content"/> <Buttonandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/save"/> </LinearLayout>在程序中可以把一個(gè)Activity的內(nèi)容設(shè)置為布局文件對(duì)應(yīng)的view。this.setContentView(R.layout.ui);UI控件事件處理在View類中,提供了setOnXXX系列的方法,可以用設(shè)置某一個(gè)View組件的事件監(jiān)聽對(duì)象(監(jiān)聽器)。主要如下:setOnClickListener(l)setOnLongClickListener(l)setOnFocusChangeListener(l)setOnKeyListener(l)setOnTouchListener(l)setOnCreateContextMenuListener(l)事件監(jiān)聽對(duì)象的onClick等方法中,包括了事件響應(yīng)的代碼。btn.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewv){ //事件響應(yīng)代碼 }});或者M(jìn)ainActivityimplements
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程款支付申請(qǐng)表的填寫規(guī)范與標(biāo)準(zhǔn)
- 采暖散熱器施工方案
- 星級(jí)酒店關(guān)系質(zhì)量研究調(diào)查
- 2025年液堿行業(yè)現(xiàn)狀分析:我國(guó)燒堿產(chǎn)量為3980.5萬噸
- 江西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期1月期末英語試題【含答案】
- 2024年普通?等學(xué)校招?全國(guó)統(tǒng)?考試上海語?試卷
- 裝修成品保護(hù)施工方案
- 上海市安全員-C3證考試題及答案
- 清除路肩雜草施工方案
- 新風(fēng)機(jī)組施工方案
- 專題02 光現(xiàn)象(5大模塊知識(shí)清單+5個(gè)易混易錯(cuò)+2種方法技巧+典例真題解析)
- 支氣管封堵器在胸科手術(shù)中的應(yīng)用
- 北京市東城區(qū)2021-2022學(xué)年第一學(xué)期四年級(jí)期末考試語文試卷(含答案)
- 《STP市場(chǎng)營(yíng)銷戰(zhàn)略》課件
- 心理健康教育課件教學(xué)
- 河南省勞動(dòng)關(guān)系協(xié)調(diào)員職業(yè)技能大賽技術(shù)工作文件
- 成都實(shí)驗(yàn)中學(xué)2025屆高三最后一模英語試題含解析
- 2024年新《反洗錢法》修訂要點(diǎn)解讀
- 如何變廢為寶課件
- 中華人民共和國(guó)學(xué)前教育法
- 辯論英文課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論