您的位置:首页 > 数据库

SQLite操作数据库的简单应用

2014-05-24 15:38 465 查看
1. 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" >

<Button
android:id="@+id/ButtonCreate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="创建数据库" />

<Button
android:id="@+id/ButtonInsert"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="增加数据" />

<Button
android:id="@+id/ButtonUpdate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="更新数据" />

<Button
android:id="@+id/ButtonQuery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="查询数据" />

</LinearLayout>


2. MainActivity.java类
package com.example.sqlite;

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.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

private Button createBut; // 创建数据库按钮
private Button insertBut; // 增加数据库记录按钮
private Button updateBut; // 更新数据库记录按钮
private Button queryBut; // 查询数据库记录按钮

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

createBut = (Button) findViewById(R.id.ButtonCreate); // 实例化创建数据库按钮
insertBut = (Button) findViewById(R.id.ButtonInsert); // 实例化插入数据库按钮
updateBut = (Button) findViewById(R.id.ButtonUpdate); // 实例化更新数据库按钮
queryBut = (Button) findViewById(R.id.ButtonQuery); // 实例化查询数据库按钮

createBut.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
SqLiteDBHelper dh = new SqLiteDBHelper(MainActivity.this,
"teatdb", null, 1);
System.out.println("create or open database success!");
SQLiteDatabase sld = dh.getReadableDatabase(); // 得到一个SQLiteDatabase对象
Toast.makeText(MainActivity.this, "创建或打开数据库",
Toast.LENGTH_SHORT).show();
}
});

insertBut.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
ContentValues cv = new ContentValues(); // 得到ContentValues对象
cv.put("uid", 1); // 放入键值对,键要与列名一致,值要与列的数据一致
cv.put("uname", "zcl");
SqLiteDBHelper dh = new SqLiteDBHelper(MainActivity.this,
"testdb", null, 1);
Toast.makeText(MainActivity.this, "插入记录 ", Toast.LENGTH_SHORT)
.show();
SQLiteDatabase sld = dh.getWritableDatabase(); // 得到一个SQLiteDatabase对象
sld.insert("sqlitetest", null, cv); // 增加数据库记录
System.out.println("success insert a new content!");
}
});
updateBut.setOnClickListener(new View.OnClickListener() { // 更新数据库时调用

@Override
public void onClick(View v) {
SqLiteDBHelper dh = new SqLiteDBHelper(
MainActivity.this, "testdb", null, 1); // 创建数据库
SQLiteDatabase sld = dh.getWritableDatabase(); // 得到一个SQLiteDatabase对象
ContentValues cv = new ContentValues(); // 得到ContentValues对象
Toast.makeText(MainActivity.this, "更新记录",
Toast.LENGTH_SHORT).show();
cv.put("uname", "zcl_update");
sld.update("sqlitetest", cv, "uid=?",
new String[] { "1" });
System.out.println("success updata the content!");
}
});
queryBut.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
SqLiteDBHelper dh = new SqLiteDBHelper(MainActivity.this,
"testdb", null, 1);
Toast.makeText(MainActivity.this, "查询记录", Toast.LENGTH_SHORT)
.show();
SQLiteDatabase sld = dh.getReadableDatabase(); // 得到一个SQLiteDatabase对象
Cursor cursor = sld.query("sqlitetest", new String[] { "uid",
"uname" }, "uid=?", new String[] { "1" }, null, null,
null);
while (cursor.moveToNext()) { // 打印输出
String name = cursor.getString(cursor
.getColumnIndex("uname"));
System.out.println("query result:" + name);
}
}
});
}
}


3. SqLiteDBHelper.java类
package com.example.sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class SqLiteDBHelper extends SQLiteOpenHelper {

public SqLiteDBHelper(Context context, String name, CursorFactory factory,
int version) { // 继承SQLiteOpenHelper的类,必须有该构造函数
super(context, name, factory, version);

}

@Override
// 在调用getReadableDatabase()或getWritableDatabase()后调用
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table sqlitetest(uid long,uname varchar(25))");
System.out.println("already create a database : sqlitetest.");
}

@Override
// 升级数据库时调用
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}


显示效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android应用