Android SQLite简单操作示例

来源:互联网 发布:c语言入门到精通视频 编辑:程序博客网 时间:2024/05/22 11:59

环境

Eclipse Indigo + Android 2.2 + SQLite 2.6.22

 

问题

Android SQLite数据库简单示例

 

解决

SqLiteActivity.java

 

package com.cuit.edu.cn;import com.cuit.edu.cn.db.DateBaseHelper;import android.app.Activity;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class SqLiteActivity extends Activity {    /** Called when the activity is first created. */private Button createButton = null;private Button updatebaseButton = null;private Button insertButton = null;private Button updateButton = null;private Button queryButton = null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                createButton = (Button)findViewById(R.id.createdatebase);        updatebaseButton = (Button)findViewById(R.id.updateDatebase);        insertButton = (Button)findViewById(R.id.insterButton);        updateButton = (Button)findViewById(R.id.updateButton);        queryButton = (Button)findViewById(R.id.queryButton);                        createButton.setText(R.string.create);        updatebaseButton.setText(R.string.updatebase);        insertButton.setText(R.string.insert);        updateButton.setText(R.string.update);        queryButton.setText(R.string.query);                createButton.setOnClickListener(new createButtonListener());        updatebaseButton.setOnClickListener(new updatebaseButtonListener());        insertButton.setOnClickListener(new insertButtonListener());        updateButton.setOnClickListener(new updateButtonListener());        queryButton.setOnClickListener(new queryButtonListener());                            }        class createButtonListener implements OnClickListener    {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDateBaseHelper dbHelper = new DateBaseHelper(SqLiteActivity.this, "user_Base");SQLiteDatabase db = dbHelper.getReadableDatabase();}        }        class updatebaseButtonListener implements OnClickListener    {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub System.out.println("b================");DateBaseHelper dbHelper = new DateBaseHelper(SqLiteActivity.this, "user_Base",90);SQLiteDatabase db = dbHelper.getReadableDatabase();dbHelper.onUpgrade(db, 90, 91);}        }        class insertButtonListener implements OnClickListener    {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubContentValues values = new ContentValues();values.put("id", 1);values.put("name", "rock");DateBaseHelper dbHelper = new DateBaseHelper(SqLiteActivity.this,"user_Base");SQLiteDatabase db = dbHelper.getWritableDatabase();db.insert("user", null, values);}        }        class updateButtonListener implements OnClickListener    {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubDateBaseHelper dbHelper = new DateBaseHelper(SqLiteActivity.this, "user_Base");SQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();values.put("name", "cara");db.update("user", values, "id=?", new String[]{"1"});}        }    class queryButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubDateBaseHelper dbHelper = new DateBaseHelper(SqLiteActivity.this, "user_Base");SQLiteDatabase db = dbHelper.getReadableDatabase();Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null);while(cursor.moveToNext()){String name = cursor.getString(cursor.getColumnIndex("name"));System.out.println("------"+name);}}        }}


 

DateBaseHelper.java

 

package com.cuit.edu.cn.db;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class DateBaseHelper extends SQLiteOpenHelper {private static final int VERSION = 1;public DateBaseHelper(Context context, String name, CursorFactory factory,int version) {super(context, name, factory, version);// TODO Auto-generated constructor stub}public DateBaseHelper(Context context,String name){this(context,name,VERSION);}public DateBaseHelper(Context context,String name,int version){this(context,name,null,VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stubSystem.out.println("createdataBase");db.execSQL("create table user(id int, name varchar(20))");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stubSystem.out.println("updataBase");}}

 

main.xml

 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <Button        android:id="@+id/createdatebase"         android:layout_width="fill_parent"        android:layout_height="wrap_content"                />        <Button        android:id="@+id/updateDatebase"         android:layout_width="fill_parent"        android:layout_height="wrap_content"        />        <Button        android:id="@+id/insterButton"         android:layout_width="fill_parent"        android:layout_height="wrap_content"        />        <Button        android:id="@+id/updateButton"         android:layout_width="fill_parent"        android:layout_height="wrap_content"                />        <Button        android:id="@+id/queryButton"         android:layout_width="fill_parent"        android:layout_height="wrap_content"                />        </LinearLayout>


 

strings.xml

 

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World, SqLiteActivity!</string>    <string name="app_name">SqLite</string>    <string name="query">query</string>    <string name="updatebase">updatebase</string>    <string name="update">update</string>    <string name="create">create</string>    <string name="insert">insert</string>    </resources>


 

 

注意事项

1.       使用sqlite3命令需要在命令行界面使用;

2.       可以使用adb shell命令进入命令行界面,前提是模拟器需要开启,且成功配置Android环境变量(H:\Program files\android-sdk-windows\platform-tools);

3.       数据文件保存在此路径下:/data/data/com.cuit.edu.cn/databases

4.       使用数据库,使用sqlite3数据库名命令。

 

 

参考资料

Android数据保存之SQLite方法

http://www.cnitblog.com/liaoqingshan/archive/2013/02/20/86986.html

 

Android sqlite3命令行操作方法

http://blog.csdn.net/ccwwff/article/details/5834482

 

Command Line Shell For SQLite

http://www.sqlite.org/sqlite.html

 

SQlite命令行工具的使用

http://www.cnblogs.com/hnrainll/archive/2011/04/22/2024627.html

 

SQLite命令行程序说明

http://blog.pfan.cn/lounger/26540.html

 

 

 

katoonSina  CSDN@Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]