版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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_f
5、inish); button.setonclicklistener(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(b
6、undle savedinstancestate) / todo auto-generated method stubsuper.onrestoreinstancestate(savedinstancestate); log.i(tag,"(3) onrestoreinstancestate()"); overrideprotected void onresume() / todo auto-generated method stubsuper.onresume(); log.i(tag,"(4) onresume()"); overrideprotec
7、ted void onsaveinstancestate(bundle outstate) / todo auto-generated method stubsuper.onsaveinstancestate(outstate); log.i(tag,"(5) onsaveinstancestate()"); overrideprotected void onrestart() / todo auto-generated method stubsuper.onrestart(); log.i(tag,"(6) onrestart()"); overrid
8、eprotected void onpause() / todo auto-generated method stubsuper.onpause();3 / 25如果您需要使用本文档,请点击下载按钮下载! log.i(tag,"(7) onpause()"); overrideprotected void onstop() / todo auto-generated method stubsuper.onstop(); log.i(tag,"(8) onstop()"); overrideprotected void ondestroy() / todo
9、 auto-generated method stubsuper.ondestroy(); log.i(tag,"(9) ondestroy()"); 五:运行结果截图:实验二:用户界面自我介绍一:实验目的:了解各种界面控件的使用方法;掌握按键事件和触摸事件的处理方法;掌握radiobutton和radiogroup的使用方法。二:实验设备 eclipse 开发android 应用 android虚拟设备( avd)三:实验内容要求写一个自我介绍的安卓应用,包括姓名,性别,爱好,其中性别用radiobutton选项编写,点击提交时,姓名,性别,爱好会在下面显示出来。5 /
10、25如果您需要使用本文档,请点击下载按钮下载!四:实验核心代码:public class mainactivity extends activity private edittext edittext1;private edittext edittext2;private edittext edittext3;private textview textview1;private textview textview2;private textview textview3;private radiogroup radiogroup;private radiobutton radiobutton1;
11、private radiobutton radiobutton2;private button button;protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate);setcontentview(r.layout.activity_main);edittext1 = (edittext) findviewbyid(r.id.e1);edittext2 = (edittext) findviewbyid(r.id.e2);textview1 = (textview) findvie
12、wbyid(r.id.t1);textview2 = (textview) findviewbyid(r.id.t2);textview3 = (textview) findviewbyid(r.id.t3);radiogroup = (radiogroup) findviewbyid(r.id.radiogroup1);radiobutton1 = (radiobutton) findviewbyid(r.id.radiobutton1);radiobutton2 = (radiobutton) findviewbyid(r.id.radiobutton2);button = (button
13、) findviewbyid(r.id.button1);radiogroup.setoncheckedchangelistener(new oncheckedchangelistener() public void oncheckedchanged(radiogroup arg0, final int arg1) button.setonclicklistener(new view.onclicklistener() public void onclick(view arg0) string str = edittext1.gettext().tostring().trim();string
14、 str1 = edittext2.gettext().tostring().trim();textview1.settext("姓名:"+str);textview3.settext("爱好:"+str1);if (arg1 = r.id.radiobutton1)textview2.settext("性别:"+"男");else if (arg1 = r.id.radiobutton2)textview2.settext("性别:"+"女");););5 / 25如果您需
15、要使用本文档,请点击下载按钮下载!五:运行结果截图:实验三:不同界面的切换一:实验目的掌握各种界面布局的特点和使用方法;掌握选项菜单,子菜单和快捷菜单的使用方法。二;实验设备 eclipse 开发android 应用 android虚拟设备( avd)三;实验内容:设计一个tab标签页,实现linearlayout,relativelayout,absolutelayout三种分页面之间的切换,每个页面的内容包括用户名和确定,取消两个按钮四:实验核心代码: androidmainfest.xml: <activity android:name=".tab1">&
16、lt;/activity> <activity android:name=".tab2"></activity> <activity android:name=".tab3"></activity>public class mainactivity extends tabactivity protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layo
17、ut.activity_main); tabhost tabhost=gettabhost(); layoutinflater.from(this).inflate(r.layout.tab1, tabhost.gettabcontentview(),true); layoutinflater.from(this).inflate(r.layout.tab2, tabhost.gettabcontentview(),true); layoutinflater.from(this).inflate(r.layout.tab3, tabhost.gettabcontentview(),true);
18、 tabhost.addtab(tabhost.newtabspec("tab1"). setindicator("线性布局").setcontent(r.id.layout01);6 / 25如果您需要使用本文档,请点击下载按钮下载! tabhost.addtab(tabhost.newtabspec("tab1"). setindicator("绝对布局").setcontent(r.id.layout02); tabhost.addtab(tabhost.newtabspec("tab1"
19、). setindicator("相对布局").setcontent(r.id.layout03); tab1,javapublic class tab1 extends activity public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate);setcontentview(r.layout.tab1);tab2.javapublic class tab2 extends activity public void oncreate(bundle savedinsta
20、ncestate) super.oncreate(savedinstancestate); setcontentview(r.layout.tab2); tab3.javapublic class tab3 extends activity public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.tab3); 五:运行结果截图:实验四:登陆界面和广播消息一:实验目的 了解使用intent进行组件通信的原理;7 / 25如果您需要使用本文
21、档,请点击下载按钮下载! 了解intent过滤器的原理与匹配机制; 掌握发送和接受广播消息的方法。 二:实验设备 eclipse 开发android 应用 android虚拟设备( avd)三:实验内容先写一个登陆界面,包括用户名,密码,点击登陆时实现页面的跳转功能,在第二个页面使用intent发送消息,并调用sendbroadcast()函数把intent携带的消息传送出去,用broadcastreceiver接受广播消息,在页面下方显示广播内容。四;实验核心代码:public class mainactivity extends activity private button button
22、; override protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); button=(button) findviewbyid(r.id.button1); button.setonclicklistener(new view.onclicklistener() public void onclick(view arg0) intent intent=new intent(mainactiv
23、ity.this,second.class); startactivity(intent);); public class second extends activity private button button2;private edittext edittext;protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate);setcontentview(r.layout.second);intent intent=getintent(); edittext=(edittext)
24、findviewbyid(r.id.e1); button2=(button) findviewbyid(r.id.button2);button2.setonclicklistener(new view.onclicklistener() public void onclick(view arg0) intent intent=new intent("com.example.broadcasttest.my_broadcast");intent.putextra("message", edittext.gettext().tostring();send
25、broadcast(intent);8 / 25如果您需要使用本文档,请点击下载按钮下载!);public class mybroadcastreceiver extends broadcastreceiverpublic void onreceive(context context, intent intent) string msg=intent.getstringextra("message");toast.maketext(context, msg, toast.length_short).show(); <activity android:name=&quo
26、t;.second"></activity> <receiver android:name=".mybroadcastreceiver"> <intent-filter> <action android:name="com.example.broadcasttest.my_broadcast"/> </intent-filter> </receiver>五:运行结果截图实验五:service绑定实现数据运算一:实验目的 了解service的原理和用途; 掌握本地服务的
27、管理和方法;9 / 25如果您需要使用本文档,请点击下载按钮下载! 掌握服务的隐式启动和显示启动方法; 掌握远程服务的绑定和调用方法。二:实验设备 eclipse 开发android 应用 android虚拟设备( avd)三:实验内容以绑定方式使用service,获取service实例,当点击绑定服务时可以实现两个数的求差和比较大小功能,并输出结果,当点击取消绑定服务时,则无法运算。四:实验核心代码public class mathservice extends service private final ibinder mbinder=new localbinder(); public c
28、lass localbinder extends binder mathservice getservice() return mathservice.this; public ibinder onbind(intent intent) toast.maketext(this, "本地绑定:mathservice",toast.length_short).show(); return mbinder; public boolean onunbind(intent intent)toast.maketext(this, "取消本地绑定:mathservice&quo
29、t;, toast.length_short).show();return false; public long sub(long a,long b)return a-b; public int compare(long a,long b)if(a>b) return 1;else if(a=b) return 0;else return -1;public class mainactivity extends activity private mathservice mathservice; private button button1;10 / 25如果您需要使用本文档,请点击下载按
30、钮下载! private button button2; private button button3; private button button4; private edittext edittext1; private edittext edittext2; private edittext edittext3; private boolean isbound=false; override protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentvi
31、ew(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); button2=(button) findviewbyid(r.id.but2); button3=(button) findviewbyid(r.id.but3); button4=(butto
32、n) 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); bindservice(serviceintent, mconnection, context.bind_auto_create); isbound=true; ); button4.setoncli
33、cklistener(new view.onclicklistener() public void onclick(view v) if(isbound) isbound=false; unbindservice(mconnection); mathservice=null; ); button2.setonclicklistener(new view.onclicklistener() public void onclick(view v) if(mathservice=null)11 / 25如果您需要使用本文档,请点击下载按钮下载!edittext3.settext("未绑定服
34、务");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.valueof(a1)+"-"+string.valueof(b)+"="+string.valueof(result);edittext
35、3.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 = edittext2.gettext().tostring();long b1 = long.parselon
36、g(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(componentname a
37、rg0) mathservice=null;public void onserviceconnected(componentname name, ibinder service) mathservice=(mathservice.localbinder)service).getservice();12 / 25如果您需要使用本文档,请点击下载按钮下载!; 实验六:sqlite实现用户的增删改查一:实验目的 了解sqlite数据库的特点和体系及结构; 掌握sqlite数据库的建立和操作方法; 理解contentprovide的用途和原理; 掌握contentprovider的创建和使用方法。二:
38、实验设备 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 et_s
39、alary;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,
40、 1);db = 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(
41、r.id.et_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 v
42、alues=new 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();pub
43、lic void show(view v)db = oh.getwritabledatabase();cursor cursor=db.query("staff", null, null, null, null, null, null, null);while(cursor.movetonext()string id=cursor.getstring(cursor.getcolumnindex("_id");string name=cursor.getstring(cursor.getcolumnindex("name");strin
44、g 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:"+id+" ;"+&quo
45、t;name:"+name+" ;"+"sex:"+sex+" ;"+"department:"+department+" ;"+"salary"+salary);ll.addview(tv);db.close();public void clear(view v)ll.removeallviews();14 / 25如果您需要使用本文档,请点击下载按钮下载!public void deleteall(view v)db = oh.getwritabledataba
46、se();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 te
47、xtview(mainactivity.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.getstrin
48、g(cursor.getcolumnindex("_id");string name=cursor.getstring(cursor.getcolumnindex("name");string sex=cursor.getstring(cursor.getcolumnindex("sex");string department=cursor.getstring(cursor.getcolumnindex("department");string salary=cursor.getstring(cursor.getc
49、olumnindex("salary");tv=new textview(mainactivity.this);tv.settext(id+""+name+""+sex+""+department+""+salary);ll.addview(tv);tv=new textview(mainactivity.this);tv.settext("id查询成功");db.close();public void updatebyid(view v)db = oh.getwritabl
50、edatabase();string id=et_id.gettext().tostring();string name=et_name.gettext().tostring();string sex=et_sex.gettext().tostring();string department=et_department.gettext().tostring();string salary=et_salary.gettext().tostring();15 / 25如果您需要使用本文档,请点击下载按钮下载!contentvalues values=new contentvalues();valu
51、es.put("name",name);values.put("sex", sex);values.put("department",department);values.put("salary", salary);db.update("staff", values, "_id=?", new stringid);tv=new textview(mainactivity.this);tv.settext("更新id成功");db.close();publi
52、c 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 staff(_id integer primary key autoincrement,name tex
53、t,sex text,department text,salary float)");overridepublic void onupgrade(sqlitedatabase db, int oldversion, int newversion) 五:运行结果截图实验七:天气预报16 / 25如果您需要使用本文档,请点击下载按钮下载!一:实验目的 了解位置服务的概念; 了解地图密钥的申请方法; 掌握获取地理信息的方法;二:实验设备 eclipse 开发android 应用 android虚拟设备( avd)三:实验内容 写一个项目,实现显示天气预报的用户界面,显示已发送sms短信的用户界面,不同地区天气的转换四:实验核心代码package com.example.weather;import java.io.bufferedreader;import java.io.inputstreamreader;import .httpurlconnection;import .url;import .urlencoder;import java.util.a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 30595-2024建筑保温用挤塑聚苯板(XPS)系统材料
- 建筑工地钢管租赁合同样式
- 空调安装的承包合同2024年
- 工程设计合同补充协议
- 工程建设贷款合同签订范本
- 足浴店承包权转让用于还债
- 专业建筑工程总承包合同案例
- 2024年劳动合同及声明书
- 教师集体聘用合同书范本
- 合同增加补充协议范本
- 乡村医生考试题库试题(共110题及答案)
- 部编人教版道德与法治5年级上册第六课 我们神圣的国土 课课练测试卷习题
- 教师成绩进步发言稿3篇
- 新教材教科版六年级上册科学全册教案(教学设计)
- 冬季六防工作方案
- 学习《中国式现代化》PPT
- 平板闸阀说明书
- 《行政能力测试》课件
- 广西南宁市八年级上学期数学期末考试试卷
- 上海中考物理专题-计算题失分题专题(学生版)
- 标准化与产品标准课件
评论
0/150
提交评论