版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一次实验 android界面设计一. 实验目的及实验环境1. 实验目的1)掌握sqliteopenhelper类结构2)掌握基于sqlite数据库的应用开发过程3)掌握content provider发布数据的方法4)掌握content resolver获取数据的方法2.实验环境系统开发平 android studio 3.0系统开发平台:android 7.1运行平台:windows10 x64运行环境:microsoft.net framework sdk 2.0二. 实验教材、组织方式、实验内容1.实验教材: andorid开发与应用2.组织方式:个人独立完成2.实验内容:实现基于sq
2、lite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。三方案设计android系统中集成了sqlite数据库,并且为数据库的操作提供了相关的类和方法,便于没有数据库开发经验的开发者编写程序。另外,android平台中利用content provider机制来实现跨应用程序数据共享。一个应用程序可以通过content provider来发布自己的数据,其他的应用程序可以通过content resolver来获取共享数据。四运行结果五总结通过这次实验掌握了sqlite openhelper类结构,掌握了基于sqlite数据库的应用开发过程以及con
3、tent provider发布数据的方法和掌握content resolver获取数据的方法。六附录:源代码 主布局文件activity_main.xml:linearlayout xmlns:android=/apk/res/android 添加联系人布局文件addrelation.xml: 主activity文件mainactivity.java:import android.support.v7.app.actionbaractivity;import android.app.alertdialog;import android.app.
4、application;import android.content.dialoginterface;import android.content.intent;import android.database.cursor;import android.os.bundle;import android.view.menu;import android.view.menuitem;import android.view.view;import android.widget.adapterview;import android.widget.listview;import android.widg
5、et.simplecursoradapter;public class mainactivity extends actionbaractivity private listview listview;protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate);setcontentview(r.layout.activity_main);listview = (listview) findviewbyid(r.id.listview);/ getrelationfromdb();pr
6、ivate void getrelationfromdb() final databasehelper dbhelper = new databasehelper(this);cursor cursor = dbhelper.query();string from = _id, name, tel, groupname ;int to = r.id._id, r., r.id.tel, r.id.group ;simplecursoradapter scadapter = new simplecursoradapter(this,r.layout.relationlist, cu
7、rsor, from, to);listview.setadapter(scadapter);listview.setonitemclicklistener(new adapterview.onitemclicklistener() public void onitemclick(adapterview adapter, view view,int position, long id) final long temp = id;alertdialog.builder adbuilder = new alertdialog.builder(mainactivity.this);adbuilder
8、.setmessage(确认要删除记录吗?).setpositivebutton(确认,new dialoginterface.onclicklistener() overridepublic void onclick(dialoginterface dialog,int which) / todo auto-generated method stubdbhelper.del(int) temp);cursor cursor = dbhelper.query();string from = _id, name, tel,groupname ;int to = r.id._id, r.id.na
9、me,r.id.tel, r.id.group ;simplecursoradapter scadapter = new simplecursoradapter (getapplicationcontext(),r.layout.relationlist, cursor,from, to);mainactivity.this.listview.setadapter(scadapter);).setnegativebutton(取消,new dialoginterface.onclicklistener() overridepublic void onclick(dialoginterface
10、dialog,int which) );alertdialog aleradialog = adbuilder.create();aleradialog.show(););dbhelper.close();public void add(view view) intent intent = new intent(mainactivity.this, addrelationactivity.class);startactivityforresult(intent, 0x111);protected void onactivityresult(int requestcode, int result
11、code, intent data) super.onactivityresult(requestcode, resultcode, data);if (requestcode = 0x111 & resultcode = 0x111) getrelationfromdb();overridepublic boolean oncreateoptionsmenu(menu menu) / inflate the menu; this adds items to the action bar if it is present.getmenuinflater().inflate(r.menu.mai
12、n, menu);return true;overridepublic boolean onoptionsitemselected(menuitem item) / handle action bar item clicks here. the action bar will/ automatically handle clicks on the home/up button, so long/ as you specify a parent activity in androidm id = item.getitemid();if (id = r.id.acti
13、on_settings) return true;return super.onoptionsitemselected(item);添加联系人addrelationactivity.javaimport android.app.activity;import android.app.alertdialog;import android.content.contentvalues;import android.content.dialoginterface;import android.content.intent;import android.os.bundle;import android.
14、view.view;import android.widget.edittext;import android.widget.spinner;public class addrelationactivity extends activity private edittext addname, addtel;private spinner addgroup;protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate);setcontentview(r.layout.addrelation
15、);addname = (edittext) findviewbyid(r.id.addname);addtel = (edittext) findviewbyid(r.id.addtel);addgroup = (spinner) findviewbyid(r.id.addgroup);public void save(view view) final contentvalues values = new contentvalues();values.put(name, addname.gettext().tostring();values.put(tel, addtel.gettext()
16、.tostring();values.put(groupname, addgroup.getselecteditem().tostring();final databasehelper dbhelper = new databasehelper(getapplicationcontext();final alertdialog.builder adbuilder = new alertdialog.builder(this);adbuilder.setmessage(确认保存记录吗?).setpositivebutton(确认, new dialoginterface.onclicklistener() overridepublic void onclick(dialoginterface dialog, int which) / todo auto-generated method stubdbhelper.insert(values);intent inte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 省人民大会堂迁建工程施工组织设计
- 贵阳市花溪区农村义务教育阶段学校教师特设岗位招聘考试真题2025
- 2025-2026学年四川省成都市金牛区四年级数学下学期期中质量检测模拟试题含答案解析
- 2025-2026学年四川省南充市嘉陵区数学三下期中学业水平测试试题含答案解析
- 2026年蜀安职业学院高职单招职业技能考试模拟试卷含答案详解【研优卷】
- 2027年重庆城市管理职业学院单招综合素质考试题库附参考答案详解【预热题】
- 2024年重庆能源职业学院高职单招职业技能考试题库附参考答案详解(预热题)
- 2025年昆仑专修学院高职单招职业适应性测试考试题库附答案详解
- 2027年小清河产业职业学院单招职业技能考试模拟试卷含答案详解
- 2024年火焰山职业学院高职单招职业适应性测试考试模拟试卷附参考答案详解【满分必刷】
- 2026年演出经纪人考试题库及答案(真题)
- 2026年广西壮族自治区南宁市公安招聘辅警考试真题及答案
- 2026江苏苏州市相城区人民检察院招聘编外人员3人笔试题库及答案详解(新)
- 2026年生产文员测试题及答案
- 2026年全国执业兽医资格证考试题库带答案详解(完整版)
- 2026年学法减分题库和答案
- 2025年投资策略 云开雾散曙光现 高善文演讲速记
- 食品加工厂应急处理预案
- JJF1030-2023温度校准用恒温槽技术性能测试规范
- 《海参中海参多糖的测定 高效液相色谱法》国家标准编制说明
- 慈星全电脑横编织机操作手册
评论
0/150
提交评论