版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、教育資料實驗一:An droid用戶界面(1)一、實驗?zāi)康?. 熟悉An droid應(yīng)用程序開發(fā)環(huán)境的構(gòu)建過程,了解An droid應(yīng)用程序的文件結(jié)構(gòu),學(xué)會進行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種界面布局,掌握線性布局、框架布局、表格布局、相對布局、絕對布局、網(wǎng)格布局等界面布局的使用。二、實驗內(nèi)容 ExpreimentlHello worl
2、d!NullCheckBoxIRadioButtonCheckBox2RadioButtonZLInputACLoseaIn put按鈕時,TestView 上顯 時,在 TestView 和 CheckBox2均 和 CheckBox2被TestView 上顯RadioButto n2 選中”; 被選中;開發(fā)如圖所示的 An droid應(yīng)用程序。 功能及要求。1)在EditText中輸入數(shù)據(jù),當點擊把輸入的信息在TestView上顯示;2)當選擇CheckBox1時,在示CheckBox1被選中”;當選擇CheckBox2 上顯示“ CheckBox2被選中”;當CheckBox1 被選中時
3、,在TestView上顯示“CheckBox1 選中”;3)當選擇RadioButton1時,在示RadioButton1被選中”;當選擇時,在 TestView 上顯示“ RadioButton1 被 RadioButton1 和 RadioButton2 不能同時4)點擊Close時,關(guān)閉應(yīng)用程序。三、試做步驟和參考代碼1. 構(gòu)建實驗環(huán)境1) 下載 adt-bundle-windows-x86-20130917.467161976(集成 Android4.3 版本);2)安裝JDK;3 )注冊環(huán)境變量。2. 創(chuàng)建新的An droid程序過程1)打開 An droid 工程向?qū)В篎ile 宀
4、 New Project I An droid An droid Project2)填寫工程名稱、選擇程序運行的An droid系統(tǒng)版本、填寫應(yīng)用程序名稱3)點擊“ Finish ”按鈕,工程向?qū)鶕?jù)用戶所填寫的An droid工程信息,自動在后臺創(chuàng)建 An droid工程所需要的基礎(chǔ)文件和目錄結(jié)構(gòu)。3. 編程實現(xià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(););四、實驗要求1. 按時到指定實驗室進行實驗;2. 學(xué)生應(yīng)獨立完成An droid程序開發(fā)平臺的搭建;3. 會創(chuàng)建新的An droid應(yīng)用程序及編輯已創(chuàng)建的 An droid應(yīng)用程序;4. 完成實驗內(nèi)容要求的 An droid應(yīng)用程序五、實驗報告實驗報告應(yīng)包含以下內(nèi)容:1. 實驗?zāi)康模?. 實驗內(nèi)容;3. Android應(yīng)用程序創(chuàng)建過程(工程名字用本人的姓或班內(nèi)序號+Experiment1組成);4. 給出主要的程序代碼,如界面布局文件、邏輯代碼文件等中的實現(xiàn)代碼。5. 在報告中給出程序運行界面;6. 應(yīng)有必要的總結(jié)和分析。實驗二:An droid用戶界面(2)一、實驗?zāi)康?/p>
13、1. 掌握菜單資源的使用,能夠編程實現(xiàn)選項菜單、子菜單和快捷菜單。2. 了解操作欄和Fragment的基本概念和使用方法。3. 熟悉MV(模型中的控制器概念和界面事件,能夠處理單擊事件、按鍵事件、觸摸事件等界面事件的 處理。二、實驗內(nèi)容開發(fā)如圖所示的 An droid應(yīng)用程序。IIEH 1打印訂聞(1)( 2)( 3)功能及要求。1)圖(1)所示為程序的初始界面,給出使用在XM文件中定義和邏輯代碼動態(tài)生成兩種菜單定義方法的實現(xiàn)代碼;2)定義菜單的的點擊事件,該事件的處理過程是:若某個菜單子項被選中,在TextView控件顯示該菜單子項的名稱和菜單ID ;3)圖(2)所示是使用XM文件方法實現(xiàn)菜
14、單定義時,點擊“打印”子項時的用戶界面;4)圖(3)所示是使用邏輯代碼動態(tài)生成方法實現(xiàn)菜單定義時,點擊“打印”子項時的用戶界面。三、試做步驟和參考代碼【主要參考代碼】1)XM實現(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;四、實驗要求1.按時到指定實驗室進行實驗;2.完成實驗內(nèi)容要求的 An droid應(yīng)用程序五、實驗報告實驗報告
18、應(yīng)包含以下內(nèi)容:1. 實驗?zāi)康模?. 實驗內(nèi)容;3. Android應(yīng)用程序創(chuàng)建過程(工程名字用本人的姓或班內(nèi)序號+Experiment2組成);4. 給出主要的程序代碼,如界面布局文件、菜單定義文件、邏輯代碼文件等中的實現(xiàn)代碼。5. 在報告中給出程序運行界面;6. 應(yīng)有必要的總結(jié)和分析。實驗三:Intent及組件通信、實驗?zāi)康?. 了解使用Intent進行組件通信的原理。2. 掌握使用Intent啟動Activity 的方法。3. 掌握獲取Activity返回值的方法。、實驗內(nèi)容SuhAetivil 2關(guān)閉開發(fā)如圖所示的 An droid應(yīng)用程序。啟動 Activity 1S s/JActi
19、vity 2(1)( 2)( 3)功能及要求。1)圖(1)為程序的初始界面(父 Activity ),其主要功能是提供1個TextView和兩個Button,點擊 啟動Activity1 ”則啟動圖(2)所示的SubActivity1 (子Activity ),點擊啟動 Activity2 ”則啟動圖(3)所示的 SubActivity2 (子 Activity );2)SubActivity1 包含 1 個 TextView、1 個 EditText 和兩個 Butt on , TextView 用于提示當前 Activity 是子Activity , EditText用于輸入返回父 Act
20、ivity 的信息,點擊接受” Button則關(guān)閉SubActivity1 并把輸 入信息返回,點擊撤銷”Button則直接關(guān)閉SubActivity1 ;3)當有信息從子Activity 返回時,父Activity接收返回信息并把它顯示在TextView控件上;4)SubActivity2 包含 1 個 TextView、1 個 Butt on , TextView 用于提示當前 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 注冊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;四、實驗要求1. 按時到指定實驗室進行實驗;2. 完成實驗內(nèi)容要求的 An droid應(yīng)用程序五、實驗報告實驗報告應(yīng)包含以下內(nèi)容:1. 實驗?zāi)康模?. 實驗內(nèi)容;3. Android應(yīng)用程序創(chuàng)建過程(工程名字用本人的姓或班
33、內(nèi)序號+Experiment3組成);4. 給出主要的程序代碼,如界面布局文件、菜單定義文件、邏輯代碼文件等中的實現(xiàn)代碼。5. 在報告中給出程序運行界面;6. 應(yīng)有必要的總結(jié)和分析。實驗四:Service及后臺服務(wù)、實驗?zāi)康?. 了解Service的原理和用途,掌握本地服務(wù)的管理方法。2. 掌握服務(wù)的隱式啟動和顯式啟動方法。3. 了解線程的啟動、掛起和停止方法,了解跨線程的界面更新方法。、實驗內(nèi)容開發(fā)如圖所示的 An droid應(yīng)用程序。idkiReauhiiiulResult dftrAfiuft版勞啣定謖學(xué)運Ji(1)( 2)( 3)功能及要求。1 )圖(1)為程序的初始界面,設(shè)計 4個T
34、extView和3個Butt on2) 點擊服務(wù)綁定” Button,則將已定義好的MathService ”服務(wù)綁定到本進程(“ MathService 服務(wù)的功能是提供“ +、-、*、/ ”四個運算);3)點擊“取消綁定” Button,則將 “ MathService ”服務(wù)與本進程的綁定取消;4)點擊“數(shù)學(xué)運算”Butt on,則首先生成兩個0-100的隨機數(shù),然后分別計算這兩個數(shù)的和、差、積和商,并分別顯示在4個TextView上;若點擊“數(shù)學(xué)運算” Button時,“ MathService ”服務(wù)未被綁定或已經(jīng)解除了綁定,則顯示如圖(3)所示信息。三、試做步驟和參考代碼【主要參考
35、代碼】1 )界面設(shè)計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ù)注冊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等.壓縮文件請下載最新的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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- EHS部月度管理工作總結(jié)
- 小麥一噴三防工作總結(jié)
- 電廠拆除方案
- 第二章 計量資料的統(tǒng)計描述課件
- 《墨梅》學(xué)情分析方案
- 疫情防控校車、通勤車管理方案
- 浙教版2021-2022學(xué)年度七年級數(shù)學(xué)上冊模擬測試卷 (828)【含簡略答案】
- 浙教版2021-2022學(xué)年度七年級數(shù)學(xué)上冊模擬測試卷 (768)【含簡略答案】
- 單位內(nèi)部管理制度
- 教案中課程設(shè)計
- 《五四運動》【優(yōu)質(zhì)課件】
- 海外施工安全管理的特色與挑戰(zhàn)
- 列名單鋪墊和邀約課件
- 人工智能應(yīng)用技術(shù):專業(yè)設(shè)立論證報告
- 家政服務(wù)保潔收納培訓(xùn)方案
- 《氣敏傳感器》課件
- 怎樣讓桃樹高產(chǎn)桃樹高產(chǎn)栽培技術(shù)
- 京劇音樂藝術(shù)研究
- 駕校聯(lián)盟可行性方案
- 大模型技術(shù)深度賦能保險行業(yè)白皮書-2023.12
- 30題中核集團核電站設(shè)備管理員崗位常見面試問題含HR問題考察點及參考回答
評論
0/150
提交評論