`

android SQLite

 
阅读更多

Android数据存储模式   File、Network、SharedPreferences、SQLite
SharedPreferences:会以xml文件形式存储数据

   // interface SharedPreferences
	       this.getSharedPreferences(Sring fileName,int mode);//创建或获得以fileName命名的SharedPreferences
	       editor();//获得SharedPerference的编辑器
	       Type getType();//读取数据

   //interface SharedPreferences.Editor
	         putType(String key;Type value);//压入数据
		 remove(String key);//移除数据
		 clear();//清空数据
		 commit();//提交操作结果
		 apply();//提交操作结果

  SharedPreferences操作示例

    public class MyActivity extends Activity
	{	    
	    public void onCreate(Bundle saveInstanceState)
		{
		    super.onCfeate(saveInstanceState);
			setContentView(R.layout.myLayout);
			Button button=(Button)findViewById(R.id.button);
			button.setOnClickListener(new OnClickListener(){
			    public void click()
				{
				    SharedPreferences sp=this.getSharedPreferences("setting",Activity.MODE_PRIVATE);
					SharedPreference.Editor editor=sp.editor();
					editor.putString("userName","Jay");//压入数据
					editor.remove("userName");//移除数据
					editor.commit();//提交操作
					/*
					    sp.getString();//获取数据
					*/
				}
			});
			
		}
	}

SQLite:  

             SQLiteOpenHelper:抽象类,具有数据库的创建、开启和数据库版本管理的功能。继承该类的subClass需要继承父类的构造方法,

                                                 并implement abstract    onCreate(SQLiteDatabase db) 和 abstract onUpgrade() method.

//abstract SQLiteOpenHelper	          
        SQLiteOpenHelper( Contextcontext,Stringname,
                                        SQLiteDatabase.CursorFactory factory,
                                         int   version);
	 abstract onCreate(SQLiteDatabase db);//当数据库第一次加载时执行此方法
	 abstract onUpgrade( SQLiteDatabase db,int oldVersion,int  
                                           newVersion);//数据库版本管理
	  void Open(SQLiteDatabase db);//当数据库被打开后调用此方法
	  SQLiteDatabase getReadableDatabase();//获取只读数据库
	   SQLiteDatabase getWritableDatabase();//获取可写数据库
	   String getDatabaseName();//获取数据库名称	
	
//SQLiteDatabase
	       void execSql(String statement);
		long insert(  String tableName,String nullColumn ,
                                     ContentValues values);//Hash结构//ContentValues
		int delete(  String tableName,String whereClause,
                                  String [] whereArgs);
		int update( String tableName,ContentValues values,
                                  String whereClause,String[] whereArgs);
		Cursor query( String tableName,String columns,
                                       String whereClause,String[] whereArgs,
                                        String groupBy,String having,
                                        String orderBy,String limit());

//ContentValues
	      new ContentValues();
	      void put(String key,Type value);//压入数据

 //interface Cursor、SQLiteCursor游标
	    //关于位置的method
		    boolean isFirst();               boolean isLast();
		    boolean moveToNext();     boolean moveToPrevious();   
                    boolean moveToPosition();
          //获取数据
                    int getCount();
		     Bundle getExtras();
		     int getColumnIndex(String columnName);
		     Type getType(String columnIndex);   
//SQLiteQuery
//SQLiteQueryBuilder
//SQLiteStatement 

 SQLite示例:

    //创建SQLiteOpenHelper子类SubSQLiteOpenHelper
    SubSQLiteOpenHelper extends SQLiteOpenHelper
	{
	    private final int VERSION=1;
		//构造函数1
	    public SubSQLiteOpenHelper(Content content,String dbName,SQLiteDatabase.CursorFactory factory,
		                           int version)
		  {super( content, dbName, factory,version);}
		  
		//构造函数2,调用构造函数1
		public SubSQLiteOpenHelper(Content content,String dbName,int version)
		{SubSQLiteOpenHelper(content, dbName,null, version);}
		
		//构造函数3,调用构造函数2
		public SubSQLiteOpenHelper(Content content,String dbName)
		{SubSQLiteOpenHelper(content, dbName,null, VERSION);}

		//实现OnCteate函数
		public void OnCreate(SQLiteDatabase db)
		{
		   //your code here;
		   db.execSql("
		               create table tbUser(
					       userId int not null primary key auto_increment,
						   userName varchar(20) default null,
						   userPhone varchar(11) not null
		               )default charset=utf8;
		   ");
		}

		public void OnUpgrade(SQLiteDatabase db,String oldVersion,String newVersion)
		{
		    //your code here;
		}
	}
	
	//创建activity,DatabaseActivity
	public class DatabaseActivity extends Activity
	{
	    SubSQLiteOpenHelper dbHelper=new SubSQLiteDatabaseHelper(DatabaseActivity.this,"appDB");
		SQLiteDatabase db=null;
		
		Button buttInsert=(Button)findViewById(R.id.buttInsert);
		Button buttDelete=(Button)findViewById(R.id.buttDelete);
		Button buttUpdate=(Button)findViewById(R.id.buttUpdate);
		Button buttQuery=(Button)findViewById(R.id.buttQuery);
		
		public void OnCreate(Bundle saveInstanceState)
		{
		    super.Oncreate(saveInstanceState);
			
			//Insert
		    buttInsert.setOnClickListener(new OnClickListener(){
			    public void click()
				{
				    ContentValues values=new ContentValues();
				    db=dbHelper.getWritableDatabase();
					//db.execSql("sqlStatement");
					
					values.put("userName","Jay");
					values.put("userPhone","00000000001");
					db.Insert("tbUser",null,values);
					values.put("userName","Jasion");
					values.put("userPhone","00000000002");
					db.Insert("tbUser",null,values);
				}
			});
			
			//delete
			buttDelete.setOnClickListener(new OnClickListener(){
			    public void click()
				{
				    db=dbHelper.getWritableDatabase();
					//db.execSql("sqlStatement");
					db.delete("tbUser","id=?",new String[]{"2"});
				}
			    
			});
			
			//update
			buttUpdate.setOnClickListener(new OnClickListener(){
			    public void click()
				{
				    ContentValues values=new ContentValues();
					values.put("userName","Jay2");
				    db=dbHelper.getWritableDatabase();
					//db.execSql("sqlStatement");				
					db.update("tbUser",values,"userName=?",new String[]{"Jay"});
				}
			    
			});

			//query
			buttQuery.setOnClickListener(new OnClickListener(){
			    public void click()
				{
				    SQLiteCursor cursor=null;
					db=dbHelper.getReadableDatabase();
					cursor=db.query();
				}
			    
			});
			
		}				
	}
 
分享到:
评论

相关推荐

    Android SQLite学习工具

    这篇博客“Android SQLite学习工具”可能详细介绍了如何在Android环境中使用SQLite进行数据操作,并提供了一个实用的SQLite管理工具——sqlite3.exe。 SQLite数据库在Android中的应用主要包括创建数据库、创建表、...

    Android SQLite ORM框架

    一个简单的Android SQLite ORM框架不想花资源分的同学可以上我的github主页下载:https://github.com/chenyihan/Simple-SQLite-ORM-Android,因为要传到github,所以代码中的注释和doc文档都是英文的,对自己英文不...

    android sqlite可视化工具

    在Android开发中,SQLite是一个内置的关系型数据库系统,用于存储应用程序的数据。SQLite数据库因其轻量级、高效且易于集成的特点,被广泛应用于移动设备。为了更方便地管理和操作SQLite数据库,开发者通常会借助...

    测试android sqlite insert and delete 方法的返回值

    验证android sqlite数据库insert 和delete 方法返回值的具体规律 insert 插入一行,如果当前最大id是4,insert新的一条记录id是5 ,如果把5删除, 在insert一条新的记录id还是5,如果删除的是id为4的记录, 再新增一...

    Android SQLite源码+说明

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的数据库系统,允许开发者在移动设备上存储和管理数据。本资料包包含了对Android SQLite的详细文档和源码分析,帮助开发者深入理解其工作原理。 ...

    sqlite-android,android sqlite支持库.zip

    SQLite 是一个轻量级的关系型数据库管理系统,广泛应用于移动设备,尤其是 Android 平台。它无需服务器进程,可直接在应用程序中使用,非常适合存储和管理应用程序数据。Android 系统自始至终内置了 SQLite 支持,...

    android sqlite_admin 数据库管理软件

    《Android SQLite Admin 数据库管理软件详解》 在移动应用开发领域,SQLite作为一款轻量级的数据库管理系统,广泛应用于Android平台。它允许开发者在应用程序中存储、管理和检索数据,而无需依赖外部服务器。为了...

    android SQLite DBHelper 单例模式 实现

    android SQLite DBHelper 单例模式 实现 dbhelper=DBHelper.getInstance(this);

    Android SQLite的基本操作Demo

    在Android应用开发中,SQLite是一个轻量级的关系型数据库,它被广泛用于存储应用程序的数据。SQLite数据库具有体积小、速度快、无需单独服务器进程等优点,非常适合嵌入式系统,如移动设备上的Android应用。本教程将...

    Android SQLite数据库操作Demo

    在Android应用开发中,SQLite是一个轻量级的关系型数据库,常用于存储应用程序中的结构化数据。SQLite数据库的优势在于它不需要单独的服务进程,而是直接嵌入到应用程序中,提供了高效的本地数据存储解决方案。在这...

    android sqlite greenDao类库

    **Android SQLite GreenDao类库详解** SQLite是Android操作系统中内置的关系型数据库系统,它轻量级、高效且易于使用,适合存储应用中的结构化数据。然而,直接使用原生的SQLite API进行数据库操作可能会显得繁琐,...

    android sqlite3 demo

    在Android系统中,SQLite是一个轻量级的数据库引擎,它被集成到每个Android设备中,为应用程序提供本地数据存储功能。SQLite3是SQLite的一个版本,适用于Android开发中的数据管理。这个"android sqlite3 demo"是一个...

    android SQLite数据库管理软件

    SQLite是一款轻量级的数据库管理系统,它被广泛应用于Android应用程序中,因为它不需要独立的服务进程,而是内嵌在应用中,提供了高效、可靠的本地数据存储功能。"android SQLite数据库管理软件"是一个专为Android...

    android sqlite数据库框架

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的结构化数据。本案例围绕"android sqlite数据库框架"展开,旨在通过Java注解...

    android Sqlite数据库操作demo

    在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的数据库系统,适用于移动设备。SQLite被广泛用于存储和管理应用程序中的结构化数据。在这个"android Sqlite数据库操作demo"中,我们可以深入理解如何...

    高清彩版 Android SQLite Essentials

    ### 高清彩版 Android SQLite Essentials #### 一、引言与概述 《高清彩版 Android SQLite Essentials》是一本专注于Android平台下SQLite数据库应用开发的专业书籍。本书由Sunny Kumar Aditya 和 Vikash Kumar ...

    android Sqlite基本操作

    在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的数据库系统,用于存储应用程序中的结构化数据。SQLite数据库支持多种操作,如创建、查询、更新和删除数据,是移动应用开发中首选的本地数据存储解决...

    android sqlite数据库 demo code

    在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储应用中的结构化数据。SQLite数据库的优势在于它不需要独立的服务器进程,而是直接集成在应用程序中...

    Android SQLite可视化操作工具

    在Android开发中,SQLite是一个内置的关系型数据库,用于存储应用程序中的结构化数据。SQLite数据库具有轻量级、可移植和自包含的特点,非常适合移动设备。然而,由于其命令行界面和编程API的复杂性,开发者有时需要...

    android sqlite的两种管理方法demmo

    本示例"android sqlite的两种管理方法demo"旨在介绍如何在Android应用中使用SQLite,包括通过Java API和Android SQLite数据库API进行数据库操作。 首先,让我们详细探讨**Java的SQLite管理方法**。在Android中,你...

Global site tag (gtag.js) - Google Analytics