/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:数据库应用—访问数据表(SQLite OpenHelper)
* 作 者: 雷恒鑫
* 完成日期: 2012 年 08 月 14 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
在“DummyNote”项目的“src/com/demo/android/dummynote”目录下新建一个“NotesDbAdapter.java”文件,程序的主框架如下:
package com.demo.android.dummynote;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class NotesDbAdapter{
private static final String DATABASE_NAME = "notes.db";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_TABLE = "notes";
private static final String DATABASE_CREATE =
"creat table notes("
+"_id INTEGER PRIMARY KEY,"
+"note TEXT,"
+"created INTEGER,"
+"modified INTEGER"
+");";
private static class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE);
onCreate(db);
}
}
}
对“NotesDbAdapter”类进行加工:
在“NotesDbAdapter.java”文件里继续添加代码:
package com.demo.android.dummynote;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class NotesDbAdapter{
private static final String DATABASE_NAME = "notes.db";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_TABLE = "notes";
private static final String DATABASE_CREATE =
"creat table notes("
+"_id INTEGER PRIMARY KEY,"
+"note TEXT,"
+"created INTEGER,"
+"modified INTEGER"
+");";
private static class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE);
onCreate(db);
}
}
private Context mCtx = null;
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
public NotesDbAdapter(Context ctx){
this.mCtx = ctx;
}
public NotesDbAdapter open () throws SQLException {
dbHelper = new DatabaseHelper(mCtx);
db = dbHelper.getWritableDatabase();
return this;
}
public void close(){
dbHelper.close();
}
}
在打开“DummyNote.java”文件,修改“setAdapter”函数如下:
private NotesDbAdapter mDbHelper;
private void setAdapter(){
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
ListAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,note_array);
setListAdapter(adapter);
}
完整的“DummyNote.java”文件如下:
package com.demo.android.dummynote;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
public class DummyNote extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Tell the list view which view to display when the list is empty
getListView().setEmptyView(findViewById(R.id.empty));
setAdapter();
}
private String[] note_array = {
"gasolin",
"crota",
"louk",
"magicion"
};
private NotesDbAdapter mDbHelper;
private void setAdapter(){
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
ListAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,note_array);
setListAdapter(adapter);
}
}
验证: 使用“adb shell”命令,进入“cddata/data/com.deno.android.dummynote/databases”目录后,执行“sqlite3 notes.db”命令,查看“notes”数据表是否已经创建。
从上面的结果看,“notes”数据表以经正确创建了,我们可以通过“sqlite>”互动模式来尝试在“notes”数据表中增加几条数据:
查看新增内容是否正确(用SELECT”语句):
可以看到,数据分成3列,分别为“_id”、“note”、“created”。每个字段中确实都有填入数值。
分享到:
相关推荐
Android 数据库SQLite 详解,简单学好SQLite
Android 在运行时集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。对数熟悉 SQL 的开发人员来时,使用 SQLite 相当简单。可以,由于 JDBC 不适合手机这种内存受限设备,所以 Android 开发人员...
在Android studio上实现了sqlite的数据的新建、查询、添加、删除等功能。
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。 为什么要用 SQLite? 不需要一个单独的服务器进程或操作的系统(无服务器的)。 SQLite 不...
Android操作系统中内置SQLite数据库在应用程序开发中对数据库进行相关操作 能够对数据进行增删改查
补充知识:Android studio sqllite数据库操作中关于表的创建和无法插入数据时的注意事项以及解决 创建表的sql语句 1.如果有条件的话。最好使用sqllite expert编辑代码测试,再复制到Android studio中 2.如果没有的话...
android操作数据库sqllite源代码,有需要的朋友可以拿走
Android开发学习教程—Android使用SQLite数据库
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...
Android应用程序中使用自己的SQLite数据库Android应用程序中使用自己的SQLite数据库Android应用程序中使用自己的SQLite数据库Android应用程序中使用自己的SQLite数据库
一个android读取sqlite数据库的数据并用listview显示demo,如有问题及时提醒。
Android 绿豆通讯录( SQLite数据库 + ListView数据展示控件 ) https://blog.csdn.net/weixin_44949135/article/details/106029404 采用 SQLite数据库 + ListView数据展示控件,可将用户添加的所有信息,分条...
SQLite使用单个文件存储数据,Android标准库包含SQLite库以及配套使用的一些Java辅助类。主要特点:轻量级,单一文件,跨平台,开源。 二. Android中SQLite数据库的使用 1、创建SQLite数据库 SQLiteDatabase db= ...
greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储、更新、删除和查询。
Android实验报告Sqlite数据库操作.pdf
android sqlite数据库 demo code 小型便签 实现增加和编辑。删除数据 结构化存储数据
SQLite android开发数据库软件
简单的android 数据库 sqlite应用 SimpleSqlte ,代码结构一目了然,对刚接触的有帮助
Android Stdio开发的一个应用,运用Sqlite数据库和listview实现在前端进行对Sqlite的增删改查,数据库中的数据显示在Listview上,在Editetext上输入关键字会查询带有关键字的数据,点击Listview的每一行都可以对该行...
android应用,将外部的sqlite数据库导入到应用的私有空间中,源db文件置于assets目录下,如果源文件大小超过1M,使用Filesplit分割为不超过1M的小文件,那么就将所有分小文件置于assets目录下,本工程里已带...