package com.Aina.Android;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
/**
* com.Aina.Android Pro_SQLiteDatabase
*
* @author Aina.huang E-mail: 674023920@qq.com
* @version 创建时间:2010 Jun 29, 2010 9:57:21 AM 类说明
*/
public class DatabaseHelper extends SQLiteOpenHelper {
private Context mContext = null;
private String str = "";
private String table = "";
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version, String str, String table) {
super(context, name, factory, version);
this.mContext = context;
this.str = str;
this.table = table;
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(str);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE "+table);
this.onCreate(db);
}
}
package com.Aina.Android;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
/**
* com.Aina.Android Pro_SQLiteDatabase
*
* @author Aina.huang E-mail: 674023920@qq.com
* @version 创建时间:2010 Jun 29, 2010 10:11:57 AM 类说明
*/
public class MyDataBaseAdapter {
private Context mContext = null;
private SQLiteDatabase mSQLiteDatabase = null;
private DatabaseHelper dh = null;
private static final String DB_NAME = "Text.db";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "table1";
private static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_DATA = "data";
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME
+ " (" + COLUMN_ID + " INTEGER PRIMARY KEY," + COLUMN_NAME
+ " TEXT," + COLUMN_DATA + " INTEGER NOT NULL)";
public MyDataBaseAdapter(Context context){
mContext = context;
}
/**
* 打开数据库
*/
public void open(){
dh = new DatabaseHelper(mContext,DB_NAME,null,DB_VERSION,CREATE_TABLE,TABLE_NAME);
mSQLiteDatabase = dh.getWritableDatabase();
}
/**
* 关闭数据库
*/
public void close(){
dh.close();
}
/**
* 插入
*/
public void insert(){
try{
ContentValues cv = new ContentValues();
cv.put(COLUMN_NAME, "张三");
cv.put(COLUMN_DATA, 10);
mSQLiteDatabase.insert(TABLE_NAME, null, cv);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 修改
*/
public void update(){
try{
String sql = "UPDATE "+TABLE_NAME+" SET "+COLUMN_NAME+" ='李四' WHERE _id=1";
mSQLiteDatabase.execSQL(sql);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 修改
*/
public void delete(){
try{
mSQLiteDatabase.delete(TABLE_NAME, "_id=2", null);
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 查询
*/
public Cursor select(){
Cursor cursor = null;
try{
String sql = "SELECT * FROM "+TABLE_NAME;
cursor = mSQLiteDatabase.rawQuery(sql, null);
return cursor;
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}
}
package com.Aina.Android;
import android.app.Activity;
import android.database.Cursor;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ListView;
public class Test extends Activity {
/** Called when the activity is first created. */
private MyDataBaseAdapter mdba = null;
private LinearLayout ll = null;
private ListView lv = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setBackgroundColor(Color.BLACK);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
lv = new ListView(this);
lv.setBackgroundColor(Color.BLACK);
ll.addView(lv, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
setContentView(ll);
mdba = new MyDataBaseAdapter(this);
mdba.open();
this.show();
}
@Override
protected void onPause() {
super.onPause();
mdba.close();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
mdba.insert();
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
mdba.delete();
break;
case KeyEvent.KEYCODE_DPAD_UP:
mdba.update();
break;
}
this.show();
return super.onKeyDown(keyCode, event);
}
private void show() {
Cursor cursor = mdba.select();
if (cursor != null) {
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cursor, new String[] {
MyDataBaseAdapter.COLUMN_NAME,
MyDataBaseAdapter.COLUMN_DATA }, new int[] {
android.R.id.text1, android.R.id.text2 });
lv.setAdapter(adapter);
}
}
}
分享到:
相关推荐
在Android开发中,SQLite是一个非常重要的数据存储工具,SQLiteOpenHelper是Android SDK提供的一种管理SQLite数据库的辅助类。本文将深入探讨SQLiteOpenHelper的使用方法及其在实际应用中的关键知识点。 首先,...
本篇主要介绍如何使用Android内置的`SQLiteOpenHelper`类来操作SQLite数据库,包括创建数据库、升级数据库、执行增删改查(CRUD)操作等核心知识点。 ### 1. 数据库初始化与创建 `SQLiteOpenHelper`是Android提供...
本篇文章将深入探讨如何在Android中使用SQLiteOpenHelper进行数据库的简单应用。 首先,SQLiteOpenHelper有两个关键方法:`onCreate()` 和 `onUpgrade()`。`onCreate()` 方法在数据库首次创建时被调用,用于执行...
SQLiteOpenHelper是Android提供的一个用于管理SQLite数据库的类,它简化了数据库的创建、升级以及CRUD(Create, Read, Update, Delete)操作。以下是基于Android SQLiteOpenHelper和CRUD操作的详细介绍: 1. **...
在深入探讨`SQLiteOpenHelper`类中的`onUpgrade`方法之前,我们先来了解下`SQLiteOpenHelper`类在Android开发中的重要性。`SQLiteOpenHelper`是Android SDK提供的一个辅助类,用于帮助开发者创建和管理应用程序中的...
在android中常用存储数据的基本就三种,sqlite,SharedPreferences,文件存储,其中针对于对象存储,使用sqlite比较多,因为可以对其进行增删改查。本文主要讲解SQLiteOpenHelper的封装使用,代码引用自...
这篇教程将深入探讨如何使用SQLiteOpenHelper进行数据库操作,并结合ListView展示数据,同时也会讲解Menu键的使用。 首先,让我们了解SQLiteOpenHelper的主要方法。`onCreate()`方法会在数据库首次创建时被调用,...
今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenH elper中需要重载函数: onCreate( ):利用SQL语句,在系统中创建数据库(表)功能 onUpgrade( ):利用SQL语句,...
SQLiteOpenHelper是Android提供的一个辅助类,它简化了数据库的创建和升级过程,使得开发者能够更加专注于数据操作而不是数据库管理。下面我们将深入探讨SQLiteOpenHelper的用法及其在Android开发中的重要性。 首先...
SQLiteOpenHelper是Android SDK提供的一种方便管理SQLite数据库的类,它主要用于数据库的创建、升级以及版本管理。下面我们将详细讲解如何基于SQLiteOpenHelper进行CRUD(Create、Read、Update、Delete)操作。 ...
SQLiteOpenHelper是Android SDK提供的一种工具类,它帮助开发者轻松管理SQLite数据库,包括创建、升级和打开数据库。在这个示例中,我们将深入探讨如何使用SQLiteOpenHelper进行数据操作。 SQLiteOpenHelper主要有...
最近学习安卓遇到了对数据库的操作,用到了SQLiteOpenHelper这个类来连接或者创建数据库,通过getWritableDatabase()或者...使用SQLiteOpenHelper,便是构建一个类将其继承,有三个方法必须实现: 2.1 构造方法
总结起来,这个项目是一个简单的Android应用,使用`SqliteOpenHelper`来管理SQLite数据库。`MainActivity`负责与用户交互,而`MyDbHelper`处理所有与数据库相关的任务。通过学习这个项目,开发者可以了解如何在...
在这个“android项目利用SQLiteOpenHelper创建数据库文件Demo”中,我们将深入探讨如何在Android应用中有效地使用SQLiteOpenHelper。 首先,我们需要了解SQLiteOpenHelper的基本结构。一个典型的SQLiteOpenHelper...
通过学习和理解这个例子,你应该能够熟练地在Android应用中使用SQLiteOpenHelper进行数据库操作。确保正确处理数据库的版本管理,以适应应用程序的迭代更新,同时也要注意线程安全问题,尤其是在多线程环境中操作...
《Pro-Android-3 BookProvider SQLiteOpenHelper》是关于Android应用开发的一本专业书籍,主要探讨了如何在Android系统中利用`BookProvider`和`SQLiteOpenHelper`进行数据存储和管理。`BookProvider`是自定义的内容...
今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenHelper中需要重载函数: onCreate( ):利用SQL语句,在系统中创建数据库(表)功能 onUpgrade( ):利用SQL语句,在...
SQLiteOpenHelper是Android SDK提供的一种管理SQLite数据库的工具类,它可以帮助开发者轻松地创建、升级和打开数据库。本篇文章将深入探讨如何在Android应用中实现SQLiteOpenHelper。 首先,我们了解...
SQLiteOpenHelper和ContentProvider是Android开发中的两个重要组件,它们都与数据存储和访问有关,但各自扮演的角色和使用场景有所不同。 SQLiteOpenHelper是Android系统提供的一个用于管理SQLite数据库的辅助类。...