今日目标:参照标题
实现效果:
实现过程:
1、创建实现页面
页面设计思路:
最外层垂直线性布局、内部使用三个线性布局、后两个用的水平排版,用来显示数值。
实例化四个Button,两个EditText,两个TextView,连接数据库按钮用来增加监听点击事件,后两个一个或用获取输入,一个用来展示成果。
代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓名" android:textSize="30sp" /> <EditText android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入姓名" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="年龄" android:textSize="30sp" /> <EditText android:id="@+id/age" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入年龄" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/btn_insert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="插入" android:textAllCaps="false" android:textSize="20sp" /> <Button android:id="@+id/btn_update" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="更新" android:textAllCaps="false" android:textSize="20sp" /> <Button android:id="@+id/btn_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="查询" android:textAllCaps="false" android:textSize="20sp" /> <Button android:id="@+id/btn_delete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="删除" android:textAllCaps="false" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tv_show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:textSize="20sp" /> <TextView android:id="@+id/tv_showAge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:textSize="20sp" /> </LinearLayout> </LinearLayout>
DatabaseHelper代码
package com.example.crud_test; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class DatabaseHelper extends SQLiteOpenHelper { public DatabaseHelper(Context context) { //第一个参数是上下文,第二个参数是数据库名称,//第三个参数是CursorFactory对象,一般设置为null,第四个参数是数据库的版本 super(context, "Test.db", null, 1); } // 创建表 表名information 表结构 自增id,字符串姓名,int年龄 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20),age INTEGER)"); } }
dictAcitivity代码
import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class DictActivity extends AppCompatActivity { private Button insertButton, updateButton, searchButton, deleteButton; private EditText name, age; private TextView show, showAge; final DatabaseHelper dbHelper = new DatabaseHelper(DictActivity.this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); insertButton = findViewById(R.id.btn_insert); updateButton = findViewById(R.id.btn_update); searchButton = findViewById(R.id.btn_search); deleteButton = findViewById(R.id.btn_delete); name = findViewById(R.id.name); age = findViewById(R.id.age); show = findViewById(R.id.tv_show); showAge = findViewById(R.id.tv_showAge); SQLiteDatabase db = dbHelper.getReadableDatabase(); myShow();
内容:
实例化四个Button,两个EditText,两个TextView,连接数据库
按钮增加监听点击事件,edittext用来获取输入,textview用来展示成果
myshow()方法:
1、连接数据库
2、设置“表头”,遍历表内所有信息,每过一行,获取name和age列的数据,同时设置TextView的文本(setText()之前的文本,换行,加上该数据,其他的就是调用数据库相关代码)
Cursor的含义参考博客:
https://www.cnblogs.com/gbrr/p/17218827.html
标签:SQLite,name,数据库,改查,findViewById,Studio,import,android,id From: https://www.cnblogs.com/gbrr/p/17218831.html