3.26

安卓sqlite
• 所花时间:4
• 代码行数:198
• 博客容量:1
• 代码如下:

package com.example.chapter07.database;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.Nullable;

import com.example.chapter07.enity.User;

import java.util.ArrayList;
import java.util.List;

public class UserDBHelper extends SQLiteOpenHelper {
    private static final String DB_NAME="user.db";
    private static final int DB_VERSION=1;
    private static UserDBHelper mHelper=null;
    private SQLiteDatabase mRDB=null;
    private SQLiteDatabase mWDB=null;

    private UserDBHelper(Context context){
        super(context,DB_NAME,null,DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql="CREATE TABLE IF NOT EXISTS user_info("+
                "_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," +
                "name VARCHAR NOT NULL,"+
                "age INTEGER NOT NULL," +
                "sex INTEGER NOT NULL," +
                "class VARCHAR NOT NULL" +
                ")";
        db.execSQL(sql);
    }

    public SQLiteDatabase openReadLink(){
        if(mRDB==null||!mRDB.isOpen()){
            mRDB=mHelper.getReadableDatabase();
        }
        return mRDB;
    }
    public SQLiteDatabase openWriteLink(){
        if(mWDB==null||!mWDB.isOpen()){
            mWDB=mHelper.getWritableDatabase();
        }
        return mWDB;
    }
    public void closeLink(){
        if(mRDB!=null && mRDB.isOpen()){
            mRDB.close();
            mRDB=null;
        }

        if(mWDB !=null&&mWDB.isOpen()){
            mWDB.close();
            mWDB=null;
        }
    }
    public static UserDBHelper getInstance(Context context){
        if(mHelper==null){
            mHelper=new UserDBHelper(context);
        }
        return mHelper;
    }

    public long insert(User user){
        ContentValues contentValues=new ContentValues();
        contentValues.put("name",user.name);
        contentValues.put("class",user.sClass);
        contentValues.put("sex",user.sex);
        contentValues.put("age",user.age);
//        try{
//            mWDB.beginTransaction();
//            mWDB.insert("user_info",null,contentValues);
//            int a=10/0;
//            mWDB.insert("user_info",null,contentValues);
//            mWDB.setTransactionSuccessful();
//        }catch (Exception e){
//
//        }finally {
//            mWDB.endTransaction();
//        }
        return mWDB.insert("user_info",null,contentValues);
//        return 1;
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    public long deleteByName(String name){
        return mWDB.delete("user_info","name=?",new String[]{name});
    }

    public long updateUser(User user){
        ContentValues values=new ContentValues();
        values.put("name",user.name);
        values.put("class",user.sClass);
        values.put("sex",user.sex);
        values.put("age",user.age);
        return mWDB.update("user_info",values,"name=?",new String[]{user.name});
    }

    public List<User> queryAll(){
        List<User> list=new ArrayList<>();
        Cursor cursor=mRDB.query("user_info",null,null,null,null,null,null);
        while (cursor.moveToNext()){
            User user=new User();
            user.name=cursor.getString(1);
            user.age=cursor.getInt(2);
            user.sClass=cursor.getString(4);
            user.sex=cursor.getInt(3);
            list.add(user);
        }
        return list;
    }

    public List<User> queryByName(String name){
        List<User> list=new ArrayList<>();
        Cursor cursor=mRDB.query("user_info",null,"name=?",new String[]{name},null,null,null);
        while (cursor.moveToNext()){
            User user=new User();
            user.name=cursor.getString(1);
            user.age=cursor.getInt(2);
            user.sClass=cursor.getString(4);
            user.sex=cursor.getInt(3);
            list.add(user);
        }
        return list;
    }
}
package com.example.chapter07;

import androidx.appcompat.app.AppCompatActivity;

import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class creatDatabase extends AppCompatActivity implements View.OnClickListener {

    private String mDatabase;
    private TextView tv_creat;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_creat_database);
        tv_creat= findViewById(R.id.tv_dbcreat);
        findViewById(R.id.bt_dbExCreat).setOnClickListener(this);
        findViewById(R.id.bt_dbExDelete).setOnClickListener(this);
        mDatabase= getFilesDir()+"/test.db";
    }

