智能終端軟件開發(fā)試驗(yàn)_第1頁
智能終端軟件開發(fā)試驗(yàn)_第2頁
智能終端軟件開發(fā)試驗(yàn)_第3頁
智能終端軟件開發(fā)試驗(yàn)_第4頁
智能終端軟件開發(fā)試驗(yàn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、教育資料實(shí)驗(yàn)一:An droid用戶界面(1)一、實(shí)驗(yàn)?zāi)康?. 熟悉An droid應(yīng)用程序開發(fā)環(huán)境的構(gòu)建過程,了解An droid應(yīng)用程序的文件結(jié)構(gòu),學(xué)會(huì)進(jìn)行An droid應(yīng)用程序開發(fā)。2. 理解 An droid 用戶界面的基本概念,掌握TextView、EditText、Button、ImageButt on、Checkbox、RadioButt on、Spi nner、ListView 等常用控件的使用。3. 了解An droid系統(tǒng)的6種界面布局,掌握線性布局、框架布局、表格布局、相對(duì)布局、絕對(duì)布局、網(wǎng)格布局等界面布局的使用。二、實(shí)驗(yàn)內(nèi)容 ExpreimentlHello worl

2、d!NullCheckBoxIRadioButtonCheckBox2RadioButtonZLInputACLoseaIn put按鈕時(shí),TestView 上顯 時(shí),在 TestView 和 CheckBox2均 和 CheckBox2被TestView 上顯RadioButto n2 選中”; 被選中;開發(fā)如圖所示的 An droid應(yīng)用程序。 功能及要求。1)在EditText中輸入數(shù)據(jù),當(dāng)點(diǎn)擊把輸入的信息在TestView上顯示;2)當(dāng)選擇CheckBox1時(shí),在示CheckBox1被選中”;當(dāng)選擇CheckBox2 上顯示“ CheckBox2被選中”;當(dāng)CheckBox1 被選中時(shí)

3、,在TestView上顯示“CheckBox1 選中”;3)當(dāng)選擇RadioButton1時(shí),在示RadioButton1被選中”;當(dāng)選擇時(shí),在 TestView 上顯示“ RadioButton1 被 RadioButton1 和 RadioButton2 不能同時(shí)4)點(diǎn)擊Close時(shí),關(guān)閉應(yīng)用程序。三、試做步驟和參考代碼1. 構(gòu)建實(shí)驗(yàn)環(huán)境1) 下載 adt-bundle-windows-x86-20130917.467161976(集成 Android4.3 版本);2)安裝JDK;3 )注冊(cè)環(huán)境變量。2. 創(chuàng)建新的An droid程序過程1)打開 An droid 工程向?qū)В篎ile 宀

4、 New Project I An droid An droid Project2)填寫工程名稱、選擇程序運(yùn)行的An droid系統(tǒng)版本、填寫應(yīng)用程序名稱3)點(diǎn)擊“ Finish ”按鈕,工程向?qū)?huì)根據(jù)用戶所填寫的An droid工程信息,自動(dòng)在后臺(tái)創(chuàng)建 An droid工程所需要的基礎(chǔ)文件和目錄結(jié)構(gòu)。3. 編程實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容【主要參考代碼】1 )界面布局vRadioButt on an droid:id=+id/RadioButto n01an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntand

5、roid:text=RadioButton01 vRadioButt on an droid:id=+id/RadioButto n02an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntandroid:text=RadioButton02 v/RadioButto nvButton an droid:id=+id/Butto n01an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntan droid

6、:text=I nput v/Butto nvButton an droid:id=+id/Butto n02an droid:layout_width=wrap_c on te ntan droid:layout_height=wrap_c on te ntan droid:text=Close v/Butto nv/L in earLayout2)獲取各控件IDfinal TextView textView = (TextView)fi ndViewByld(R.id.TextViewOI);finalEditText editText = ( EditText )findViewById

7、(R.id. EditText 01);final CheckBox checkBox 1= (CheckBox)fi ndViewByld(R.id.CheckBoxOI);final CheckBox checkBox2= (CheckBox)findViewByld(R.id.CheckBox02);final RadioButt on radioButton1 = (RadioButto n)fin dViewByld(R.id.RadioButto n01); final RadioButt on radioButt on2 = (RadioButto n)fin dViewByld

