2023年Android實驗報告新編_第1頁
2023年Android實驗報告新編_第2頁
2023年Android實驗報告新編_第3頁
2023年Android實驗報告新編_第4頁
2023年Android實驗報告新編_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Android實驗報告專業(yè):計算機科學與技術班級:13419011學號:姓名:武易 ? ? ?? ? 2023年11月28日實驗一Activity生命周期實驗目的Android生命周期是從程序啟動到程序終止的過程。通過本次實驗進一步理解Android系統(tǒng)管理生命周期的必要性,并以Activity為例說明Android系統(tǒng)是如何管理程序組件的生命周期。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定觀測Activity的生命周期。2、具體設計packagecom.example.activitylifecycle;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.Button;publicclassMainActivityextendsActionBarActivity{privatestaticStringTAG="LIFECYCLE"; @Override?publicvoidonCreate(BundlesavedInstanceStat(yī)e){? super.onCreate(savedInstanceState); ?setContentView(R.layout.activity_main); Log.i(TAG,"(1)onCreat(yī)e()");????Buttonbutton=(Button)findViewById(R.id.button1); button.setOnClickListener(newView.OnClickListener(){? publicvoidonClick(Viewview){? finish(); ?} ?}); } @Override publicvoidonStart(){ ?super.onStart();??Log.i(TAG,"(2)onStart()"); }? @Override?publicvoidonRestoreInstanceStat(yī)e(BundlesavedInstanceState){ super.onRestoreInstanceState(savedInstanceState); ?Log.i(TAG,"(3)onRestoreInstanceState()");?}??@Override publicvoidonResume(){ super.onResume(); ?Log.i(TAG,"(4)onResume()");?} ?@Override?publicvoidonSaveInstanceState(BundlesavedInstanceState){ super.onSaveInstanceState(savedInstanceStat(yī)e);? Log.i(TAG,"(5)onSaveInstanceStat(yī)e()"); } ?@Override?publicvoidonRestart(){? super.onRestart(); Log.i(TAG,"(6)onRestart()");?} ?@Override?publicvoidonPause(){??super.onPause();??Log.i(TAG,"(7)onPause()");?}? @Override publicvoidonStop(){ super.onStop();??Log.i(TAG,"(8)onStop()"); }? @Override?publicvoidonDestroy(){ super.onDestroy(); ?Log.i(TAG,"(9)onDestroy()");?}/*@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceStat(yī)e);setContentView(R.layout.activity_main);}*/@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflat(yī)ethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflat(yī)e(R.menu.main,menu);returntrue;}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.intid=item.getItemId();if(id==R.id.action_settings){returntrue;}returnsuper.onOptionsItemSelected(item);}}3、結果顯示實驗二用戶界面控件實驗目的用戶界面是應用程序開發(fā)的重要組成部分,決定了應用程序是否美觀、易用。通過本次實驗熟悉Android用戶界面的基本開發(fā)方法,了解在Android界面開發(fā)過程中常見的界面控件的使用方法。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定設計一個自我介紹的界面。2、具體設計packagecom.example.text5;importjava.util.ArrayList;importjava.util.List;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.CheckBox;importandroid.widget.EditText;importandroid.widget.ArrayAdapter;importandroid.widget.RadioButton;importandroid.widget.Spinner;importandroid.widget.Button;publicclassMainActivityextendsActionBarActivity{ Stringname="";Stringsex="";Stringhobby="";Stringage="";@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceStat(yī)e);setContentView(R.layout.activity_main);Show();finalCheckBoxcheckBox1=(CheckBox)findViewById(R.id.checkBox1);finalCheckBoxcheckBox2=(CheckBox)findViewById(R.id.checkBox2);finalCheckBoxcheckBox3=(CheckBox)findViewById(R.id.checkBox3);finalEditTexteditText1=(EditText)findViewById(R.id.editText1);finalEditTexteditText2=(EditText)findViewById(R.id.editText2);finalRadioButtonradio1=(RadioButton)findViewById(R.id.radio1);finalRadioButtonradio2=(RadioButton)findViewById(R.id.radio2);finalButtonbutton=(Button)findViewById(R.id.button1);finalSpinnerspinner=(Spinner)findViewById(R.id.spinner1);Button.OnClickListenerbuttonListener=newButton.OnClickListener(){??@Override? publicvoidonClick(Viewv){? //TODOAuto-generat(yī)edmethodstub? name="";???age=""; ?name=editText1.getText().toString();? age=spinner.getSelectedItem().toString();?? editText2.setText("大家好,我是"+name+",性別:"+sex+",愛好:"+hobby+"年級:"+age);???return;? } };button.setOnClickListener(buttonListener);CheckBox.OnClickListenercheckboxListener=newCheckBox.OnClickListener(){ ? @Override ?publicvoidonClick(Viewv){? //TODOAuto-generatedmethodstub? ?hobby="";? ??if(checkBox1.isChecked()) ???MainActivity.this.hobby+="足球,";??? if(checkBox2.isChecked())?? ?MainActivity.this.hobby+="籃球,";?? ? ? ?if(checkBox3.isChecked())??? MainActivity.this.hobby+="乒乓球,";? ? ?? ??return; ?} };checkBox1.setOnClickListener(checkboxListener);checkBox2.setOnClickListener(checkboxListener);checkBox3.setOnClickListener(checkboxListener);RadioButton.OnClickListenerraidoButtonListener=newRadioButton.OnClickListener(){? ?@Override???publicvoidonClick(Viewv){? ? //TODOAuto-generatedmethodstub? ?switch(v.getId()){?? ?caseR.id.radio1: ? ?if(radio1.isChecked()) ? MainActivity.this.sex="男"; ?? ?return; ? caseR.id.radio2: ??? if(radio2.isChecked())? ????MainActivity.this.sex="女"; ? ? ?return; ? } ? } };radio1.setOnClickListener(raidoButtonListener);radio2.setOnClickListener(raidoButtonListener);}publicvoidShow(){Spinnerspinner=(Spinner)findViewById(R.id.spinner1);List<String>list=newArrayList<String>();list.add("大一年級");list.add("大二年級");list.add("大三年級");list.add("大四年級");ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(adapter);}}3、結果顯示實驗三用戶界面布局實驗目的界面布局是用戶界面結構的描述,定義界面中所有的元素、結構和互相關系,通過本次實驗了解在Android界面開發(fā)過程中常見的界面布局的使用方法。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定用Tab標簽頁實現多個分頁之間的切換。2、具體設計MainActivity代碼:packagecom.example.tabdemo2;importandroid.os.Bundle;importandroid.app.TabActivity;importandroid.content.Intent;importandroid.widget.TabHost;@SuppressWarnings("deprecation")publicclassTabDemo2ActivityextendsTabActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);TabHosttabHost=getTabHost();tabHost.addTab(tabHost.newTabSpec("TAB1").setIndicator("線性布局").setContent(newIntent().setClass(this,Tab1Activity.class)));tabHost.addTab(tabHost.newTabSpec("TAB2").setIndicator("絕對布局").setContent(newIntent().setClass(this,Tab2Activity.class)));tabHost.addTab(tabHost.newTabSpec("TAB3").setIndicator("相對布局").setContent(newIntent().setClass(this,Tab3Activity.class)));}}Table1代碼:packagecom.example.tabdemo2;importandroid.app.Activity;importandroid.os.Bundle;publicclassTab1ActivityextendsActivity{?@Override?publicvoidonCreate(BundlesavedInstanceState){ ?super.onCreat(yī)e(savedInstanceStat(yī)e);? setContentView(R.layout.tab1); }};Table2代碼:packagecom.example.tabdemo2;importandroid.app.Activity;importandroid.os.Bundle;publicclassTab2ActivityextendsActivity{ @Override publicvoidonCreate(BundlesavedInstanceState){? super.onCreate(savedInstanceState);? setContentView(R.layout.tab2); }}Table3代碼:packagecom.example.tabdemo2;importandroid.app.Activity;importandroid.os.Bundle;publicclassTab3ActivityextendsActivity{?@Override?publicvoidonCreate(BundlesavedInstanceState){? super.onCreate(savedInstanceState); setContentView(R.layout.tab3); }}3、結果顯示實驗四廣播消息實驗目的Intent是一種消息傳播機制,用于組件之間數據互換和發(fā)送廣播消息。通過本次實驗了解Android系統(tǒng)的組件通信原理,掌握運用Intent啟動其他組件的方法,以及運用Intent獲取信息和發(fā)送廣播消息的方法。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定實現具有“登錄”按鈕的主界面,點擊登錄按鈕后打開一個新的Activity,并且將主界面的用戶名傳遞過來,點擊發(fā)送廣播按鈕發(fā)送廣播。2、具體設計MainActivity代碼:packagecom.example.text6;importandroid.support.v7.app.ActionBarActivity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.Toast;publicclassMainActivityextendsActionBarActivity{ @OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);finalIntentintent=newIntent(this,NewActivity.class); finalEditTextName=(EditText)findViewById(R.id.editText1);?ButtonLogin=(Button)findViewById(R.id.button1);ButtonQuit=(Button)findViewById(R.id.button2);Button.OnClickListenerLoginListener=newButton.OnClickListener(){ ?@Override???publicvoidonClick(Viewi){ ???//TODOAuto-generatedmethodstub ? switch(i.getId()){?? ?caseR.id.button1:? ?? ? ?? ?if(LoginCheck()){???? ? intent.putExtra("user",Name.getText().toString()); ??? ?startActivity(intent); ??? ??return;?? ??} ?? else{ ?? ? ?Toast.makeText(getApplicationContext(),"用戶名或密碼錯誤",Toast.LENGTH_SHORT).show();? return;? ? ?} ? caseR.id.button2: ??finish(); ? ?? ? } ??}?};Login.setOnClickListener(LoginListener);Quit.setOnClickListener(LoginListener);}publicbooleanLoginCheck(){ EditTextName=(EditText)findViewById(R.id.editText1);EditTextPassword=(EditText)findViewById(R.id.editText2);if(!Name.getText().toString().equals("admin")){?returnfalse;}elseif(!Password.getText().toString().equals("000")){?returnfalse;}else?returntrue;}}MyBroadcastReceiver代碼:packagecom.example.text6;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.widget.Toast;publicclassMyBroadcastReceiverextendsBroadcastReceiver{ @Override publicvoidonReceive(Contextarg0,Intentarg1){??//TODOAuto-generatedmethodstub ?Toast.makeText(arg0,arg1.getStringExtra("key"),Toast.LENGTH_SHORT).show();?}}NewActivity代碼:packagecom.example.text6;importandroid.support.v7.app.ActionBarActivity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;publicclassNewActivityextendsActionBarActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){? super.onCreate(savedInstanceState); setContentView(R.layout.activity_new); ???finalTextViewwelcome=(TextView)findViewById(R.id.TextView1);????finalEditTexteditText=(EditText)findViewById(R.id.editText1); ?Buttonbutton=(Button)findViewById(R.id.button1); ? ?Intentintent=getIntent();????welcome.setText("歡迎你:"+intent.getStringExtra("user"));?? Button.OnClickListenerbuttonListener=newButton.OnClickListener(){???? @Override ?publicvoidonClick(Viewarg0){?? //TODOAuto-generatedmethodstub????Intentintent2=newIntent("com.example.text6");?? intent2.putExtra("key",editText.getText().toString()); ? sendBroadcast(intent2);? ?}? }; ?button.setOnClickListener(buttonListener); }?}3、結果顯示實驗五后臺服務實驗目的Service是Android系統(tǒng)的服務組件,合用于開發(fā)沒有用戶界面且長時間在后臺運營的功能。通過本次實驗了解后臺服務的基本原理,掌握本地服務的使用方法。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定創(chuàng)建一個Service服務用來完畢簡樸的數學運算。2、具體設計MainActivity代碼:packagecom.example.text7;importandroid.support.v7.app.ActionBarActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;importandroid.widget.Toast;importandroid.content.Context;importandroid.content.Intent;importandroid.content.ServiceConnection;importandroid.os.Bundle;importandroid.os.IBinder;importandroid.content.ComponentName;publicclassMainActivityextendsActionBarActivity{ privateMathServicemathService; privat(yī)ebooleanisBound=false;?@OverrideprotectedvoidonCreate(BundlesavedInstanceStat(yī)e){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);finalEditTextOne=(EditText)findViewById(R.id.editText1);finalEditTextTwo=(EditText)findViewById(R.id.editText2);ButtonBegin=(Button)findViewById(R.id.button1);ButtonDo=(Button)findViewById(R.id.button2);ButtonStop=(Button)findViewById(R.id.button3);ButtonQuit=(Button)findViewById(R.id.button4);finalTextViewtextView=(TextView)findViewById(R.id.textView3);Begin.setOnClickListener(newView.OnClickListener(){? ? @Override publicvoidonClick(Viewarg0){????//TODOAuto-generat(yī)edmethodstub ?? if(!isBound){ ? finalIntentserviceIntent=newIntent(MainActivity.this,MathService.class); ?? bindService(serviceIntent,mConnection,Context.BIND_AUTO_CREATE); ??isBound=true;? ? }?? } ?});Do.setOnClickListener(newView.OnClickListener(){ ? ???@Override publicvoidonClick(Viewarg0){ ???//TODOAuto-generatedmethodstub? ? if(mathService==null){ ?? textView.setText("未綁定服務");? ???return; ? ?}?? ?inta=Integer.parseInt(One.getText().toString()); ? intb=Integer.parseInt(Two.getText().toString());? ints=mat(yī)hService.Compare(a,b);? ??textView.setText("較大的數為:"+s);?? ? ?} });Stop.setOnClickListener(newView.OnClickListener(){??@Override?publicvoidonClick(Viewarg0){? if(isBound){? isBound=false; ? unbindService(mConnection);? ?mathService=null;??} }});Quit.setOnClickListener(newView.OnClickListener(){??@Override?publicvoidonClick(Viewarg0){ finish();?}});}privat(yī)eServiceConnectionmConnection=newServiceConnection(){?@Override?publicvoidonServiceConnected(ComponentNamename,IBinderservice){ ?mathService=((MathService.LocalBinder)service).getService();?} @Override?publicvoidonServiceDisconnected(ComponentNamename){ mathService=null; }};}Mat(yī)hService代碼:packagecom.example.text7;importandroid.app.Service;importandroid.content.Intent;importandroid.os.Binder;importandroid.os.IBinder;importandroid.widget.Toast;publicclassMathServiceextendsService{?privatefinalIBindermBinder=newLocalBinder(); publicclassLocalBinderextendsBinder{??MathServicegetService(){ ? returnMathService.this; }?} @Override?publicIBinderonBind(Intentarg0){ //TODOAuto-generatedmethodstub??Toast.makeText(this,"已啟動服務",Toast.LENGTH_SHORT).show(); ?returnmBinder;?} @Override publicbooleanonUnbind(Intentintent){ ?Toast.makeText(this,"已取消服務",Toast.LENGTH_SHORT).show(); ?returnfalse; } ?publicintCompare(inta,intb){? if(a>b){ returna;??} ?elseif(b>a){ returnb;? } else ??return0; }}3、結果顯示實驗六數據庫存儲實驗目的數據庫存儲是Android數據存儲中非常重要的內容,Android提供一個輕量級的嵌入式數據庫SQLite,本次實驗將學習如何通過代碼建立數據庫,并實現添加、刪除、查找和更新等基本操作。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定建立一個數據庫并完畢增刪查改操作。2、具體設計MainActivity代碼:packagecom.example.text8;importandroid.support.v7.app.ActionBarActivity;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActionBarActivity{?privateDBAdapterdbadapter; privat(yī)eContextmContext; publicDBAdaptergetDbadapter(){??returndbadapter; } publicvoidsetDbadapter(DBAdapterdbadapter){??this.dbadapter=dbadapter;?}?? @OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);finalEditTextname=(EditText)findViewById(R.id.editText1);finalEditTextsex=(EditText)findViewById(R.id.editText2);finalEditTextplace=(EditText)findViewById(R.id.editText3);finalEditTextpay=(EditText)findViewById(R.id.editText4);finalEditTextID=(EditText)findViewById(R.id.editText5);finalButtonadd=(Button)findViewById(R.id.button1);finalButtonshow=(Button)findViewById(R.id.button2);Buttonclean=(Button)findViewById(R.id.button3);Buttondelete=(Button)findViewById(R.id.button4);ButtonID_delete=(Button)findViewById(R.id.button5);ButtonID_check=(Button)findViewById(R.id.button6);ButtonID_update=(Button)findViewById(R.id.button7);ButtonQuit=(Button)findViewById(R.id.button8);finalTextViewshowdata=(TextView)findViewById(R.id.textView6);mContext=this;Button.OnClickListenerQuitListener=newButton.OnClickListener(){?? @Override ??publicvoidonClick(Viewarg0){? //TODOAuto-generatedmethodstub? ?finish();? }};Button.OnClickListeneraddListener=newButton.OnClickListener(){ ??@Override???publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub ? ?dbadapter=newDBAdapter(mContext); dbadapter.open(); ?Peopleadd=newPeople();? ? add.Name=name.getText().toString(); ? add.Sex=sex.getText().toString();? ? add.Place=place.getText().toString();?? ?add.Pay=Integer.parseInt(pay.getText().toString());? ??dbadapter.insert(add); ?? dbadapter.close();? }};Button.OnClickListenercleanListener=newButton.OnClickListener(){ ?@Override???publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub? showdata.setText(""); } };Button.OnClickListenerdeleteListener=newButton.OnClickListener(){ ? @Override? publicvoidonClick(Viewarg0){ //TODOAuto-generatedmethodstub? ?dbadapter=newDBAdapter(mContext);? dbadapter.open(); dbadapter.deleteAllData(); ?? dbadapter.close(); ?} };Button.OnClickListenerShowListener=newButton.OnClickListener(){ ?@Override ??publicvoidonClick(Viewarg0){? ?//TODOAuto-generatedmethodstub ? ?dbadapter=newDBAdapter(mContext); ?dbadapter.open(); ???People[]shows=newPeople[56];??? Stringresults="";? if(ID.getText().toString()==null) ? ?Toast.makeText(MainActivity.this,"請輸入ID",Toast.LENGTH_SHORT).show(); ???elseif(dbadapter.getAllDat(yī)a()!=null){ ?shows=dbadapter.getAllDat(yī)a(); ??dbadapter.close();??? for(inti=0;i<shows.length;i++){??? ?results+=shows[i];? ???results+="\n"; ? } ?? } else ? ?Toast.makeText(MainActivity.this,"未找到相關記錄",Toast.LENGTH_SHORT).show();????showdat(yī)a.setText(results.toString()); ?}};Button.OnClickListenerID_deleteListener=newButton.OnClickListener(){???@Override ?publicvoidonClick(Viewarg0){ ?? //TODOAuto-generatedmethodstub ???if(ID.getText().toString().equals("")) ????Toast.makeText(MainActivity.this,"請輸入ID",Toast.LENGTH_SHORT).show();? else{ ?dbadapter=newDBAdapter(mContext);? ?dbadapter.open(); ??intid=Integer.parseInt(ID.getText().toString()); ???dbadapter.deleteOneData(id); ? dbadapter.close();????} ? }};Button.OnClickListenerID_checkListener=newButton.OnClickListener(){ @Override ?publicvoidonClick(Viewarg0){ ? ?//TODOAuto-generatedmethodstub ?if(ID.getText().toString().equals("")) ?? ?Toast.makeText(MainActivity.this,"請輸入ID",Toast.LENGTH_SHORT).show();? else{????dbadapter=newDBAdapter(mContext); ?? dbadapter.open(); ? longid=Integer.parseInt(ID.getText().toString());? People[]shows=newPeople[1];? ??if(dbadapter.getOneData(id)!=null){ ?? shows=dbadapter.getOneData(id); ? ?dbadapter.close(); ? ?Stringresults=shows[0].toString();????showdata.setText(results); ? } ? } ??}};Button.OnClickListenerID_updat(yī)eListener=newButton.OnClickListener(){ ?@Override???publicvoidonClick(Viewarg0){ ?//TODOAuto-generat(yī)edmethodstub ?? if(ID.getText().toString().equals("")) ? ??Toast.makeText(MainActivity.this,"請輸入ID",Toast.LENGTH_SHORT).show();? ?else{? ?dbadapter=newDBAdapter(mContext);? dbadapter.open();????longid=Integer.parseInt(ID.getText().toString()); ??Peoplepeople=newPeople(); ?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(addListener);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_updateListener);}}DBAdapter代碼:packagecom.example.text8;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.dat(yī)abase.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteDat(yī)abase.CursorFactory;importandroid.database.sqlite.SQLiteException;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.widget.Toast;publicclassDBAdapter{?privatestat(yī)icfinalStringDB_NAME="people.db"; privatestat(yī)icfinalStringDB_TABLE="peopleinfo";?privat(yī)estaticfinalintDB_VERSION=1;??publicstat(yī)icfinalStringKEY_ID="_id";?publicstaticfinalStringKEY_NAME="name"; publicstaticfinalStringKEY_SEX="sex";?publicstaticfinalStringKEY_PLACE="place";?publicstat(yī)icfinalStringKEY_PAY="pay"; privateSQLiteDat(yī)abasedb; privatefinalContextcontext;?privateDBOpenHelperdbOpenHelper; ?privatestaticclassDBOpenHelperextendsSQLiteOpenHelper{? publicDBOpenHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion){ ??super(context,name,factory,version); ?}? privatestaticfinalStringDB_CREATE="createtable"+DB_TABLE+"("+KEY_ID+"integerprimarykeyautoincrement,"+KEY_NAME+"textnotnull,"+KEY_SEX+"textnotnull,"+KEY_PLACE+"textnotnull,"+KEY_PAY+"integer);";? ? @Override??publicvoidonCreate(SQLiteDatabase_db){ ?//TODOAuto-generatedmethodstub???_db.execSQL(DB_CREATE); ?} @Override? publicvoidonUpgrade(SQLiteDatabase_db,int_oldVersion,int_newVersion){ ? //TODOAuto-generat(yī)edmethodstub ?_db.execSQL("DROPTABLEIFEXISTS"+DB_TABLE);???onCreat(yī)e(_db);? } } ?publicDBAdapter(Context_context){ ?context=_context; } ?publicvoidopen()throwsSQLiteException{ ?try{ dbOpenHelper=newDBOpenHelper(context,DB_NAME,null,DB_VERSION);??db=dbOpenHelper.getWritableDat(yī)abase();? }catch(SQLiteExceptionex){ ??db=dbOpenHelper.getReadableDatabase();???ex.printStackTrace(); ?} } publicvoidclose(){??if(db!=null){? ?db.close(); db=null;? } }??? publicvoidinsert(Peoplepeople){??ContentValuesnewValues=newContentValues(); ? newValues.put(KEY_NAME,people.Name); ?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();?} publicvoiddeleteAllData(){ ?db.delete(DB_TABLE,null,null);??Toast.makeText(context,"刪除數據成功",Toast.LENGTH_SHORT).show();?}??publicvoiddeleteOneData(longid){ ?if(this.getOneData(id)!=null){ ?db.delete(DB_TABLE,KEY_ID+"="+id,null); ?Toast.makeText(context,"刪除數據成功",Toast.LENGTH_SHORT).show(); ?}? ?} ?publicvoidupdat(yī)eOneData(longid,Peoplepeople){? if(this.getOneData(id)!=null){? ContentValuesupdateValues=newContentValues();??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,"更新數據成功",Toast.LENGTH_SHORT).show(); }? } privatePeople[]ConvertToPeople(Cursorcursor){? intresultCounts=cursor.getCount();??if(resultCounts==0||!cursor.moveToFirst()){?? returnnull; } ?People[]peoples=newPeople[resultCounts]; for(inti=0;i<resultCounts;i++){? peoples[i]=newPeople();? ?peoples[i].ID=cursor.getInt(0);? peoples[i].Name=cursor.getString(cursor.getColumnIndex(KEY_NAME)); ? peoples[i].Sex=cursor.getString(cursor.getColumnIndex(KEY_SEX)); ?peoples[i].Place=cursor.getString(cursor.getColumnIndex(KEY_PLACE));?? peoples[i].Pay=cursor.getInt(cursor.getColumnIndex(KEY_PAY)); cursor.moveToNext(); }? returnpeoples; } publicPeople[]getAllData(){? Cursorresults=db.query(DB_TABLE,newString[]{KEY_ID,KEY_NAME,KEY_SEX,KEY_PLACE,KEY_PAY},null,null,null,null,null);??returnConvertToPeople(results);?} publicPeople[]getOneData(longid){? Cursorresults=db.query(DB_TABLE,newString[]{KEY_ID,KEY_NAME,KEY_SEX,KEY_PLACE,KEY_PAY},KEY_ID+"="+id,null,null,null,null);??if(ConvertToPeople(results)!=null)? returnConvertToPeople(results);??else? Toast.makeText(context,"未找到相關記錄",Toast.LENGTH_SHORT).show(); ??returnnull;?}}People代碼:packagecom.example.text8;publicclassPeople{?publicintID=-1; publicStringName;?publicStringSex;?publicStringPlace; publicintPay;??@Override?publicStringtoString(){ ?Stringresult="";??result+="ID:"+this.ID+","; result+="姓名:"+this.Name+",";? result+="性別:"+this.Sex+",";? result+="部門:"+this.Place+","; ?result+="工資:"+this.Pay+";"; ?returnresult;?}}3、結果顯示實驗七天氣預報實驗目的綜合運用以往所學的知識和技巧,從需求分析、界面設計、模塊功能和程序開發(fā)等幾個方面,學習Android應用程序的設計思緒及開發(fā)方法。從而掌握Android應用程序的設計方法和多種組件應用能力。二、實驗設備1、硬件設備系統(tǒng)類型:Win7版本32位,解決器:Intel(R)Core(TM)i3-2350MCPU@2.30GHz2.30GHz安裝內存(RAM):8.00GB2、軟件設備Win7操作系統(tǒng)、Eclipse、JDK、AndroidSDK、ADT三、實驗內容1、實驗規(guī)定設計一個天氣預報軟件。2、具體設計HistoryActivity.javapackageedu.hrbeu.Weat(yī)herDemo;importandroid.app.ListActivity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importedu.hrbeu.WeatherDemo.DB.DBAdapter;importedu.hrbeu.WeatherDemo.SMS.*;publicclassHistoryActivityextendsListActivity{?finalstaticintMENU_REFRESH=Menu.FIRST;?fina

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論