安卓实验报告_第1页
安卓实验报告_第2页
安卓实验报告_第3页
安卓实验报告_第4页
安卓实验报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如果您需要使用本文档,请点击下载按钮下载! 安卓实验报告班级:xxxxx学号:11111111姓名:xxxx1 / 25如果您需要使用本文档,请点击下载按钮下载!实验一:Activity生命周期的测试一:实验目的掌握使用Eclipse开发Android应用开发程序的方法;掌握Android虚拟设备的创建方法;了解Android的程序结构;了解使用命令行创建Android程序方法;了解Activity生命周期,理解Activity事件回调,onRestoreInstanceState()和 onSaveInstanceState两个函数的使用。二:实验设备 Eclipse 开发Android 应

2、用 Android虚拟设备( AVD)三:实验内容 (1)正常启动ActivityLife,然后单击用户界面的“结束程序”按钮关闭程序。(2)正常启动ACtivityLife,然后通过“拨号键”启动内置的拨号程序,再通过“回 退建” 退出拨号程序,使ActivityLife重新显示在屏幕中。四:实验核心代码package com.example.activitylife;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.os.Bundle;imp

3、ort android.util.Log;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.os.Build;public class MainActivity extends Activit

4、y private static String TAG=LIFECYCLE; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.fragment_main); Log.i(TAG,(1) onCreate(); 2 / 25如果您需要使用本文档,请点击下载按钮下载! Button button =(Button) findViewById(R.id.btn_finish); button.setOnClic

5、kListener(new OnClickListener() public void onClick(View view) / TODO Auto-generated method stubfinish();); Overrideprotected void onStart() / TODO Auto-generated method stubsuper.onStart(); Log.i(TAG,(2) onStart(); Overrideprotected void onRestoreInstanceState(Bundle savedInstanceState) / TODO Auto

6、-generated method stubsuper.onRestoreInstanceState(savedInstanceState); Log.i(TAG,(3) onRestoreInstanceState(); Overrideprotected void onResume() / TODO Auto-generated method stubsuper.onResume(); Log.i(TAG,(4) onResume(); Overrideprotected void onSaveInstanceState(Bundle outState) / TODO Auto-gener

7、ated method stubsuper.onSaveInstanceState(outState); Log.i(TAG,(5) onSaveInstanceState(); Overrideprotected void onRestart() / TODO Auto-generated method stubsuper.onRestart(); Log.i(TAG,(6) onRestart(); Overrideprotected void onPause() / TODO Auto-generated method stubsuper.onPause();3 / 25如果您需要使用本

8、文档,请点击下载按钮下载! Log.i(TAG,(7) onPause(); Overrideprotected void onStop() / TODO Auto-generated method stubsuper.onStop(); Log.i(TAG,(8) onStop(); Overrideprotected void onDestroy() / TODO Auto-generated method stubsuper.onDestroy(); Log.i(TAG,(9) onDestroy(); 五:运行结果截图:实验二:用户界面自我介绍一:实验目的:了解各种界面控件的使用方法;

9、掌握按键事件和触摸事件的处理方法;掌握radioButton和radioGroup的使用方法。二:实验设备 Eclipse 开发Android 应用 Android虚拟设备( AVD)三:实验内容要求写一个自我介绍的安卓应用,包括姓名,性别,爱好,其中性别用radioButton选项编写,点击提交时,姓名,性别,爱好会在下面显示出来。5 / 25如果您需要使用本文档,请点击下载按钮下载!四:实验核心代码:public class MainActivity extends Activity private EditText editText1;private EditText editText2

10、;private EditText editText3;private TextView textView1;private TextView textView2;private TextView textView3;private RadioGroup radioGroup;private RadioButton radioButton1;private RadioButton radioButton2;private Button button;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedIn

11、stanceState);setContentView(R.layout.activity_main);editText1 = (EditText) findViewById(R.id.e1);editText2 = (EditText) findViewById(R.id.e2);textView1 = (TextView) findViewById(R.id.t1);textView2 = (TextView) findViewById(R.id.t2);textView3 = (TextView) findViewById(R.id.t3);radioGroup = (RadioGrou

12、p) findViewById(R.id.RadioGroup1);radioButton1 = (RadioButton) findViewById(R.id.RadioButton1);radioButton2 = (RadioButton) findViewById(R.id.RadioButton2);button = (Button) findViewById(R.id.button1);radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() public void onCheckedChanged(Ra

13、dioGroup arg0, final int arg1) button.setOnClickListener(new View.OnClickListener() public void onClick(View arg0) String str = editText1.getText().toString().trim();String str1 = editText2.getText().toString().trim();textView1.setText(姓名:+str);textView3.setText(爱好:+str1);if (arg1 = R.id.RadioButton

14、1)textView2.setText(性别:+男);else if (arg1 = R.id.RadioButton2)textView2.setText(性别:+女);););5 / 25如果您需要使用本文档,请点击下载按钮下载!五:运行结果截图:实验三:不同界面的切换一:实验目的掌握各种界面布局的特点和使用方法;掌握选项菜单,子菜单和快捷菜单的使用方法。二;实验设备 Eclipse 开发Android 应用 Android虚拟设备( AVD)三;实验内容:设计一个Tab标签页,实现LinearLayout,RelativeLayout,AbsoluteLayout三种分页面之间的切换,每

15、个页面的内容包括用户名和确定,取消两个按钮四:实验核心代码: AndroidMainfest.xml: public class MainActivity extends TabActivity protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TabHost tabHost=getTabHost(); LayoutInflater.from(this).inflate(R.layout.ta

16、b1, tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab2, tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab3, tabHost.getTabContentView(),true); tabHost.addTab(tabHost.newTabSpec(TAB1). setIndicator(线性布局).setContent(R.id.layout01);6 / 25如

17、果您需要使用本文档,请点击下载按钮下载! tabHost.addTab(tabHost.newTabSpec(TAB1). setIndicator(绝对布局).setContent(R.id.layout02); tabHost.addTab(tabHost.newTabSpec(TAB1). setIndicator(相对布局).setContent(R.id.layout03); Tab1,javapublic class Tab1 extends Activity public void onCreate(Bundle savedInstanceState) super.onCreat

18、e(savedInstanceState);setContentView(R.layout.tab1);Tab2.javapublic class Tab2 extends Activity public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.tab2); Tab3.javapublic class Tab3 extends Activity public void onCreate(Bundle savedInstanceStat

19、e) super.onCreate(savedInstanceState); setContentView(R.layout.tab3); 五:运行结果截图:实验四:登陆界面和广播消息一:实验目的 了解使用Intent进行组件通信的原理;7 / 25如果您需要使用本文档,请点击下载按钮下载! 了解Intent过滤器的原理与匹配机制; 掌握发送和接受广播消息的方法。 二:实验设备 Eclipse 开发Android 应用 Android虚拟设备( AVD)三:实验内容先写一个登陆界面,包括用户名,密码,点击登陆时实现页面的跳转功能,在第二个页面使用Intent发送消息,并调用sendBroadc

20、ast()函数把Intent携带的消息传送出去,用BroadcastReceiver接受广播消息,在页面下方显示广播内容。四;实验核心代码:public class MainActivity extends Activity private Button button; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button) findViewById

21、(R.id.button1); button.setOnClickListener(new View.OnClickListener() public void onClick(View arg0) Intent intent=new Intent(MainActivity.this,Second.class); startActivity(intent);); public class Second extends Activity private Button button2;private EditText editText;protected void onCreate(Bundle

22、savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.second);Intent intent=getIntent(); editText=(EditText) findViewById(R.id.e1); button2=(Button) findViewById(R.id.button2);button2.setOnClickListener(new View.OnClickListener() public void onClick(View arg0) Intent intent=

23、new Intent(com.example.broadcasttest.MY_BROADCAST);intent.putExtra(message, editText.getText().toString();sendBroadcast(intent);8 / 25如果您需要使用本文档,请点击下载按钮下载!);public class MyBroadcastReceiver extends BroadcastReceiverpublic void onReceive(Context context, Intent intent) String msg=intent.getStringExtr

24、a(message);Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); 五:运行结果截图实验五:Service绑定实现数据运算一:实验目的 了解Service的原理和用途; 掌握本地服务的管理和方法;9 / 25如果您需要使用本文档,请点击下载按钮下载! 掌握服务的隐式启动和显示启动方法; 掌握远程服务的绑定和调用方法。二:实验设备 Eclipse 开发Android 应用 Android虚拟设备( AVD)三:实验内容以绑定方式使用Service,获取Service实例,当点击绑定服务时可以实现两个数的求差和比较大小功能,并输出

25、结果,当点击取消绑定服务时,则无法运算。四:实验核心代码public class MathService extends Service private final IBinder mBinder=new LocalBinder(); public class LocalBinder extends Binder MathService getService() return MathService.this; public IBinder onBind(Intent intent) Toast.makeText(this, 本地绑定:MathService,Toast.LENGTH_SHOR

26、T).show(); return mBinder; public boolean onUnbind(Intent intent)Toast.makeText(this, 取消本地绑定:MathService, Toast.LENGTH_SHORT).show();return false; public long sub(long a,long b)return a-b; public int compare(long a,long b)if(ab) return 1;else if(a=b) return 0;else return -1;public class MainActivity

27、 extends Activity private MathService mathService; private Button button1;10 / 25如果您需要使用本文档,请点击下载按钮下载! private Button button2; private Button button3; private Button button4; private EditText editText1; private EditText editText2; private EditText editText3; private boolean isBound=false; Override p

28、rotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText1=(EditText) findViewById(R.id.e1); editText2=(EditText) findViewById(R.id.e2); editText3=(EditText) findViewById(R.id.e3); button1=(Button) findViewById(R.id.but1);

29、button2=(Button) findViewById(R.id.but2); button3=(Button) findViewById(R.id.but3); button4=(Button) findViewById(R.id.but4); button1.setOnClickListener(new View.OnClickListener() public void onClick(View v) if(!isBound) final Intent serviceIntent=new Intent (MainActivity.this,MathService.class); bi

30、ndService(serviceIntent, mConnection, Context.BIND_AUTO_CREATE); isBound=true; ); button4.setOnClickListener(new View.OnClickListener() public void onClick(View v) if(isBound) isBound=false; unbindService(mConnection); mathService=null; ); button2.setOnClickListener(new View.OnClickListener() public

31、 void onClick(View v) if(mathService=null)11 / 25如果您需要使用本文档,请点击下载按钮下载!editText3.setText(未绑定服务);return ;String a = editText1.getText().toString();long a1 = Long.parseLong(a);String b = editText2.getText().toString();long b1 = Long.parseLong(b);long result=mathService.sub(a1, b1);String msg=String.val

32、ueOf(a1)+-+String.valueOf(b)+=+String.valueOf(result);editText3.setText(msg);); button3.setOnClickListener(new View.OnClickListener() public void onClick(View v) if(mathService=null)editText3.setText(未绑定服务);return ;String a = editText1.getText().toString();long a1 = Long.parseLong(a);String b = edit

33、Text2.getText().toString();long b1 = Long.parseLong(b);long result=mathSpare(a1, b1);if(result=1)editText3.setText(a+b);else if(result=0)editText3.setText(a+=+b);else editText3.setText(a+b);); private ServiceConnection mConnection=new ServiceConnection() public void onServiceDisconnected(ComponentNa

34、me arg0) mathService=null;public void onServiceConnected(ComponentName name, IBinder service) mathService=(MathService.LocalBinder)service).getService();12 / 25如果您需要使用本文档,请点击下载按钮下载!; 实验六:SQLite实现用户的增删改查一:实验目的 了解SQLite数据库的特点和体系及结构; 掌握SQLite数据库的建立和操作方法; 理解ContentProvide的用途和原理; 掌握ContentProvider的创建和使用方

35、法。二:实验设备 Eclipse 开发Android 应用 Android虚拟设备( AVD)三:实验内容使用SQlite数据库实现用户(包括:姓名,年龄,身高)的添加数据,全部显示,清除显示,全部删除,ID删除,ID查询,ID更新的功能。四:实验核心代码public class MainActivity extends ActionBarActivity private EditText et_name;private EditText et_sex;private EditText et_department;private EditText et_id;private EditText

36、et_salary;private MyOpenHelper oh;private SQLiteDatabase db;private TextView tv;private LinearLayout ll;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);oh = new MyOpenHelper(MainActivity.this, test.db, null, 1);db =

37、 oh.getWritableDatabase();et_name = (EditText) findViewById(R.id.et_name);13 / 25如果您需要使用本文档,请点击下载按钮下载!et_sex = (EditText) findViewById(R.id.et_sex);et_department = (EditText) findViewById(R.id.et_department);et_salary = (EditText) findViewById(R.id.et_salary);et_id = (EditText) findViewById(R.id.et_

38、id);ll = (LinearLayout) findViewById(R.id.ll);public void add(View v)db = oh.getWritableDatabase();String name=et_name.getText().toString();String sex=et_sex.getText().toString();String department=et_department.getText().toString();String salary=et_salary.getText().toString();ContentValues values=ne

39、w ContentValues();values.put(name,name );values.put(sex, sex);values.put(department,department);values.put(salary, salary);db.insert(staff, null, values);tv=new TextView(MainActivity.this);tv.setText(添加成功);db.close();public void show(View v)db = oh.getWritableDatabase();Cursor cursor=db.query(staff,

40、 null, null, null, null, null, null, null);while(cursor.moveToNext()String id=cursor.getString(cursor.getColumnIndex(_id);String name=cursor.getString(cursor.getColumnIndex(name);String sex=cursor.getString(cursor.getColumnIndex(sex);String department=cursor.getString(cursor.getColumnIndex(departmen

41、t);String salary=cursor.getString(cursor.getColumnIndex(salary);tv=new TextView(MainActivity.this);tv.setText(ID:+id+ ;+Name:+name+ ;+Sex:+sex+ ;+Department:+department+ ;+Salary+salary);ll.addView(tv);db.close();public void clear(View v)ll.removeAllViews();14 / 25如果您需要使用本文档,请点击下载按钮下载!public void de

42、leteAll(View v)db = oh.getWritableDatabase();db.delete(staff, null, null);tv=new TextView(MainActivity.this);tv.setText(删除成功);db.close();public void deleteById(View v)db = oh.getWritableDatabase();String id=et_id.getText().toString();db.delete(staff, _id=?, new Stringid);db.close();tv=new TextView(M

43、ainActivity.this);tv.setText(ID删除成功);public void findById(View v)db = oh.getWritableDatabase();String id=et_id.getText().toString();Cursor cursor=db.query(staff, null, _id=?, new Stringid, null, null, null, null);while(cursor.moveToNext()id=cursor.getString(cursor.getColumnIndex(_id);String name=cur

44、sor.getString(cursor.getColumnIndex(name);String sex=cursor.getString(cursor.getColumnIndex(sex);String department=cursor.getString(cursor.getColumnIndex(department);String salary=cursor.getString(cursor.getColumnIndex(salary);tv=new TextView(MainActivity.this);tv.setText(id+;+name+;+sex+;+departmen

45、t+;+salary);ll.addView(tv);tv=new TextView(MainActivity.this);tv.setText(ID查询成功);db.close();public void updateById(View v)db = oh.getWritableDatabase();String id=et_id.getText().toString();String name=et_name.getText().toString();String sex=et_sex.getText().toString();String department=et_department

46、.getText().toString();String salary=et_salary.getText().toString();15 / 25如果您需要使用本文档,请点击下载按钮下载!ContentValues values=new ContentValues();values.put(name,name);values.put(sex, sex);values.put(department,department);values.put(salary, salary);db.update(staff, values, _id=?, new Stringid);tv=new TextVie

47、w(MainActivity.this);tv.setText(更新ID成功);db.close();public class MyOpenHelper extends SQLiteOpenHelper public MyOpenHelper(Context context, String name, CursorFactory factory,int version) super(context, name, factory, version);Overridepublic void onCreate(SQLiteDatabase db) db.execSQL(create table st

48、aff(_id integer primary key autoincrement,name text,sex text,department text,salary float);Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 五:运行结果截图实验七:天气预报16 / 25如果您需要使用本文档,请点击下载按钮下载!一:实验目的 了解位置服务的概念; 了解地图密钥的申请方法; 掌握获取地理信息的方法;二:实验设备 Eclipse 开发Android 应用 Android虚拟设备(

49、AVD)三:实验内容 写一个项目,实现显示天气预报的用户界面,显示已发送SMS短信的用户界面,不同地区天气的转换四:实验核心代码package com.example.weather;import java.io.BufferedReader;import java.io.InputStreamReader;import .HttpURLConnection;import .URL;import .URLEncoder;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;imp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论