对上述要求了做了一些小修改,完成了功能即可:
1:如数据就添加了3条,一般认为小型dome,3条就可以代表数据的一般性了
2:删除数据就是删除一个工资为5000的(salary = ? 5000)
3: 修改数据就是修改 性别为女 姓名为Liy
4:查询数据就是 没什么可说的了 游标,规范一下子。
1:数据库创建与帮助类
package com.ys.sqlite;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
/**
* Date:2019/12/12
* Time:15:17
* author:Mr_YANG SQLite 数据库的建立与升级
*/
public class MYSQLites extends SQLiteOpenHelper {
private Context Mcontext;
public MYSQLites(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
Mcontext=context;
}
public static final String Table_staff="CREATE TABLE staff ("
+ " _id integer primary key autoincrement ,"
+ " name text ,"
+ " sex text ,"
+ " deparment text ,"
+ " salary text"
+ ")";
@Override
public void onCreate(SQLiteDatabase db) {
String sql = Table_staff;
db.execSQL(sql);
Toast.makeText(Mcontext,"数据库,表创建成功",Toast.LENGTH_LONG).show();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS staff";
db.execSQL(sql);
Toast.makeText(Mcontext,"数据库结构发生变化,升级",Toast.LENGTH_LONG).show();
}
}
2:主界面 简单的封装一下子,不严谨奥。
package com.ys.sqlite;
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;
import androidx.appcompat.app.AppCompatActivity;
/**
* 杨胜:
* [email protected]
*/
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button;
private Button button2;
private Button button3;
private Button button4;
private MYSQLites mysqLites;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
button = (Button) findViewById(R.id.button);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
/**
* 实列化数据库 test.db
*/
mysqLites = new MYSQLites(this, "test.db", null, 1);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
add();
break;
case R.id.button2:
del();
break;
case R.id.button3:
upd();
break;
case R.id.button4:
query();
break;
}
}
/**
* add 数据
*/
private void add() {
SQLiteDatabase db = mysqLites.getWritableDatabase();
ContentValues values = new ContentValues();
/*1*/
values.put("_id", 1);
values.put("name", "Tom");
values.put("sex", "男");
values.put("deparment", "Computer");
values.put("salary", "5400");
db.insert("staff", null, values);
values.clear();
/*2*/
values.put("_id", 2);
values.put("name", "Liy");
values.put("sex", "男");
values.put("deparment", "Computer");
values.put("salary", "4800");
db.insert("staff", null, values);
values.clear();
/*3*/
values.put("_id", 3);
values.put("name", "Napoleon");
values.put("sex", "女");
values.put("deparment", "Computer");
values.put("salary", "5000");
db.insert("staff", null, values);
values.clear();
Toast.makeText(this, "数据:添加", Toast.LENGTH_LONG).show();
}
/**
* del 数据
*/
private void del() {
SQLiteDatabase db = mysqLites.getReadableDatabase();
db.delete("staff", "salary = ?", new String[]{"5000"});
Toast.makeText(this, "数据:删除", Toast.LENGTH_LONG).show();
}
/**
* upadte 数据
*/
private void upd() {
SQLiteDatabase db = mysqLites.getReadableDatabase();
ContentValues values = new ContentValues();
values.put("sex", "女");
db.update("staff", values, "name = ?", new String[]{"Tom"});
Toast.makeText(this, "数据:已更新", Toast.LENGTH_LONG).show();
}
/**
* query 查询数据
*/
private void query() {
SQLiteDatabase db = mysqLites.getReadableDatabase();
/*相当于 select * from staff*/
Cursor cursor = db.query("staff", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
int _id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
String deparment = cursor.getString(cursor.getColumnIndex("deparment"));
String salary = cursor.getString(cursor.getColumnIndex("salary"));
Toast.makeText(this, "数据:" + _id + name + sex + deparment + salary, Toast.LENGTH_LONG).show();
} while (cursor.moveToNext());
} else {
Toast.makeText(this, "数据:还不存在", Toast.LENGTH_LONG).show();
}
}
}
xml代码没什么可以说的,我就不po出来了。