版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Birdmotianlun/article/details/50262183
activity_main.xml
<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/createButton1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="创建数据库" />
<Button
android:id="@+id/updateDatabase"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="updateDatabase" />
<Button
android:id="@+id/insert"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="insert" />
<Button
android:id="@+id/update"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="update" />
<Button
android:id="@+id/query"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="query" />
<Button
android:id="@+id/button6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
DatabaseHelper.java
package com.lun;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int VERSION = 1;
// 在SQLiteOpenLite中必须由该构造方法,String name为表名
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO 自动生成的构造函数存根
}
// 添加三个参数的构造方法
public DatabaseHelper(Context context, String name, int version) {
this(context, name, null, version);
}
// 添加两个参数的构造方法
public DatabaseHelper(Context context, String name) {
this(context, name, VERSION);
}
// 该函数是在第一次创建数据库时执行,实际上是第一次得到SQLiteDatabase对象时执行
@Override
public void onCreate(SQLiteDatabase db) {
// TODO 自动生成的方法存根
db.execSQL("create table table1(id int,name varchar(20))");
System.out.println("create sqlite+++++++++++++++++++++++++++++++++");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO 自动生成的方法存根
System.out.println("onupgrade sqlite++++++++++++++++++++++");
}
}
MainActivity.java
package com.example.android0171;
import com.lun.DatabaseHelper;
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 MainActivity extends Activity {
private Button createButton;
private Button updateDataButton;
private Button insertButton;
private Button updateButton;
private Button queryButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createButton = (Button) findViewById(R.id.createButton1);
updateDataButton = (Button) findViewById(R.id.updateDatabase);
updateButton = (Button) findViewById(R.id.update);
insertButton = (Button) findViewById(R.id.insert);
queryButton = (Button) findViewById(R.id.query);
createButton.setOnClickListener(new CreateDataListener());
updateDataButton.setOnClickListener(new UpdateListener());
updateButton.setOnClickListener(new UpdateRecordListener());
insertButton.setOnClickListener(new InsertListener());
queryButton.setOnClickListener(new QueryListener());
}
// 创建数据库
class CreateDataListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
// 创建一个数据库对象
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"test_lun_db");
// 只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
// 更新数据库
class UpdateListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"test_lun_db", 2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
// 插入信息
class InsertListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
// 生成ContentValues对象
ContentValues values = new ContentValues();
values.put("id", 1);
values.put("name", "laowang");
values.put("id", 2);
values.put("name", "laoli");
values.put("id", 3);
values.put("name", "laozhang");
DatabaseHelper helper = new DatabaseHelper(MainActivity.this,
"test_lun_db", 2);
SQLiteDatabase db = helper.getWritableDatabase();
// insert("表名","列","值");
db.insert("table1", null, values);
System.out.println(values);
}
}
// 更新信息
class UpdateRecordListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
"test_lun_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "laolier");// 更新id为2的名字
// 第一个参数是要更新的表名
// 第二个参数是一个ContentValeus对象
// 第三个参数是where子句 ,?为占位符
db.update("table1", values, "id=?", new String[] { "1" });
}
}
//查询信息
class QueryListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
System.out.println("查询=====================");
DatabaseHelper dbHelper=new DatabaseHelper(MainActivity.this, "test_lun_db");
SQLiteDatabase db=dbHelper.getReadableDatabase();
// Cursor cursor=db.query("table1", columns, selection, selectionArgs, groupBy, having, orderBy)
Cursor cursor=db.query("table1",new String[]{"id","name"}, "id=?",new String[]{"1"}, null,null,null);
while(cursor.moveToNext()){
String name=cursor.getString(cursor.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}
}