我們的android布局頁面:

布區域分的代碼:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--使用的就是我們的啊相對布局的方式來布局頁面-->
<EditText
android:id="@+id/edit1"
android:hint="請輸入你要插入的資料"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<!--接下來是跟新前后的資料的撰寫-->
<EditText
android:layout_below="@+id/edit1"
android:id="@+id/edit2left"
android:hint="更新前的資料"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:layout_below="@+id/edit1"
android:layout_toRightOf="@id/edit2left"
android:id="@+id/edit2right"
android:hint="更新后的資料"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/del"
android:layout_width="236dp"
android:layout_height="56dp"
android:layout_below="@id/edit2right"
android:hint="洗掉后的資料" />
<!--接下來就是控制我們的按鈕-->
<Button
android:id="@+id/insert"
android:text="插入資料"
android:layout_toRightOf="@id/edit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_del"
android:text="洗掉"
android:layout_toRightOf="@id/insert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/update"
android:text="更新資料"
android:layout_toRightOf="@id/edit2right"
android:layout_below="@id/edit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_del2"
android:text="洗掉"
android:layout_toRightOf="@id/update"
android:layout_below="@id/edit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_delete"
android:text="執行洗掉"
android:layout_below="@id/edit2right"
android:layout_toRightOf="@id/del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_del3"
android:text="洗掉"
android:layout_toRightOf="@id/update"
android:layout_below="@id/edit2right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<!--最后的兩個按鈕查詢所有和清除所有-->
<Button
android:id="@+id/find_all"
android:text="查詢所有"
android:layout_below="@id/del"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/delete_all"
android:text="清除所有"
android:layout_below="@id/find_all"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/text_view"
android:layout_below="@id/delete_all"
android:layout_width="match_parent"
android:layout_height="100dp"/>
</RelativeLayout>
然后就是我們的一個就是的MyHelper類
的代碼如下:
package com.example.android_testanddenglu;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class MyHelper extends SQLiteOpenHelper {
//這個是包含所有引數的構造方法
public MyHelper(@Nullable Context context) {
super(context, "database", null, 1);
}
//這個是創建資料庫的方法
@Override
public void onCreate(SQLiteDatabase db) {
//創建資料庫的sql陳述句
db.execSQL("CREATE TABLE information(id varchar(20),name varchar(20))");
}
//這個是版本更新的方法
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
}
}
然后是我們的就是Mainactivity的作用:
package com.example.android_testanddenglu;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private MyHelper myHelper;
private EditText edit1;
private EditText edit2left;
private EditText del;
private Button insert;
private Button update;
private Button find_all;
private Button btn_delete;
private String id;
private String name;
private SQLiteDatabase db;
private TextView text_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//創建了一個幫助類的物件
myHelper = new MyHelper(this);
//呼叫了一個方法
init();
}
private void init() {
edit1 = (EditText) findViewById(R.id.edit1);
edit2left = (EditText) findViewById(R.id.edit2left);
del = (EditText) findViewById(R.id.del);
text_view = (TextView) findViewById(R.id.text_view);
insert = (Button) findViewById(R.id.insert);
update = (Button) findViewById(R.id.update);
find_all = (Button) findViewById(R.id.find_all);
btn_delete = (Button) findViewById(R.id.btn_delete);
//設定點擊監聽事件
insert.setOnClickListener(this);
update.setOnClickListener(this);
find_all.setOnClickListener(this);
btn_delete.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.insert:
//就是插入資料
//1:獲取到我們用戶的資料
id = edit1.getText().toString();
name = edit2left.getText().toString();
//2: 創建我們的就是Soliteopenhelper物件將它轉換為我們的成員變數,然后就是獲取到一個只讀的資料庫物件
db = myHelper.getReadableDatabase();
//3:創建一個我們存盤資料的content物件
ContentValues values = new ContentValues();
//這里我們是以鍵值對的方式來存盤資料的
values.put("id",id);
values.put("name", name);
//然后將我們的資料插入進去
db.insert("information",null,values);
//結束后關閉資料庫
db.close();
break;
case R.id.update:
//更新資料
db = myHelper.getWritableDatabase();
//然后就是創建一個存盤資料的物件
values = new ContentValues();
//然后就是傳入將要跟新的資料
values.put("name", name = edit2left.getText().toString() );
db.update("information", values, "id= ? ", new String[]{ edit1.getText().toString()} );
db.close();
break;
case R.id.find_all:
//查詢資料的話就要創建一個就是我們的啊游標
db = myHelper.getReadableDatabase();
Cursor cursor = db.query("information", null,null,null,null,null,null);
while (cursor.moveToNext()){
text_view.setText("\n"+"id"+cursor.getString(0)+"name"+cursor.getString(1));
}
cursor.close();
db.close();
break;
case R.id.btn_delete:
//洗掉資料
db = myHelper.getWritableDatabase();
db.delete("information",null,null);
Toast.makeText(this,"資料已經洗掉",Toast.LENGTH_SHORT).show();
text_view.setText("");
db.close();
break;
}
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/211651.html
標籤:java
上一篇:某安卓圖形化界面運行例外問題分析
