`
gryphone
  • 浏览: 433534 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

SQLiteDatabase 进一步整合

阅读更多

前几篇关于"SQLiteDatabase" 时候   辅助类"SQLiteOpenHelper"的地位

 

今天在把 SQLiteDatabase 与 SQLiteOpenHelper 试图整合 有点想法 与大家分享分享

 

 

[思路]

1. SQLiteDatabase  用于数据库操作 所以必须返回一个句柄

2. SQLiteOpenHelper 用于协助SQLiteDatabase 

 

 

 

[代码 步骤]

1. 定义 SQLiteHandler 的内部类 DBHelper 定义如下:

public class DBHelper extends SQLiteOpenHelper {

		public DBHelper(Context context, String name, CursorFactory factory,
				int version) {
			super(context, name, factory, version);
			// TODO Auto-generated constructor stub
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			// TODO Auto-generated method stub
			db.execSQL("CREATE TABLE IF NOT EXISTS " 
	                + TB_NAME + " (" 
	        		+ ID + " INTEGER PRIMARY KEY," 
	        	    + COUNTRY + " VARCHAR,"
	        	    + CODE + " INTEGER)");
		}

		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			// TODO Auto-generated method stub
			db.execSQL("DROP TABLE IF EXISTS "+TB_NAME);
	        onCreate(db);
		}
		
	}

 

 

 

2. 定义 SQLiteHandler 构造函数 及 获取 SQLiteDatabase 句柄 的 函数 如下:

DBHelper dbHelper;
	static SQLiteDatabase sqliteInstance;
	
	Context context;
	
	public SQLiteHandler(Context c,String name,int version){
		context = c;
		
		dbHelper = new DBHelper(context,name,null,version);
		
		sqliteInstance = dbHelper.getWritableDatabase();
	}
	
	public static SQLiteDatabase GetSQLiteHandler(){
		return sqliteInstance;
	}

 

 

3. 如何使用

public class SQLiteHandlerUsage extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        SQLiteHandler handler = new SQLiteHandler(this,"countrycode.db",1);
        
        SQLiteDatabase db = handler.GetSQLiteHandler();
        
        ContentValues values = new ContentValues();
        values.put(SQLiteHandler.COUNTRY, "中国");
        values.put(SQLiteHandler.CODE, 86);
        db.insert(SQLiteHandler.TB_NAME,SQLiteHandler.ID, values);
        
        ContentValues values2 = new ContentValues();
        values2.put(SQLiteHandler.COUNTRY, "台湾");
        values2.put(SQLiteHandler.CODE, 186);
        db.insert(SQLiteHandler.TB_NAME,SQLiteHandler.ID, values2);
        
        
        db.insert(SQLiteHandler.TB_NAME,SQLiteHandler.ID,null);
        values.clear();
        values.put(SQLiteHandler.COUNTRY, "意大利");
        values.put(SQLiteHandler.CODE, 39);
        db.update(SQLiteHandler.TB_NAME, values,SQLiteHandler.ID + " = 2",null);
        
        db.execSQL("INSERT INTO "
                + SQLiteHandler.TB_NAME + "("
                + SQLiteHandler.COUNTRY + ","
                + SQLiteHandler.CODE + ") VALUES "
                + "('洪都拉斯',504)");
        
        
        Cursor c = db.query(SQLiteHandler.TB_NAME,null,null,null,null,null,
        		SQLiteHandler.CODE+" DESC");
        
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
                android.R.layout.simple_list_item_2, 
                c,
                new String[] {SQLiteHandler.COUNTRY,SQLiteHandler.CODE}, 
                new int[] {android.R.id.text1,android.R.id.text2});
        adapter.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);
        
        
        this.setListAdapter(adapter);
    }
}

 

 

 

4. 运行效果 略过

 

 

分享到:
评论

相关推荐

    listView SQLiteDatabase的使用

    本篇文章将详细探讨如何将两者整合,实现数据的添加、查询和其他操作。 首先,我们需要创建一个SQLite数据库。在Android中,我们通常通过扩展SQLiteOpenHelper类来实现,这个类提供了创建、升级和打开数据库的方法...

    Sqlite及SQLiteDatabase的使用

    SQLiteDatabase是Android系统中对SQLite数据库的封装,它是Android SDK的一部分,提供了与SQLite数据库进行交互的接口和类。开发者可以通过SQLiteDatabase来创建、更新、查询和管理数据库。 在Android应用开发中,...

    Android数据库SQLiteDataBase的使用

    因为数据库的操作在开发中的重要性是不言而喻的,所以,在数据库这一方面下了很大的功夫,终于掌握了基本的操作,包括建表和删除,对数据库的操作,“增删改查”基本操作,而且用了封装性来实现,是学习数据库的一个...

    SQLiteDatabase

    标题"SQLiteDatabase"可能指的是一个特定的C++库或者项目,这个项目为开发者提供了一个更加方便的接口来操作SQLite数据库。根据描述,这个封装库在`main`函数中提供了示例代码,这对于初学者来说非常友好,可以快速...

    SqliteDatabase应用

    本文将深入探讨如何使用`SqliteDatabase`进行数据库操作,并结合`Menu`来实现查询、新增、修改和删除功能。 首先,`SqliteDatabase`是Android提供的一个轻量级数据库引擎,它基于SQLite,支持大部分SQL语法。为了...

    androidDb.rar_ SQLiteDatabase_SQLiteDatabase_android

    在本例"androidDb.rar_ SQLiteDatabase_SQLiteDatabase_android"中,我们将探讨如何在Android应用中使用SQLite数据库。 SQLite数据库的核心类是`SQLiteDatabase`,它是Android提供的一个接口,用于执行SQL语句和...

    Android 数据库SQLiteDatabase的使用

    Android 数据库SQLiteDatabase的使用 1.数据库辅助操作接口SQLiteDatabaseOpenHelper的使用 2.ContentValues的使用 3.数据的增删改查 4.listView 与Adapter的使用 5.OptionsMenu的使用 6.Editext隐藏失去焦点的方法

    android开发sqliteDataBase使用实例

    `SQLiteDatabase`对象提供了执行SQL语句的方法,如`insert()`, `query()`, `update()`, 和 `delete()`。以下是一些基本示例: ```java public class DatabaseHelper extends SQLiteOpenHelper { // ... public ...

    安卓开发实验6——SQLite和SQLiteDatabase应用

    在本实验“安卓开发实验6——SQLite和SQLiteDatabase应用”中,我们将深入学习如何在Android应用程序中集成SQLite数据库来存储和检索数据,特别是新闻信息。我们将使用ListView组件来动态地展示这些新闻内容,提供...

    Android使用SQLiteDatabase直接存取数据与图像

    在这个主题中,我们将深入探讨如何在Android环境下使用SQLiteDatabase来直接存取数据和图像。 首先,要使用SQLite数据库,我们需要创建一个SQLiteOpenHelper的子类。这个类有两个关键方法:`onCreate()` 和 `...

    SQLitedatabase的工程练习源码

    在Android开发中,SQLite数据库是一种常用的轻量级数据库,它被广泛用于存储应用程序的数据。SQLite数据库的优势在于...通过这个练习,初学者可以逐步熟悉Android数据库编程,为进一步的Android应用开发打下坚实基础。

    SQLiteDataBase简单Android实例

    SQLite是Android系统中内置的关系型数据库,用于存储和管理应用程序中的结构化数据。在这个"SQLiteDataBase简单...在这个实例中,你可以进一步学习如何结合Android组件与SQLite进行数据交互,提升你的Android开发技能。

    Android SQLiteDatabase的使用详解

    ### Android SQLiteDatabase的使用详解 在Android开发过程中,`SQLiteDatabase`是进行本地数据存储的核心类之一,它提供了创建和查询SQLite数据库的方法。SQLite是一种轻量级的嵌入式数据库引擎,广泛应用于移动...

    SQLiteDatabase增删改查示例代码

    本示例主要关注`SQLiteDatabase`的增删改查操作,并且对比了Android自带的SQLite API与第三方库greenDao的使用方法。 一、`SQLiteDatabase`的基本操作 1. 增加(Add):在Android中,我们首先需要创建一个...

    db.rar_DEMO_SQLiteDatabase_sqlite

    一个关于SQLite数据库操作的android应用demo,通过本应用你可以学到:使用SQLiteDatabase操作SQLite数据库,使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例

    android studio SQLiteDatabase的基本功能与操作

    在Android应用开发中,SQLite是一个重要的组成部分,它是一个轻量级的、开源的、嵌入式的...在实际开发中,还可能涉及到事务处理、索引优化、数据备份恢复等高级功能,这些都是进一步提升应用性能和用户体验的关键。

    android的SQLiteDatabase的CRUD小案例

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS my_table"); // 升级时删除旧表 onCreate(db); // 重新创建新表 } } ``` 在这个例子中,我们...

    实验七SQLite和SQLiteDatabase的使用.docx

    【实验七:SQLite和SQLiteDatabase的使用】 在Android开发中,SQLite是一个不可或缺的组件,用于存储和管理应用程序的结构化数据。SQLite是一个轻量级的、嵌入式的、支持事务的SQL数据库引擎,特别适合资源有限的...

    实例讲解Android中SQLiteDatabase使用方法

    在Android开发中,SQLite数据库是一个重要的组成部分,它为应用程序提供了本地数据存储的能力。SQLite是一个轻量级的数据库系统,内置于Android操作...通过Cursor,我们可以遍历查询结果并进行进一步的业务逻辑处理。

Global site tag (gtag.js) - Google Analytics