实验八 sqlite数据库操作
实验报告
|
课程名称 |
基于Android平台移动互联网开发 |
实验日期 |
2016年5月3日 |
||
|
实验项目名称 |
SQLite数据库操作 |
实验地点 |
S30010 |
||
|
实验类型 |
□验证型 √设计型 □综合型 |
学 时 |
2 |
||
|
一、实验目的及要求(本实验所涉及并要求掌握的知识点) |
|||||
|
1.目的:设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面。 2.要求:程序主界面是通讯录的目录显示手机上联系人的名称。点击联系人的姓名可以显示联系人的详细信息。在按了MEMU键之后会弹出菜单栏。单击菜单栏上的按钮可以添加联系人和删除联系人 |
|||||
|
二、实验环境(本实验所使用的硬件设备和相关软件) |
|||||
|
(1)PC机 (2)操作系统:Windows XP (3)软件: Eclipse, JDK1.6,Android SDK,ADT |
|||||
|
三、实验内容及步骤 |
|||||
|
1)在res/drawable-mdpi目录下拷入程序要用的图标 2)定义字符串资源string.xml 3)开发布局文件activity_main.xml用于显示联系人列表。 4)layout目录下新建一个detail.xml,用于显示联系人详细信息 5)接下来便进入MainActivity端的开发,实现数据库增加、删除、修改记录等操作 |
|||||
|
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图) |
|||||
|
代码: mainActivity.java的代码: package com.example.sql; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.os.Bundle; import android.printservice.PrintService; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.graphics.Color; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnCreateContextMenuListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { Button add,delete; ListView list; MyOpenHelper dbhelper; SQLiteDatabase db; String s; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("kdsjflkasjdklfas", "daskfjaklsjfdklsaf"); add=(Button)findViewById(R.id.button1); delete=(Button)findViewById(R.id.button2); list=(ListView)findViewById(R.id.listView1); Log.i("kdsjflkasjdklfas", "daskfjaklsjfdklsaf"); dbhelper=new MyOpenHelper(MainActivity.this, "personal_contacts.db",null,1); db=dbhelper.getReadableDatabase(); Cursor c=db.rawQuery("select * from contacts", null); inflateList(c); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) { // TODO Auto-generated method stub view.setBackgroundColor(Color.BLUE); TextView textview=(TextView)view.findViewById(R.id.textView1); s = textview.getText().toString(); } }); list.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View view, int arg2, long arg3) { // TODO Auto-generated method stub view.setBackgroundColor(Color.BLUE); // TextView textview=(TextView)view.findViewById(R.id.textView1); // s = textview.getText().toString(); Intent intent1=new Intent(MainActivity.this,result.class); startActivity(intent1); finish(); return false; } }); add.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this,result.class); startActivity(intent); finish(); } }); delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub db.delete("contacts", "name=?", new String[]{s}); Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_LONG).show(); Cursor c=db.rawQuery("select * from contacts", null); inflateList(c); } }); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) { // TODO Auto-generated method stub view.setBackgroundColor(Color.BLUE); TextView textview=(TextView)view.findViewById(R.id.textView1); s = textview.getText().toString(); } }); } private void inflateList(Cursor c) { // TODO Auto-generated method stub int count=c.getCount(); String[] name=new String[count]; int b=0; while(c.moveToNext()){ name[b]=c.getString(c.getColumnIndex("name")); b++; } ArrayList<HashMap<String, Object>> listitem=new ArrayList<HashMap<String,Object>>(); for(int i=0;i<count;i++){ HashMap<String,Object> map=new HashMap<String, Object>(); map.put("ItemTitle", "name[i]"); Log.i("jakfaksjflaksjfl", "skajfklajslkfj"); listitem.add(map); SimpleAdapter m=new SimpleAdapter(MainActivity.this, listitem, R.layout.item, new String[]{"ItemTitle"}, new int[]{R.id.ItemTitle}); list.setAdapter(m); @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 运行结果:(截图)
|
|||||
|
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) |
|||||
|
对于这次的实验,我感觉有点难度,因为思路不是很清晰,所以实验并没有成功,虽然可以成功的添加数据,但是并不能让数据显示在listView上,不过虽然失败了,但是还是有所收获,我会继续寻找解决的方法。 |
|||||
|
实验评语 |
|
||||
|
实验成绩 |
|
指导教师签名: 年 月 日 |
|||
实验八 sqlite数据库操作的更多相关文章
- 实验8 SQLite数据库操作
实验报告 课程名称 实验8 SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 学 时 一 ...
- 【Android】实验8 SQLite数据库操作2016.5.12
实验8 SQLite数据库操作 [目的] 设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面. [要求] 程序主界面是通讯录的目录显示手机 ...
- C# SQLite 数据库操作
C# SQLite 数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0 参考: SQLite 官网 SQL As Understood By SQL ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- [python]用Python进行SQLite数据库操作
用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ ]: u ...
- 安卓 SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- 在安卓开发中使用SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- iOS 中SQLite数据库操作
在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...
- sqlite数据库操作详细介绍 增删改查,游标
sqlite数据库操作详细介绍 增删改查,游标 本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code package com.example ...
随机推荐
- 我和小美的撸码日记(3)之一句话搞定MVC表单页数据绑定与提交
“尼玛哥,你今天有空么?” “今天周日呀,怎么会没空,你这是要约么?麻辣烫凉皮我都吃,在哪儿,我一会儿就到.” “约你妹呀,我昨天都加一天班了,东西到现在还没搞完,你给我快点过来呀,我需要你!” “别 ...
- Baidu百度搜索引擎登录网站 - Blog透视镜
Baidu百度是中国的搜索引擎,有心经营中国市场的网友,自然不能错过,不过Google谷歌已经遭中国封锁,如果你的网站是用Blogger架设的,具有blogspot.com网域的,则会无法浏览. 阅读 ...
- Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式的解释)
在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ...
- 脱机BT transmission
脱机BT transmission http://192.168.1.1:9091 也可以在使用Transmission Remote软件进行管理,如果下载太慢检查QoS 如果开了防火墙,需要打开默认 ...
- 【转】Android Service完全解析,关于服务你所需知道的一切(下) ---- 不错
原文网址:http://blog.csdn.net/guolin_blog/article/details/9797169 转载请注册出处:http://blog.csdn.net/guolin_bl ...
- dictionary (key-value) (map容器)
#dictionary可以保存不同类型的值 menu = {'fish0':14.50} list = [] menu['fish1'] = 10.1 # Adding new key-value p ...
- InsertSort 插入排序
插入排序:将下一个插入已排好的序列中 自己觉得演示的号的一个文章地址 http://sjjg.js.zwu.edu.cn/SFXX/sf1/zjcr.html 下面是java的实现代码: //Inse ...
- 修改过mysql数据库字段内容默认值为当前时间
--添加CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER TABLE `table_name`ADD COLUMN `CreateTime` datetime N ...
- java 读取mysql库表数据
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- pyqt下拉菜单和打开指定的内容(或者exe,doc,ppt,url等内容)
#下拉菜单及显示 def _action(self): menu=QMenu(self) menu1=menu.addMenu(u'文件') menu11=menu1.addAction(u'新建任务 ...


