




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Android實驗報告專業(yè):計算機(jī)科學(xué)與技術(shù)班級:學(xué)號:姓名:武易2016年11月28日實驗一 Activity生命周期一、實驗?zāi)康腁ndroid生命周期是從程序啟動到程序終止的過程。通過木次實驗深入理解Android系統(tǒng)管理生命周期的必要性,并以Activity為例說明Android系統(tǒng)是如何管理程序組件的生命周期。二、實驗設(shè)備1、硬件設(shè)備 系統(tǒng)類型:Win7版本32位,處理器:Intel (R)Core(TM) i3-2350MCPU 2. 30GHz 2. 30GHz 安裝內(nèi)存(RAM) :8. 00GB2、軟件設(shè)備 Win7 操作系統(tǒng)、Eclipse、JDK、Android SDK、A
2、DT三、實驗內(nèi)容1、實驗要求觀察Activity的生命周期。2、詳細(xì)設(shè)計 public class MainActivity extends ActionBarActivity private static String TAG二LIFECYCLE;Overridepublic void onCreate(Bundle savedlnstanceState)super onCreate(savedlnstanceState);Log. i (TAG, (1) onCreate ();button. setOnClickListener(new View.0nClickListenet () p
3、ublic void onClick(View view)finish(););Overridepublic void onStart()super onStart();Log. i (TAG, (2) onStart () “);Overridepublic void onRestorelnstanceState(Bundle savedlnstanceState)super onRestorelnstanceState(savedlnstanceState);Log i (TAG, onRestorelnstanceState () “);Overridepublic void onRes
4、ume()super onResume();Log i (TAG, onResume () );Overridepublic void onSavelnstanceState(Bundle savedlnstanceState) super onSavelnstanceState(savedlnstanceState);Log. i (TAG, (5) onSavelnstanceState () ”);Overridepublic void onRestart()super onRestart();Log. i (TAG, (6) onRestart () ”);Overridepublic
5、 void onPause ()super onPause();Log. i (TAG, (7) onPause () ”);Overridepublic void onStop()super onStop();Log. i (TAG, (8) onStop () “);Overridepublic void onDestroy()super onDestroy();Log. i (TAG, (9) onDestroy () ”);/*0verrideprotected void onCreate(Bundle savedlnstanceState) super onCreate(savedl
6、nstanceState);Overridepublic boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is presentreturn true;Overridepublic boolean onOptionsItemSelected(Menuitem item) / Handle action bar item clicks here The action bar will/ automatically handle clicks on t
7、he Home/Up button, so long/ as you specify a parent activity in AndroidManifestxmlint id = item. getltemldO ;return true;return super. onOptionsItemSelected(item);3、結(jié)果顯示實驗二用戶界面控件一、實驗?zāi)康挠脩艚缑媸菓?yīng)用程序開發(fā)的重要組成部分,決定了應(yīng)用程序是否美觀、易用。 通過木次實驗熟悉Android用戶界面的基木開發(fā)方法,了解在Android界面 開發(fā)過程中常見的界面控件的使用方法。二、實驗設(shè)備1、硬件設(shè)備 系統(tǒng)類型:Win7版
8、本32位,處理器:Intel (R) Core (TM) i32350MCPU 2. 30GHz 2. 30GHz 安裝內(nèi)存(RAM) :8. 00GB2、軟件設(shè)備 Win7 操作系統(tǒng)、Eclipse、JDK、Android SDK、ADT三、實驗內(nèi)容1、實驗要求設(shè)計一個自我介紹的界面。2、詳細(xì)設(shè)計public class MainActivity extends ActionBatActivity String name=,/,;String sex二;String hobby二String age=z/;Overrideprotected void onCreate (Bundle sav
9、edlnstanceState) super onCreate(savedlnstanceState);ShowO ;Button. OnClickListenerbuttonListener=newButton. OnClickListener () Overridepublic void onClick(View v) / TODO Auto-generated method stub name=; age=;name=editTextl getText () toStringO ;age=spinner getSelectedltem() toStringO ;editText2. se
10、tText C大家好,我是+name+,性別:+sex+,愛好:+hobby+年級:z/+age);return;button. setOnClickListener(buttonListener);checkboxListener=newCheckBox OnClickListenerCheckBox OnClickListener () Overridepublic void onClick(View v) / TODO Auto-generated method stubhobby=;if (checkBoxl. isCheckedO)if (checkBox2. isCheckedO)
11、if (checkBox3. isCheckedO)return;checkBox1. setOnClickListener (checkboxListener);checkBox2 setOnClickListener (checkboxListener);checkBox3 setOnClickListener(checkboxListener);RadioButton. OnClickListenerraidoButtonListener=newRadioButton. OnClickListener()Overridepublic void onClick(View v) / TODO
12、 Auto-generated method stubswitch(v. getldO) if (radiol. isCheckedO)return;if (radio2. isCheckedO)return;radiol. setOnClickListener(raidoButtonListener);radio2. setOnClickListener(raidoButtonListener);public void Show()Listlist二new ArrayList();list, addC大一年級);list.addC大二年級);list.addC大三年級);list.addC大
13、四年級);ArrayAdapterString8dapter=new ArrayAdapterString(this, spinner, setAdapter(adapter);3、結(jié)果顯示實驗三用戶界面布局一、實驗?zāi)康慕缍季质怯脩艚缑娼Y(jié)構(gòu)的描述,定義界面中所有的元素、結(jié)構(gòu)和相互關(guān)系,通過木次實驗了解在Android界面開發(fā)過程屮常見的界面布局的使用方法。二. 實驗設(shè)備1、硬件設(shè)備 系統(tǒng)類型:Win7版本32位,處理器:Intel (R) Core (TM) 13-2350MCPU 2. 30GHz 2. 30GHz 安裝內(nèi)存(RAM) :8. 00GB2、軟件設(shè)備 Win7 操作系統(tǒng)、Ec
14、lipse、JDK、Android SDK、ADT三、實驗內(nèi)容1、實驗要求用Tab標(biāo)簽頁實現(xiàn)多個分頁之間的切換。2、詳細(xì)設(shè)計MainActivity 代碼:SuppressWarnings (/zdeprecation/z)public class TabDemo2Activity extends TabActivity Overrideprotected void onCreate(Bundle savedlnstanceState) super onCreate(savedlnstanceState);TabHost tabHost=getTabHost();tabHost. addTab
15、(tabHost. newTabSpec(TAB1). setindicator(” 線性布局) setContent (new Intent () setClass (this, TablActivity class);tabHost. addTab(tabHost. newTabSpec(TAB2). setindicator(” 絕又寸布局) setCo nt ent (new Int ent () setClass (this, Tab2Activity class);tabHost. addTab(tabHost. newTabSpec(TAB3). setindicator(” 相
16、又寸布局) setContent (new Intent () setClass (this, Tab3Activity class);Tablel 代碼:public class TablActivity extends ActivityOverridepublic void onCreate(Bundle savedlnstanceState) super onCreate(savedlnstanceState);Table2 代碼:public class Tab2Activity extends ActivityOverridepublic void onCreate(Bundle s
17、avedlnstanceState) super onCreate(savedlnstanceState);Table3 代碼:public class Tab3Activity extends ActivityOverridepublic void onCreate(Bundle savedlnstanceState) super onCreate(savedlnstanceState);3、結(jié)果顯示實驗四廣播消息一、實驗?zāi)康腎ntent是一種消息傳播機(jī)制,用于組件之間數(shù)據(jù)交換和發(fā)送廣播消息。通過 本次實驗了解Android系統(tǒng)的組件通信原理,掌握利用Intent啟動其他組 件的方法,以及利
18、用Intent獲取信息和發(fā)送廣播消息的方法。二、實驗設(shè)備1、硬件設(shè)備 系統(tǒng)類型:Win7版本32位,處理器:Intel (R) Core (TM) i32350MCPU 2. 30GHz 2. 30GHz 安裝內(nèi)存(RAM) :8. 00GB2、軟件設(shè)備 Win7 操作系統(tǒng)、Eclipse、JDK、Android SDK、ADT三、實驗內(nèi)容1、實驗要求實現(xiàn)具有“登錄”按鈕的主界面,點擊登錄按鈕后打開一個新的Activity,并 且將主界面的用戶名傳遞過來,點擊發(fā)送廣播按鈕發(fā)送廣播。2、詳細(xì)設(shè)計MainActivity 代碼:public class MainActivity extends A
19、ctionBatActivity Overrideprotected void onCreate(Bundle savedlnstanceState) super. onCreate(savedlnstanceState);final Intent intent二new Intent(this, NewActivity .class);Button. OnClickListenerLoginListenei二newButton.OnClickListener()Overridepublic void onClick(View i) / TODO Auto-generated method st
20、ubswitch(i getldO) if (LoginCheck() intent putExtra (userz,,Name getText() toString ();startActivity(intent);return;elseToast makeText (getApplicationContext (), 用戶名或密碼錯誤,Toast. LENGTH_SHORT). show();return;finishO ;;Login setOnClickListener(LoginListener);Quit setOnClickListener(LoginListener);publ
21、ic boolean LoginCheck()if (!Name getText() toString () equals (/zadminzz) return false;else if(!Password. getText(). toString(). equals(000) return false;elsereturn true;MyBroadcastReceiver 代碼:public class MyBroadcastReceiver extends BroadcastReceiverOverridepublic void onReceive(Context argO, Inten
22、t argl) / TODO Auto-generated method stubToast makeText (argO,arg1. getStringExtra (key),Toast. LENGTH_SHORT). show();NewActivity 代碼:public class NewActivity extends ActionBarActivity Overrideprotected void onCreate(Bundle savedlnstanceState) super onCreate(savedlnstanceState);Intent intent=getlnten
23、t ();welcome setText (歡迎你:+intent. getStringExtra (user);Button. OnClickListenerbuttonListener=newButton. OnClickListener () Overridepublic void onClick(View argO) / TODO Auto-generated method stubintent2putExtra(key, editText getText(). toString (); sendBroadcast(intent2);button. setOnClickListener
24、(buttonListener);3、結(jié)果顯示實驗五后臺服務(wù)一、實驗?zāi)康腟ervice是Android系統(tǒng)的服務(wù)組件,適用于開發(fā)沒有用戶界面且長時間在后臺運(yùn)行的功能。通過木次試驗了解后臺服務(wù)的基木原理,掌握木地服務(wù)的使 用方法。二、實驗設(shè)備1、硬件設(shè)備 系統(tǒng)類型:Win7版本32位,處理器:Intel (R) Core (TM) i32350MCPU 2. 30GHz 2. 30GHz 安裝內(nèi)存(RAM) :8. 00GB2、軟件設(shè)備 Win7 操作系統(tǒng)、Eclipse、JDK、Android SDK、ADT三、實驗內(nèi)容1、實驗要求創(chuàng)建一個Service服務(wù)用來完成簡單的數(shù)學(xué)運(yùn)算。2、詳細(xì)設(shè)計
25、MainActivity 代碼:public class MainActivity extends ActionBarActivity private MathService mathService;private boolean isBound=false;Overrideprotected void onCreate(Bundle savedlnstanceState) super onCreate(savedlnstanceState);Begin setOnClickListener(new View OnClickListener() Overridepublic void onCl
26、ick(View argO) / TODO Auto-generated method stubif (!isBound)finalIntentservicelntent=newIntent(MainActivity this, MathService class);bindService(serviceintent, mConnection, Context BIND_AUTO_CREATE); isBound二true;);Do. setOnClickListener (new View.0nClickListenerO Overridepublic void onClick(View a
27、rgO) / TODO Auto-generated method stubif(mathService=null)text View. setText C 未綁定服務(wù));return;int a=Integer parseint(One. getText () toString (); int b=Integer parseint(Two getText() toString(); int s=mathService.Compare(a, b);textView. setText (較大的數(shù)為+s););Stop setOnClickListener(new View OnClickList
28、ener () Overridepublic void onClick(View argO) if (isBound)isBound二false;unbindService(mConnection);mathService=null;);Quit setOnClickListener(new View OnClickListener()Overridepublic void onClick(View argO) finishO ;);private ServiceConnection mConnection=new ServiceConnection ()Override public voi
29、d onServiceConnected(ComponentName name, IBinderservice) mathService=(MathService LocalBinder)service) getService();Overridepublic void onServiceDisconnected(ComponentName name) mathService=null;MathService 代碼:public class MathService extends Serviceprivate final IBinder mBinder=new LocalBinder();pu
30、blic class LocalBinder extends BinderMathService getService () return MathService.this;Overridepublic IBinder onBind(Intent argO) / TODO Auto-generated method stubToast. makeText (this, 已 啟 動 服 務(wù)Toast. LENGTH_SHORT). show ();return mBinder;Overridepublic boolean onUnbind(Intent intent)Toast. makeTex
31、t (this, 已 取 消 服 務(wù)Toast. LENGTH_SHORT). show();return false;public int Compare(int a, int b) 辻(ab) return a;else if(ba)return b;elsereturn 0;3、結(jié)果顯示實驗六數(shù)據(jù)庫存儲一、實驗?zāi)康臄?shù)據(jù)庫存儲是Android數(shù)據(jù)存儲中非常重要的內(nèi)容,Android提供一個輕量級的嵌入式數(shù)據(jù)庫SQLite,木次試驗將學(xué)習(xí)如何通過代碼建立數(shù)據(jù)庫,并實 現(xiàn)添加、刪除、查找和更新等基木操作。二、實驗設(shè)備1、硬件設(shè)備 系統(tǒng)類型:Win7版本32位,處理器:Intel (R) Cor
32、e (TM) i32350MCPU 2. 30GHz 2. 30GHz 安裝內(nèi)存(RAM) :8. 00GB2、軟件設(shè)備 Win7 操作系統(tǒng)、Eclipse、JDK、Android SDK、ADT三、實驗內(nèi)容1、實驗要求建立一個數(shù)據(jù)庫并完成增刪查改操作。2、詳細(xì)設(shè)計MainActivity 代碼:public class MainActivity extends ActionBatActivity private DBAdapter dbadapter;private Context mContext;public DBAdapter getDbadapter() return dbadapt
33、er;public void setDbadapter(DBAdapter dbadapter) this. dbadapter = dbadapter;Overrideprotected void onCreate(Bundle savedlnstanceState) QuitListener=newaddLi stener=newsuper onCreate (savedlnstanceState); mContext 二 this;Button. OnClickListenerButton. OnClickListener()Overridepublic void onClick(Vie
34、w argO) / TODO Auto-generated method stub finishO ;;Button.OnClickListenerButton.OnClickListener ()Overridepublic void onClick(View argO) / TODO Auto-generated method stub dbadapter =new DBAdapter(mContext); dbadapter open();People add=new People ();add Name=name getText() toString(); add Sex=sex ge
35、tText() toString();add Place二place getText() toString();add Pay二Integer. parseint(pay. getText () toString ();cleanListener=newdeleteListener=newdbadapter insert(add);dbadapter. close ();Button.OnClickListenerButton.OnClickListener ()Overridepublic void onClick(View argO) / TODO Auto-generated metho
36、d stub showdata setText C);Button.OnClickListenerButton.OnClickListener ()Overridepublic void onClick(View argO) / TODO Auto-generated method stub dbadapter =new DBAdapter(mContext); dbadapter open();dbadapter close();dbadapter deleteAllDataO ;Button. OnClickListenetShowListener=new;Button.OnClickLi
37、stener ()Overridepublic void onClick(View argO) / TODO Auto-generated method stubdbadapter =new DBAdapter(mContext);dbadapter open();People shows=new People56;String resuIts = “;if (ID. getTex t (). to String () null)Toast. makeText (MainActi vity .this, 請輸入 ID,Toast. LENGTH_SHORT). show();else if(d
38、badapter getAllDataO!=null)shows=dbadapter getAllDataO ;dbadapter close();for (int i二0;ishows. length;i+)results += showsi;resuIts += n;elseToast. makeText (MainActivity. this,未找到相 關(guān)記錄 ,Toast. LENGTH_SHORT). show ();showdata setText(results toString();Button. OnClickListenetID_deleteListener=newButt
39、on.OnClickListener ()Overridepublic void onClick(View argO) / TODO Auto-generated method stubif (ID. getTex t (). to String (). equals ()Toast. makeText (MainActi vity .this,請輸入 ID,Toast. LENGTH_SHORT). show();else dbadapter =new DBAdapter(mContext);dbadapter. open();int id二Integer parselnt(ID. getT
40、ext() toString();dbadapter deleteOneData(id);dbadapter. close ();Button. OnClickListenerID_updateListener=newButton.OnClickListener() Overridepublic void onClick(View argO) / TODO Auto-generated method stubif (ID. getTex t (). to String (). equals ()Toast. makeText (MainActi vity .this,請輸入 ID,Toast.
41、 LENGTH_SHORT). show();else dbadapter =new DBAdapter(mContext);dbadapter open();long id二Integer parselnt(ID getText() toString ();People shows=new Peoplel;if (dbadapter getOneData(id)!=null)shows=dbadapter getOneData(id);dbadapter. close ();String resuIts = shows0toString();showdata setText(results)
42、;Button.OnClickListener() Overridepublic void onClick(View argO) / TODO Auto-generated method stubif (ID. getTex t (). to String (). equals ()Toast. makeText (MainActi vity .this,請輸入 ID,Toast. LENGTH_SHORT). show();else dbadapter =new DBAdapter(mContext);dbadapter. open();long id二Integer parseint(ID
43、 getText() toString();People people二new People ();people Name二name getText() toString();people Sex=sex getText() toString();people Place二place getText() toString();people Pay=Integer parseint (pay. getText() toString ();dbadapter updateOneData(id, people);dbadapter. close ();add setOnClickListener(a
44、ddListener);show. setOnClickListener(ShowListener);clean.setOnClickListener(cleanListener);delete setOnClickListener(deleteListener);Quit setOnClickListener(QuitListener);ID_delete setOnClickListener (ID_deleteListener);ID_check setOnClickListener(ID_checkListener);ID_update setOnClickListener(ID_up
45、dateListener);DBAdapter 代碼:public class DBAdapter private static final String DB_NAIE二people, db;private static final String DB_TABLE二peopleinfo;private static final int DB_VERSION=1;publicstaticfinalStringKEY_ID二_id;publicstaticfinalStringKEY_NAME=/ZnamepublicstaticfinalStringKEY_SEX二sex;publicstat
46、icfinalStringKEY_PLACE=place;publicstaticfinalStringKEY_PAY二pay;private SQLiteDatabase db;private final Context context;private DBOpenHelper dbOpenHelper;private static class DBOpenHelper extends SQLiteOpenHelperpublic DBOpenHelper (Context context,String name, CursorFactory factory,int version) sup
47、er(context, name, factory, version);private static final String DB_CREATE=/,create table +DB_TABLE+(+KEY_ID+ integer primary key autoincrement, +KEY_AME+ text not null, +KEY_SEX+ text not null, +KEY_PLACE+ text not null, +KEY_PAY+ integer) ;z/;Overridepublic void onCreate(SQLiteDatabase _db) / TODO
48、Auto-generated method stub_db. execSQL(DB_CREATE);Overridepublic void onUpgrade(SQLiteDatabase _db, int _oldVersion, int_newVersion) / TODO Auto-generated method stub_db. execSQL(DROP TABLE IF EXISTS +DB_TABLE);onCreate(_db);public DBAdapter (Context _context) context=_context;public void open() thr
49、ows SQLiteException trydbOpenHelper=newDBOpenHelper(context, DB_NAME, null, DB_VERSION);dbdbOpenHelper getWritableDatabase ();catch(SQLiteException ex) db=dbOpenHelper getReadableDatabase();ex. printStackTrace ();public void close() 辻(db!=null) db close ();db=null;public void insert (People people)C
50、ontentValues newValues=new ContentValues ();newValues put(KEY_SEX, people Sex);newValues put(KEY_PLACE, people Place);newValues put(KEY_PAY, people Pay);db. insert (DB_TABLE, null,newValues);Toast makeText(context,Toast. LENGTH_SHORT). show();public void deleteAllData()db. delete(DB_TABLE, null,null
51、);Toast makeText(context,Toast. LENGTH_SHORT). show ();public void deleteOneData(long id) if (this getOneData(id)!=null)db. delete(DB_TABLE, KEY_ID+二+id,null);Toast. makeText (context,冊ljToast. LENGTH_SHORT). show();public void updateOneData(long id,People people) if(this getOneData(id)!=null) Conte
52、ntValues updateValues=new ContentValues();updateValues put(KEY_NAME, people Name);updateValues put(KEY_SEX, people Sex);updateValues put(KEY_PLACE, people Place);updateValues put(KEY_PAY, people Pay);db.update(DB_TABLE, updateValues, KEY_ID+二+id, null);Toast. makeText (context, 更新數(shù)據(jù)成功Toast. LENGTH_SHORT). show();private People ConvertToPeople(Cursor cursor) int resultCounts=cursor getCount();if (resultCounts=0| !cursor moveToFirst()return null;People peoples=new PeopleresultCounts;for (int i二0;iresuItCounts;i+) peoplesi=new Peo
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人住房按揭貸款擔(dān)保協(xié)議合同版
- 2025年度公司銷售業(yè)務(wù)員協(xié)議書:智能穿戴設(shè)備銷售代理協(xié)議
- 2025年度就業(yè)協(xié)議違約金賠償與就業(yè)心理調(diào)適協(xié)議
- 2025年度綠色環(huán)保材料研發(fā)股東合作協(xié)議書
- 2025年度停車場停車費電子支付服務(wù)合同
- 2025年度建設(shè)銀行個人住房貸款合同電子版
- 2025年度不銹鋼欄桿項目風(fēng)險評估與管理合同
- 農(nóng)資裝卸搬運(yùn)服務(wù)協(xié)議
- 2025年度農(nóng)村土地經(jīng)營權(quán)轉(zhuǎn)讓與農(nóng)業(yè)扶貧項目合作合同
- 二零二五年度土地承包種植與鄉(xiāng)村旅游結(jié)合合同
- 小升初、小學(xué)生滿分優(yōu)秀作文匯編100篇
- 次聲波在臨床醫(yī)學(xué)及麻醉中的作用 次聲波在臨床麻醉中的作用
- 加盟招商方案PPT模板
- 中石油HSE培訓(xùn)試題集(共33頁)
- 2022年云南省中考數(shù)學(xué)試題及答案解析
- 噴(烤)漆房VOCs治理設(shè)施日常運(yùn)行臺賬
- TS16949五大工具:SPC
- 五年級下冊-綜合實踐教案
- 貴州出版社小學(xué)五年級下冊綜合實踐活動教案全冊
- [方案]隱框玻璃幕墻施工方案
- 設(shè)備安裝檢驗批表格
評論
0/150
提交評論