版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Unit3Android程序設(shè)計(jì)基礎(chǔ)
本章目標(biāo)可以使用Eclipse進(jì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取得組件對象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對象7publicvoidsetContentView(intlayoutResID)普通設(shè)置顯示組件8publicvoidsetContentView(Viewview)普通設(shè)置顯示組件Android項(xiàng)目中的文件夾作用No.文件夾描述1src存放所有的*.java源程序2gen為ADT插件自動生成的代碼文件保存路徑,里面的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用于定義動畫對象;Android項(xiàng)目中的文件作用No.文件描述1Hello.java為Activity程序,類似于Java程序中的主類2icon.png項(xiàng)目中所需要的圖片資源文件,在drawable-hdpi、drawable-ldpi、drawable-mdpi分別保存不同分辯率的圖片3main.xml配置所有的控件4strings.xml配置所有的資源信息5R.java此文件為自動生成并自動維護(hù),當(dāng)用戶向drawable-hdpi、drawable-ldpi、drawable-mdpi文件夾中增加圖片,或者在main.xml文件中配置控件以及在strings.xml文件中定義文本信息都會自動在此文件夾中生成一個(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)及模擬器使用簡介模擬器創(chuàng)建Android系統(tǒng)桌面撥號功能建的使用程序?yàn)g覽網(wǎng)頁及多點(diǎn)觸摸活動應(yīng)用系統(tǒng)設(shè)置,設(shè)置日期及時(shí)間/設(shè)置語言發(fā)送短信adb簡介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è)備管理器(簡稱“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/自動生成目錄gen目錄中存放所有由Android開發(fā)工具自動生成的文件。目錄中最重要的就是R.java文件。這個(gè)文件由Android開發(fā)工具自動產(chǎn)生的。Android開發(fā)工具會自動根據(jù)你放入res目錄的xml界面文件、圖標(biāo)與常量,同步更新修改R.java文件。正因?yàn)镽.java文件是由開發(fā)工具自動生成的,所以我們應(yīng)避免手工修改R.java。R.java在應(yīng)用中起到了字典的作用,它包含了界面、圖標(biāo)、常量等各種資源的id,通過R.java,應(yīng)用可以很方便地找到對應(yīng)資源。另外編繹器也會檢查R.java列表中的資源是否被使用到,沒有被使用到的資源不會編繹進(jìn)軟件中,這樣可以減少應(yīng)用在手機(jī)占用的空間。res/資源(Resource)目錄在這個(gè)目錄中我們可以存放應(yīng)用使用到的各種資源,如xml界面文件,圖片或數(shù)據(jù)。具體請看ppt下方備注欄。assets資源目錄Android除了提供/res目錄存放資源文件外,在/assets目錄也可以存放資源文件,而且/assets目錄下的資源文件不會在R.java自動生成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è)置為布局文件對應(yīng)的view。this.setContentView(R.layout.ui);UI控件事件處理在View類中,提供了setOnXXX系列的方法,可以用設(shè)置某一個(gè)View組件的事件監(jiān)聽對象(監(jiān)聽器)。主要如下:setOnClickListener(l)setOnLongClickListener(l)setOnFocusChangeListener(l)setOnKeyListener(l)setOnTouchListener(l)setOnCreateContextMenuListener(l)事件監(jiān)聽對象的onClick等方法中,包括了事件響應(yīng)的代碼。btn.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewv){ //事件響應(yīng)代碼 }});或者M(jìn)ainActivityimplements
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社會工作專業(yè)實(shí)習(xí)報(bào)告
- 債券投資分析與交易方法與案例解析01(論文資料)
- 心靈成長(課件)-生產(chǎn)經(jīng)營管理-經(jīng)管營銷-專業(yè)資料
- 吉林省長春市文曲星名校2025屆高三(最后沖刺)英語試卷含解析
- 福建省泉州市德化一中2025屆高三第一次調(diào)研測試英語試卷含解析
- 福建省泉州永春僑中2025屆高三下學(xué)期聯(lián)合考試英語試題含解析
- 安徽省阜陽四中、阜南二中、阜南實(shí)驗(yàn)中學(xué)2025屆高三第二次聯(lián)考語文試卷含解析
- 2025屆云南省文山州廣南二中高三適應(yīng)性調(diào)研考試語文試題含解析
- 內(nèi)蒙古一機(jī)集團(tuán)第一中學(xué)2025屆高三第三次測評數(shù)學(xué)試卷含解析
- 2025屆山東省淄博一中高考臨考沖刺語文試卷含解析
- 設(shè)備修理行業(yè)行業(yè)痛點(diǎn)與解決措施
- 售后工程師售后服務(wù)標(biāo)準(zhǔn)培訓(xùn)
- 年貨節(jié)活動策劃方案
- 重慶交通大學(xué)-答辯通用PPT模板
- 2024年魯信科技股份有限公司招聘筆試參考題庫含答案解析
- NB-T 47013.1-2015 承壓設(shè)備無損檢測 第1部分-通用要求
- 湘少版小學(xué)英語單詞(含默寫版)
- 2023年江財(cái)計(jì)量經(jīng)濟(jì)學(xué)大作業(yè)
- 地基基礎(chǔ)檢測題庫(104道)
- 小學(xué)二年級數(shù)學(xué)小故事(十六篇)
- 山東工業(yè)技師學(xué)院招聘真題
評論
0/150
提交評論