    @Override
    public void onClick(View v) {
        if(v.getId()==R.id.bt_dbExCreat){
            SQLiteDatabase db = openOrCreateDatabase(mDatabase, MODE_PRIVATE, null);
            String desc =String.format("数据库%s创建%s",mDatabase,db!=null ? "成功":"失败");
            tv_creat.setText(desc);
        }
        else if(v.getId()==R.id.bt_dbExDelete){
            boolean result =deleteDatabase(mDatabase);
            String desc =String.format("数据库%s删除%s",mDatabase,result ? "成功":"失败");
            tv_creat.setText(desc);
        }
    }
}
package com.example.chapter07;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

import com.example.chapter07.database.UserDBHelper;
import com.example.chapter07.enity.ToastUtil;
import com.example.chapter07.enity.User;

import java.util.ArrayList;
import java.util.List;

public class sqlliteDatabaseHelper extends AppCompatActivity implements View.OnClickListener {

    private UserDBHelper mHelper;
    private EditText et_age;
    private EditText et_name;
    private RadioGroup et_sex;
    private EditText et_class;
    private int sex;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqllite_database_helper);

        et_age= findViewById(R.id.et_age);
        et_name = findViewById(R.id.et_name);
        et_sex = findViewById(R.id.rg_sex);
        et_class = findViewById(R.id.et_class);

        sex = et_sex.getCheckedRadioButtonId()==R.id.rb_male?1:0;

        findViewById(R.id.bt_add).setOnClickListener(this);
        findViewById(R.id.bt_select).setOnClickListener(this);
        findViewById(R.id.bt_delete).setOnClickListener(this);
        findViewById(R.id.bt_update).setOnClickListener(this);
    }

    @Override
    protected void onStart() {
        super.onStart();
        mHelper= UserDBHelper.getInstance(this);
        mHelper.openReadLink();
        mHelper.openWriteLink();
    }


    @Override
    protected void onStop() {
        super.onStop();
        mHelper.closeLink();
    }

    @Override
    public void onClick(View v) {
        if(v.getId()== R.id.bt_add){

            String name = et_name.getText().toString();
            String sClass = et_class.getText().toString();
            int sex = et_sex.getCheckedRadioButtonId() == R.id.rb_male ? 1 : 0;
            int age = Integer.parseInt(et_age.getText().toString());
            User user = new User(name, sClass, sex, age);
            long result = mHelper.insert(user);
            if (result > 0) {
                ToastUtil.show(this, "添加成功");
            } else {
                ToastUtil.show(this, "添加失败");
            }
        }
        else if(v.getId()== R.id.bt_delete){
            long result =mHelper.deleteByName(et_name.getText().toString());
            if (result > 0) {
                ToastUtil.show(this, "删除成功");
            } else {
                ToastUtil.show(this, "删除失败");
            }
        }
        else if(v.getId()== R.id.bt_update){
            String name = et_name.getText().toString();
            String sClass = et_class.getText().toString();
            int sex = et_sex.getCheckedRadioButtonId() == R.id.rb_male ? 1 : 0;
            int age = Integer.parseInt(et_age.getText().toString());
            User user = new User(name, sClass, sex, age);
            long result=mHelper.updateUser(user);
            if (result > 0) {
                ToastUtil.show(this, "修改成功");
            } else {
                ToastUtil.show(this, "修改失败");
            }

        }
        else if(v.getId()== R.id.bt_select){
            List<User> list =new ArrayList<>();
            list=mHelper.queryByName(et_name.getText().toString());
            for (User u:list) {
                Log.d("wlx",u.toString());
            }

        }
    }
}

posted @ 2024-03-26 22:56  aallofitisst  阅读(6)  评论(0)    收藏  举报