8、(R.id.RadioButto n02); Button butt on1 = (Butto n)fin dViewByld(R.id.Butto n01);Button butt on2 = (Butto n)fin dViewByld(R.id.Butto n02);3 )監(jiān)聽事件CheckBox 監(jiān)聽:CheckBox. On ClickListe ner checkboxListe ner = new CheckBox.O nClickListe ner() Overridepublic void on Click(View v) switch(v.getld()case R.id.

9、CheckBox01:textView.setText(CheckBoxO1, isChecked:+Stri ng.valueOf(checkBox1.isChecked();return;case R.id.CheckBox02:textView.setText(CheckBox02,isChecked:+Stri ng.valueOf(checkBox2.isChecked();return;;RadioButt on監(jiān)聽:RadioButto n.On ClickListe ner radioButto nListe ner = newRadioButto n.On ClickList

10、e ner()Overridepublic void on Click(View v) switch(v.getld()case R.id.RadioButto n01:textView.setText(RadioButt on1 is selected); return;case R.id.RadioButto n02:textView.setText(RadioButton2 is selected);return;radioButt on 1.set On ClickListe ner(radioButto nListe ner);radioButt on 2.set On ClickL

11、iste ner(radioButto nListe ner);Butt on監(jiān)聽:Butto n1.set On ClickListe ner( new View. On ClickListe ner() public void on Click(View view) Stri ng msg = editText.getText().toStri ng();textView.setText(msg););Butto n2.set On ClickListe ner( new View. On ClickListe ner() public void on Click(View view) f

12、in ish(););四、實(shí)驗(yàn)要求1. 按時(shí)到指定實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn);2. 學(xué)生應(yīng)獨(dú)立完成An droid程序開發(fā)平臺(tái)的搭建;3. 會(huì)創(chuàng)建新的An droid應(yīng)用程序及編輯已創(chuàng)建的 An droid應(yīng)用程序;4. 完成實(shí)驗(yàn)內(nèi)容要求的 An droid應(yīng)用程序五、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告應(yīng)包含以下內(nèi)容:1. 實(shí)驗(yàn)?zāi)康模?. 實(shí)驗(yàn)內(nèi)容;3. Android應(yīng)用程序創(chuàng)建過程(工程名字用本人的姓或班內(nèi)序號(hào)+Experiment1組成);4. 給出主要的程序代碼,如界面布局文件、邏輯代碼文件等中的實(shí)現(xiàn)代碼。5. 在報(bào)告中給出程序運(yùn)行界面;6. 應(yīng)有必要的總結(jié)和分析。實(shí)驗(yàn)二:An droid用戶界面(2)一、實(shí)驗(yàn)?zāi)康?/p>

13、1. 掌握菜單資源的使用,能夠編程實(shí)現(xiàn)選項(xiàng)菜單、子菜單和快捷菜單。2. 了解操作欄和Fragment的基本概念和使用方法。3. 熟悉MV(模型中的控制器概念和界面事件,能夠處理單擊事件、按鍵事件、觸摸事件等界面事件的 處理。二、實(shí)驗(yàn)內(nèi)容開發(fā)如圖所示的 An droid應(yīng)用程序。IIEH 1打印訂聞(1)( 2)( 3)功能及要求。1)圖(1)所示為程序的初始界面,給出使用在XM文件中定義和邏輯代碼動(dòng)態(tài)生成兩種菜單定義方法的實(shí)現(xiàn)代碼;2)定義菜單的的點(diǎn)擊事件,該事件的處理過程是:若某個(gè)菜單子項(xiàng)被選中,在TextView控件顯示該菜單子項(xiàng)的名稱和菜單ID ;3)圖(2)所示是使用XM文件方法實(shí)現(xiàn)菜

14、單定義時(shí),點(diǎn)擊“打印”子項(xiàng)時(shí)的用戶界面;4)圖(3)所示是使用邏輯代碼動(dòng)態(tài)生成方法實(shí)現(xiàn)菜單定義時(shí),點(diǎn)擊“打印”子項(xiàng)時(shí)的用戶界面。三、試做步驟和參考代碼【主要參考代碼】1)XM實(shí)現(xiàn)方法2)獲取各控件IDfinal static int MENU_OO = Men u.FIRST;final static int MENU_01 = Me nu.FIRST+1;final static int MENU_02 = Men u.FIRST+2;final static int MENU_03 = Men u.FIRST+3;final static int MENU_04 = Men u.FIRST

