Unit3-Android程序設(shè)計(jì)基礎(chǔ)_第1頁
Unit3-Android程序設(shè)計(jì)基礎(chǔ)_第2頁
Unit3-Android程序設(shè)計(jì)基礎(chǔ)_第3頁
Unit3-Android程序設(shè)計(jì)基礎(chǔ)_第4頁
Unit3-Android程序設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論