第一步 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="數據庫管理"
android:gravity="center"
android:textSize="30sp"
/>
<Button
android:id="@+id/createDatabase"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="創建數據庫"
/>
<Button
android:id="@+id/updateDatabas"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="更新數據庫"
/>
<Button
android:id="@+id/insert"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="插入數據"
/>
<Button
android:id="@+id/update"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="更新數據"/>
<Button
android:id="@+id/query"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="查詢數據"
/>
<Button
android:id="@+id/delete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="刪除數據"/>
</LinearLayout>
第二步 class StuDBHelper
package com.example.mysqlite5;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class StuDBHelper extends SQLiteOpenHelper {
//必須要有構造函數
public StuDBHelper( Context context,String name,SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
//當第一次創建數據庫的時候,調用該方法
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table stu_table(id integer PRIMARY KEY AUTOINCREMENT ,sname varchar(20),sage int,ssex varchar(10))";
//輸出創建數據庫的日誌信息
Log.i("this", "create Database------------->");
//execSQL函數用於執行SQL語句
db.execSQL(sql);
}
//當更新數據庫的時候執行該方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//輸出更新數據庫的日誌信息
Log.i("this", "update Database------------->");
}
}
第三步main activity
package com.example.mysqlite5;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.security.PublicKey;
public class MainActivity extends AppCompatActivity {
//聲明各個按鈕
private Button createButton;
private Button insertButton;
private Button updateButton;
private Button queryBtn;
private Button deleteBtn;
private Button ModifyBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// SQLiteStudioService.instance().start(this);//使用sqllite 調試數據庫
setContentView(R.layout.activity_main);
//初始化界面
initView();
//監聽事件
setListener();
}
/**
* 初始化界面
*/
private void initView() {
createButton = findViewById(R.id.createDatabase);
insertButton = findViewById(R.id.insert);
updateButton = findViewById(R.id.updateDatabas);
queryBtn = findViewById(R.id.query);
deleteBtn = findViewById(R.id.delete);
ModifyBtn = findViewById(R.id.update);
}
/**
* 監聽事件
*/
private void setListener() {
createButton.setOnClickListener(new CreateListener());
updateButton.setOnClickListener(new UpdateListener());
insertButton.setOnClickListener(new InsertListener());
ModifyBtn.setOnClickListener(new ModifyListener());
queryBtn.setOnClickListener(new QueryListener());
deleteBtn.setOnClickListener(new DeleteListener());
}
/**
* 數據庫的創建
*/
private class CreateListener implements View.OnClickListener {
@Override
public void onClick(View v) {
//創建StuDBHelper對象
StuDBHelper dbHelper = new StuDBHelper(MainActivity.this,"stu_db",null,2);
//得到一個可讀的SQLiteDatabase對象
SQLiteDatabase db =dbHelper.getReadableDatabase();
Toast.makeText(MainActivity.this,"創建數據庫成功",Toast.LENGTH_LONG).show();
}
}
/**
* 數據的插入
*/
private class InsertListener implements View.OnClickListener {
@Override
public void onClick(View v) {
StuDBHelper dbHelper = new StuDBHelper(MainActivity.this,"stu_db",null,2);
SQLiteDatabase db =dbHelper.getWritableDatabase();
//插入數據SQL語句
String sql="insert into stu_table(id,sname,sage,ssex) values(1,'zhangshan',23,'male')";//插入單條數據
//String sql = "INSERT INTO stu_table(id,sname,sage,ssex) SELECT 2,'liming',28,'male' UNION ALL SELECT 3,'wanghong',29,'male'";插入多條數據
//執行SQL語句
db.execSQL(sql);
Toast.makeText(MainActivity.this,"插入數據成功!",Toast.LENGTH_LONG).show();
}
}
/**
* 數據的刪除
*/
private class DeleteListener implements View.OnClickListener {
@Override
public void onClick(View v) {
StuDBHelper dbHelper = new StuDBHelper(MainActivity.this,"stu_db",null,2);
//得到一個可寫的數據庫
SQLiteDatabase db =dbHelper.getReadableDatabase();
//刪除SQL語句
String sql1 = "delete from stu_table where id =1";
//執行SQL語句
db.execSQL(sql1);
Toast.makeText(MainActivity.this,"刪除數據成功!",Toast.LENGTH_LONG).show();
}
}
/**
* 數據的更新
*/
private class ModifyListener implements View.OnClickListener {
@Override
public void onClick(View v) {
StuDBHelper dbHelper = new StuDBHelper(MainActivity.this,"stu_db",null,2);
//得到一個可寫的數據庫
SQLiteDatabase db =dbHelper.getWritableDatabase();
//修改SQL語句
String sql = "update stu_table set sname = 'djp' where id = 1";
//執行SQL
db.execSQL(sql);
Toast.makeText(MainActivity.this,"數據庫更新成功",Toast.LENGTH_LONG).show();
}
}
/**
* 數據庫版本的更新
*/
private class UpdateListener implements View.OnClickListener {
@Override
public void onClick(View v) {
// 數據庫版本的更新,由原來的1變爲2
StuDBHelper dbHelper = new StuDBHelper(MainActivity.this,"stu_db",null,2);
SQLiteDatabase db =dbHelper.getReadableDatabase();
Toast.makeText(MainActivity.this,"數據庫版本更新成功",Toast.LENGTH_LONG).show();
}
}
/**
* 數據的查詢
*/
private class QueryListener implements View.OnClickListener {
@Override
public void onClick(View v) {
StuDBHelper dbHelper = new StuDBHelper(MainActivity.this,"stu_db",null,2);
//得到一個可寫的數據庫
SQLiteDatabase db =dbHelper.getReadableDatabase();
//參數1:表名
//參數2:要想顯示的列
//參數3:where子句
//參數4:where子句對應的條件值
//參數5:分組方式
//參數6:having條件
//參數7:排序方式
Cursor cursor = db.query("stu_table", new String[]{"id","sname","sage","ssex"}, null, null, null, null, null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("sname"));
String age = cursor.getString(cursor.getColumnIndex("sage"));
String sex = cursor.getString(cursor.getColumnIndex("ssex"));
System.out.println("查詢------->" + "姓名:"+name+" "+"年齡:"+age+" "+"性別:"+sex);
}
Toast.makeText(MainActivity.this,"查詢數據庫成功",Toast.LENGTH_LONG).show();
//關閉數據庫
db.close();
}
}
}
Android studio 025 sqlite數據庫 極簡使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.