15、+4; public boolea n on CreateOpti on sMe nu(Menu menu) men u.add(0,MENU_00,0, me nu.add(0,MENU_01,1, men u.add(0,MENU_02,2, men u.add(0,MENU_03,3, me nu.add(0,MENU_04,4, return true;打印 ”).setlcon(R.drawable.picO); 新建).setIcon(R.drawable.pic1); 郵件).setIcon(R.drawable.pic2); 設(shè)置).setIcon(R.drawable.pic

16、3); 訂閱).setIcon(R.drawable.pic4);3 )邏輯代碼public boolea n onO pti on sltemSelected(Me nultem item) TextView label = (TextView)fi ndViewByld(R.id.label);switch (item.getltemld() case MENU 00:label.setText(” return true;case MENU_01: label.setText( return true;case MENU_02: label.setText( return true;ca

17、se MENU_03: label.setText( return true;case MENU_04: label.setText( return true;default:打印,菜單ID : 新建,菜單ID : 郵件,菜單ID : 設(shè)置,菜單ID : 訂閱,菜單ID :+ item.getltemld();+ item.getltemld();+ item.getltemld();+ item.getltemld();+ item.getltemld();return false;四、實(shí)驗(yàn)要求1.按時(shí)到指定實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn);2.完成實(shí)驗(yàn)內(nèi)容要求的 An droid應(yīng)用程序五、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告

18、應(yīng)包含以下內(nèi)容:1. 實(shí)驗(yàn)?zāi)康模?. 實(shí)驗(yàn)內(nèi)容;3. Android應(yīng)用程序創(chuàng)建過程(工程名字用本人的姓或班內(nèi)序號(hào)+Experiment2組成);4. 給出主要的程序代碼,如界面布局文件、菜單定義文件、邏輯代碼文件等中的實(shí)現(xiàn)代碼。5. 在報(bào)告中給出程序運(yùn)行界面;6. 應(yīng)有必要的總結(jié)和分析。實(shí)驗(yàn)三:Intent及組件通信、實(shí)驗(yàn)?zāi)康?. 了解使用Intent進(jìn)行組件通信的原理。2. 掌握使用Intent啟動(dòng)Activity 的方法。3. 掌握獲取Activity返回值的方法。、實(shí)驗(yàn)內(nèi)容SuhAetivil 2關(guān)閉開發(fā)如圖所示的 An droid應(yīng)用程序。啟動(dòng) Activity 1S s/JActi

19、vity 2(1)( 2)( 3)功能及要求。1)圖(1)為程序的初始界面(父 Activity ),其主要功能是提供1個(gè)TextView和兩個(gè)Button,點(diǎn)擊 啟動(dòng)Activity1 ”則啟動(dòng)圖(2)所示的SubActivity1 (子Activity ),點(diǎn)擊啟動(dòng) Activity2 ”則啟動(dòng)圖(3)所示的 SubActivity2 (子 Activity );2)SubActivity1 包含 1 個(gè) TextView、1 個(gè) EditText 和兩個(gè) Butt on , TextView 用于提示當(dāng)前 Activity 是子Activity , EditText用于輸入返回父 Act

20、ivity 的信息,點(diǎn)擊接受” Button則關(guān)閉SubActivity1 并把輸 入信息返回,點(diǎn)擊撤銷”Button則直接關(guān)閉SubActivity1 ;3)當(dāng)有信息從子Activity 返回時(shí),父Activity接收返回信息并把它顯示在TextView控件上;4)SubActivity2 包含 1 個(gè) TextView、1 個(gè) Butt on , TextView 用于提示當(dāng)前 Activity 是子 Activity , Button 則直接關(guān)閉SubActivity2 。三、試做步驟和參考代碼【主要參考代碼】1 )父 Activity2) SubActivity1v?xml versi

21、on=1.0 encoding=utf-8?vTextViewan droid:id=+id/textShowan droid:layout_width=fill_pare ntan droid:layout_height=wrap_c on te ntan droid:text=SubActivity 1/vEditTextan droid:id=+id 尼ditan droid:layout_width=fill_pare ntan droid:layout_height=wrap_c on te ntan droid:text=/vButt onan droid:id=+id/btn_o

