安卓数据存储方式之SQLite

来源:互联网 发布:js遍历json对象数组 编辑:程序博客网 时间:2024/04/30 17:14

1.知识图谱




数据库的增删查改的功能实现模板

连接数据库,首先得在java下新建一个.db包,在新建的db包下新建一个.db文件

DbHelper.java的代码如下:

package com.yindan.db;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;/** * Created by Administrator on 2017/6/25 0025. */public class DbHelper extends SQLiteOpenHelper {    /**     *     * @param context   上下文     * @param name       数据库的名字,“文件名.db”     * @param factory   数据库工厂,null     * @param version   数据库版本     */    public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {        super(context, name, factory, version);        Log.i("test","构造方法");    }    //使用该方法,创建表    //只会调用一次    @Override    public void onCreate(SQLiteDatabase db) {        Log.i("test","创建表");        db.execSQL("create table login (uid integer primary key autoincrement,uname,upass)");    }    //数据库版本,低-------》高    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        Log.i("test","升级数据库版本");    }    //数据库版本   高----------》低//    @Override//    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {//        super.onDowngrade(db, oldVersion, newVersion);//    }}





xml代码

<?xml version="1.0" encoding="utf-8"?><LinearLayout    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"    android:orientation="vertical"    tools:context="com.example.cookie.android0625sqlite.MainActivity">    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="请输入用户名"        android:id="@+id/et_main_uname"/>    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="请输入密码"        android:id="@+id/et_main_upass"/>    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:onClick="operation"        android:text="操作"/></LinearLayout>


JAVA代码

package com.example.cookie.android0625sqlite;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.yindan.db.DbHelper;public class MainActivity extends AppCompatActivity {    private EditText et_main_uname;    private EditText et_main_upass;    private SQLiteDatabase sqLiteDatabase;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_main_uname = (EditText) findViewById(R.id.et_main_uname);        et_main_upass = (EditText) findViewById(R.id.et_main_upass);        DbHelper dbHelper=new DbHelper(this,"CookieOne.db",null,1);        sqLiteDatabase = dbHelper.getWritableDatabase();    }    public void operation(View view){        String uname=et_main_uname.getText().toString();        String upass=et_main_upass.getText().toString();        //添加1//        ContentValues contentValues=new ContentValues();//        contentValues.put("uname",uname);//        contentValues.put("upass",upass);//        contentValues.putNull("uid");//        sqLiteDatabase.insert("login","uname",contentValues);        //添加2//        for (int i = 0; i <100 ; i++) {//            sqLiteDatabase.execSQL("insert into login (uname,upass) values ('小"+i+"','123')");//        }        //修改//        ContentValues contentValues=new ContentValues();//        contentValues.put("uname",uname);//        contentValues.put("upass",upass);//        sqLiteDatabase.update("login",contentValues,"uid=?",new String[]{1+""});        //删除        // sqLiteDatabase.delete("login","uid=?",new String[]{102+""});        //查询        //sqLiteDatabase.query();        int pageNo=1;        int pageSize=3;       Cursor cursor= sqLiteDatabase.rawQuery("select * from login limit ?,?",new String[]{((pageNo-1)*pageSize)+"",pageSize+""});        while (cursor.moveToNext()){            int uid=cursor.getInt(cursor.getColumnIndex("uid"));            String name=cursor.getString(cursor.getColumnIndex("uname"));            String pass=cursor.getString(cursor.getColumnIndex("upass"));            Log.i("test",uid+" "+name+" "+pass);        }        Toast.makeText(this, "操作", Toast.LENGTH_SHORT).show();    }}



原创粉丝点击