Android SQLite简单操作示例
环境
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命令进入命令行界面,前提是模拟器需要开启;
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
@Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]