22、kan droid:layout_width=100dipan droid:layout_height=wrap_c on te ntan droid:text=接受/vButt onan droid:id=+id/btn_ca ncelan droid:layout_width=100dipan droid:layout_height=wrap_c on te ntan droid:text=撤銷/v/Lin earLayout3) SubActivity2v?xml version=1.0 encoding=utf-8?vLin earLayout xml ns:a ndroid= ndr

23、oid an droid:orie ntati on=verticalan droid:layout_width=fill_pare ntan droid:layout_height=fill_pare ntvTextViewan droid:id=+id/textShowan droid:layout_width=fill_pare ntan droid:layout_height=wrap_c on te ntandroid:text=SubActivity 2/v/Lin earLayout4 )子 Activity 注冊(cè)vactivity an droid:label=stri ng/

24、app_ namean droid:n ame=.SubActivity1 v/activity vactivity an droid:label=stri ng/app_ namean droid:n ame=.SubActivity2v/activity4) SubActivityl 定義public class SubActivityl exte nds Activity Overridepublic void on Create(B un dle savedl nsta nceState) super.o nCreate(saved In sta nceState); setC ont

25、en tView(R.layout.subactivityl);final EditText editText = (EditText)fi ndViewByld(R.id.edit); Button btnOK = (Butto n)fin dViewByld(R.id.btn_ok);Button btn Ca ncel = (Butto n)fin dViewByld(R.id.btn_ca ncel);btnO K.set On ClickListe ner( new On ClickListe ner() public void on Click(View view)Stri ng

26、uriStri ng = editText.getText().toStri ng(); Uri data = Uri.parse(uriStri ng);Intent result = new lntent(n ull, data);setResult(RESULT_OK, result); fin ish(););bt nCa ncel.set On ClickListe ner( new On ClickListe ner() public void on Click(View view)setResult(RESULT_CANCELED, n ull);fin ish(););5) S

27、ubActivity2 定義public class SubActivity2 exte nds Activity /* Called when the activity is first created. */Overridepublic void on Create(B un dle savedI nsta nceState) super.o nCreate(saved In sta nceState);setC onten tView(Rayout.subactivity2);Button bt nRetur n = (Butto n)fin dViewByld(R.id.btn_ret

28、urn);btn Retur n. set On ClickListe ner( new On ClickListe ner()public void on Click(View view) setResult(RESULT_CANCELED, n ull); fin ish(););6) 主要邏輯代碼public class ActivityCom muni cati on Activity exte nds Activity private static final int SUBACTIVITY1 = 1;private static final int SUBACTIVITY2 = 2

29、;TextView textView;/* Called when the activity is first created. */Overridepublic void on Create(B un dle savedI nsta nceState) super.o nCreate(saved In sta nceState);setC onten tView(Rayout.ma in);textView = (TextView)fi ndViewByld(R.id.textShow);final Button btn1 = (Butto n)fin dViewById(R.id.bt n

30、1);final Button btn2 = (Butto n)fin dViewById(R.id.bt n2);bt n1.setO nClickListe ner( new On ClickListe ner()public void on Click(View view)Intent intent = new Intent(ActivityCommunicationActivity.this, SubActivity1.class);startActivityForResult(i ntent, SUBACTIVITY1););bt n2.setO nClickListe ner( n

31、ew On ClickListe ner() public void on Click(View view)Intent intent = new Intent(ActivityCommunicationActivity.this, SubActivity2.class);startActivityForResult(intent, SUBACTIVITY2););Overrideprotected void on ActivityResult(i nt requestCode, int resultCode, Intent data) super.o nActivityResult(requ

32、estCode, resultCode, data);switch(requestCode)case SUBACTIVITY1:if (resultCode = RESULT_OK)Uri uriData = data.getData(); textView.setText(uriData.toStr in g();break;case SUBACTIVITY2:break;四、實(shí)驗(yàn)要求1. 按時(shí)到指定實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn);2. 完成實(shí)驗(yàn)內(nèi)容要求的 An droid應(yīng)用程序五、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告應(yīng)包含以下內(nèi)容:1. 實(shí)驗(yàn)?zāi)康模?. 實(shí)驗(yàn)內(nèi)容;3. Android應(yīng)用程序創(chuàng)建過程(工程名字用本人的姓或班

33、內(nèi)序號(hào)+Experiment3組成);4. 給出主要的程序代碼,如界面布局文件、菜單定義文件、邏輯代碼文件等中的實(shí)現(xiàn)代碼。5. 在報(bào)告中給出程序運(yùn)行界面;6. 應(yīng)有必要的總結(jié)和分析。實(shí)驗(yàn)四:Service及后臺(tái)服務(wù)、實(shí)驗(yàn)?zāi)康?. 了解Service的原理和用途,掌握本地服務(wù)的管理方法。2. 掌握服務(wù)的隱式啟動(dòng)和顯式啟動(dòng)方法。3. 了解線程的啟動(dòng)、掛起和停止方法,了解跨線程的界面更新方法。、實(shí)驗(yàn)內(nèi)容開發(fā)如圖所示的 An droid應(yīng)用程序。idkiReauhiiiulResult dftrAfiuft版勞啣定謖學(xué)運(yùn)Ji(1)( 2)( 3)功能及要求。1 )圖(1)為程序的初始界面,設(shè)計(jì) 4個(gè)T

