没有合适的资源?快使用搜索试试~ 我知道了~
16337233_王凯祺_数据库实验1
需积分: 0 0 下载量 14 浏览量
2022-08-08
18:56:14
上传
评论
收藏 4.93MB DOCX 举报
温馨提示
试读
58页
16337233_王凯祺_数据库实验1
资源详情
资源评论
资源推荐
实验报告
院 系 数据科学与计算机学院 学 号 16337233 姓 名 王凯祺
【实验题目】
Android
Android
数据库实验
数据库实验
【 实 验 目 的 】 学 习 Android 的 ContentProvider 、 ActionBar 、 Json 转 换 、 SQlite 操 作 、 Fragment 、
PreferenceActivity、CustomListView、SimpleListView、AlertDialog、ProgressDialog、menu、
Handler 等。
【功能说明】
本实验需要编制两个项目程序,第一个是词典程序(词典 app),词典程序除了本身作为词典
使用外,还可以把单词提供给其它需要使用的单词和例句的程序使用。第二个是背单词程序(被单
词 app),利用词典程序获得单词,然后通过测验的方法背单词。
【实验说明】
(a)下面的实验内容把本次实验分成了很多步骤来完成,可以只完成其中一部分功能,其中 1~8
是需要做的步骤,9~19 是选做步骤,在最后指明完成了哪些步骤。
(b)除了单步测试,调试可以采用 Log.d("测试", ""+i); 通过 Android Monitor,还可以使用单元
检测。见 “Android 程序设计(六).ppt” p19 p41。
(c)做每个步骤前,最好先把参考源码运行一遍。
(d)可以先看一下老师的类设计(在本报告末尾)
【实验内容】
(一)词典核心功能设计
项目:GrandDictionary
1、做一个如下 ActionBar 界面。
编程说明: android:icon="@drawable/ic_action_search"
android:icon="@android:drawable/ic_input_add"
android:checkable="true"
android:checked="false"
参考源码:ActionBar
2、点击下载菜单完成单词下载(Json 格式),转换为 Object,并保存到 SQlite 数据库中。如果单
词已存在,则覆盖它。
实验报告
数据表:db.execSQL("CREATE TABLE dict(_id integer primary key autoincrement, word
varchar(64) unique, explanation text, level int default 0, modified_time
timestamp)");
其中,level 为单词难度,值越大越难
查看 Json 数据:http://172.18.187.9:8080/dict/
注意事项:
(1)AndroidManifest.xml 中加入允许互联网访问:
<uses-permission android:name="android.permission.INTERNET"/>
(2) 最好采用子线程进入下载:
new Thread() {
@Override
public void run() {
try {
DownloadDict downloadDict = new DownloadDict(mContext,dictDb);
downloadDict.start("");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}.start();
参考源码或数据:WebServiceDemo(getJsonWeather 方法)、Json1(推荐)、Json2、SqliteCv
3、用 SimpleListView 把数据库中的数据显示出来。
实验报告
参考源码: SqliteCv、ListViewSimple (也可使用 Cursor,参见 ListViewCursor,不推荐)
4、增加一个 ContentProvider。(可以结合背单词功能 ContentResolver 一起做)
参考源码: SqliteCv、FirstProvider
提示:修改 AndroidManifest.xml(用到的四大组件都要在其中配置)
(二)词典核心功能设计
项目:GrandWordRemember
5、做一个主界面(MainActivity)
参考资源: rem.jpg
6、点击“进入测验”,进入测验界面(TestActivity)
实验报告
参考源码:NewStartActivity
7、点击上面界面的开始测验,编写通过 ContentResolver 从词典程序中取前 10 个单词的程序并
显示出来。选项从这 10 个单词的解释 explanantion 中随机选取,并包含要测验的单词,顺
序也要打乱。
参考源码:FirstResolver、SpinnerCustom(参考做成自定义 ListViewCustom)
编程说明:取 10 条记录的方法,OrderBy 参数加上 limit 10,即 "word limit 10"
参考地址:https://blog.csdn.net/Sunjianhua360/article/details/51394488
8、点击菜单“新增单词”,通过对话框为词典程序增加单词。
实验报告
操作说明:要查询输入的单词是否存在,不存在则增加,存在则修改(允许覆盖)。
编程提示:可以单独定义一个类放对话框的功能。把 Activity 的上下文 Context 带入就可以了。
上下文 Context 表示在什么地方显示这些对话框。
* Context 在 Activity 中 Context 可以用 this 或 ActivityName.this 取得,在事件处
理程序中可以用 ActivityName.this 取得。
参考源码:FirstProvider 、FirstResolver、SqliteCv、AlertDialog
(三)词典扩展功能设计
项目:GrandDictionary
9、增加信息显示栏,点击单词(setOnItemClickListener)将显示含义。
剩余57页未读,继续阅读
西门镜湖
- 粉丝: 23
- 资源: 296
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0