34、extView和3個(gè)Butt on2) 點(diǎn)擊服務(wù)綁定” Button,則將已定義好的MathService ”服務(wù)綁定到本進(jìn)程(“ MathService 服務(wù)的功能是提供“ +、-、*、/ ”四個(gè)運(yùn)算);3)點(diǎn)擊“取消綁定” Button,則將 “ MathService ”服務(wù)與本進(jìn)程的綁定取消;4)點(diǎn)擊“數(shù)學(xué)運(yùn)算”Butt on,則首先生成兩個(gè)0-100的隨機(jī)數(shù),然后分別計(jì)算這兩個(gè)數(shù)的和、差、積和商,并分別顯示在4個(gè)TextView上;若點(diǎn)擊“數(shù)學(xué)運(yùn)算” Button時(shí),“ MathService ”服務(wù)未被綁定或已經(jīng)解除了綁定,則顯示如圖(3)所示信息。三、試做步驟和參考代碼【主要參考

35、代碼】1 )界面設(shè)計(jì)2)服務(wù)定義public class MathService exte nds Serviceprivate final IBin der mBin der = new LocalB in der();public class LocalB in der exte nds BinderMathService getService() return MathService.this;Overridepublic IBin der onBin d(I ntent intent) Toast.makeText(this,本地綁定:MathService,Toast.LENGTH_

36、SHORT).show(); return mBi nder;Overridepublic boolea n onUnbin d(I ntent inten t)Toast.makeText(this,取消本地綁定:MathService,Toast.LENGTH_SHORT).show();return false;public long Add(l ong a, I ong b) return a+b;public long Sub(l ong a, l ong b) return a-b;public long Mul(l ong a, l ong b) return a*b;publi

37、c double Div(lo ng a, l ong b) retur n (double)a/(double)b;3 )服務(wù)注冊(cè)vservice an droid: name=.MathService/4)主要邏輯代碼public class Mai nActivity exte nds Activity private MathService mathService; private boolea n isBo und = false;TextView addLable,subLable,mulLable,divLable;Overridepublic void on Create(B

38、un dle saved In sta nceState) super.o nCreate(savedl nsta nceState);setC on te ntView(R.layout.activity_mai n);addLable = (TextView)fi ndViewByld(R.id.labell);subLable = (TextView)fi ndViewByld(R.id.label2);mulLable = (TextView)fi ndViewByld(R.id.label3);divLable = (TextView)fi ndViewByld(R.id.label

39、4);Button bin dButton = (Butto n)fin dViewByld(R.id.bi nd);Button un bi ndButton = (Butto n)fin dViewByld(R.id.u nbi nd);Butt on computButt on = (Butt on)fin dViewByld(Rpute);bin dButt on .setO nClickListe ner( new View. On ClickListe ner()Overridepublic void on Click(View v) if(!isBou nd)newfinalIn

40、tentservice IntentInten t(Mai nActivity.this,MathService.class);bin dService(serviceI nten t,mCo nn ectio n,Co ntext.BIND_AUTO_CREATE); isBo und = true;);unbin dButt on. set On ClickListe ner(new View. On ClickListe ner()Overridepublic void on Click(View v) if(isBou nd)isBo und = false;un bi ndService(mC onn ectio n);mathService = n ull;);computButton .setOnClickListener(new View. OnClickListener()Overridepublic void on Click(View v) if (mathService = nu ll)addLable.setText(”未綁定服務(wù)”);subLable.setText();mulLable.setText();divLable.setText();return;long a = Math.rou nd(Math.ra

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論