博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓开发笔记(十三):SQLite数据库储存(下)数据的增添,更改,删除,查询...
阅读量:5286 次
发布时间:2019-06-14

本文共 8223 字,大约阅读时间需要 27 分钟。

 

SQLite数据库存储(下)

1.增添数据

对于添加数据的话我们只需要在主活动当中import新的包以及在主活动当中写上适当的代码就可以了,不需要在我们之前创建新的类当中书写新的代码。现在的主活动代码如下:

package com.example.lenovo.studyittwo;import android.content.IntentFilter;import android.content.SharedPreferences;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.content.*;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private MyDatabaseHelper dbHelper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 构建MyDatabaseHelper对象,指定数据库名为"BookStore.db、版本号为1,版本号改为2之后则会直接        dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2);        Button btn_create_database = (Button) findViewById(R.id.creat);        btn_create_database.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                // 创建或打开一个现有的数据库(已存在则打开,否则创建一个新的)                dbHelper.getWritableDatabase();            }        });        Button addData= (Button)findViewById(R.id.add);        addData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {               SQLiteDatabase db=dbHelper.getWritableDatabase();               ContentValues values=new ContentValues();               values.put("name","the fuck code");               values.put("autuor","fuckers");               db.insert("Book",null,values);               values.clear();               values.put("name","the fuck code");               values.put("autuor","fuckers");               db.insert("Category",null,values);               values.clear();            }        });    }}

这样我们就分别向book表以及category表当中增添了数据了。当然我们也可以在这段代码当中看到我们新建了一个按钮,用于演示我们数据是否已经插入成功,下面是我们新的主活动界面的代码:

很自然地运用了一个线性的垂直布局,只是增加了一个button而已。

2.更改数据

为了方便研究更改数据,我们在布局下加入更改数据的按钮,代码如下:

这里上主活动的代码,我们只是在第三个按钮处将代码做了适当的添加,这样就可以进行数据的更改了:

package com.example.lenovo.studyittwo;import android.content.IntentFilter;import android.content.SharedPreferences;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.content.*;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private MyDatabaseHelper dbHelper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 构建MyDatabaseHelper对象,指定数据库名为"BookStore.db、版本号为1,版本号改为2之后则会直接        dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2);        Button btn_create_database = (Button) findViewById(R.id.creat);        btn_create_database.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                // 创建或打开一个现有的数据库(已存在则打开,否则创建一个新的)                dbHelper.getWritableDatabase();            }        });        Button addData= (Button)findViewById(R.id.add);        addData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {               SQLiteDatabase db=dbHelper.getWritableDatabase();               ContentValues values=new ContentValues();               values.put("name","the fuck code");               values.put("autuor","fuckers");               db.insert("Book",null,values);               values.clear();               values.put("name","the fuck code");               values.put("autuor","fuckers");               db.insert("Category",null,values);               values.clear();            }        });        Button updataData= (Button)findViewById(R.id.updata);        updataData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {               SQLiteDatabase db=dbHelper.getWritableDatabase();               ContentValues values=new ContentValues();               values.put("name","我是傻逼\n");               db.update("Book",values,"name=?",new String[]{
"the fuck code"}); } }); }}

 

3.删除数据

还是同样的套路,我们直接在主界面上加入第四个删除数据的按钮:

 

 

然后写入主活动的代码:

package com.example.lenovo.studyittwo;import android.content.IntentFilter;import android.content.SharedPreferences;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.content.*;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private MyDatabaseHelper dbHelper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 构建MyDatabaseHelper对象,指定数据库名为"BookStore.db、版本号为1,版本号改为2之后则会直接        dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2);        Button btn_create_database = (Button) findViewById(R.id.creat);        btn_create_database.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                // 创建或打开一个现有的数据库(已存在则打开,否则创建一个新的)                dbHelper.getWritableDatabase();            }        });        Button addData= (Button)findViewById(R.id.add);        addData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {               SQLiteDatabase db=dbHelper.getWritableDatabase();               ContentValues values=new ContentValues();               values.put("name","the fuck code");               values.put("autuor","fuckers");               db.insert("Book",null,values);               values.clear();               values.put("name","the fuck code");               values.put("autuor","fuckers");               db.insert("Category",null,values);               values.clear();            }        });        Button updataData= (Button)findViewById(R.id.updata);        updataData.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {               SQLiteDatabase db=dbHelper.getWritableDatabase();               ContentValues values=new ContentValues();               values.put("name","我是傻逼\n");               db.update("Book",values,"name=?",new String[]{
"the fuck code"});//如果名字等于这个就可以进行更新了 } }); Button deleteData= (Button)findViewById(R.id.deletedata); deleteData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { SQLiteDatabase db=dbHelper.getWritableDatabase(); ContentValues values=new ContentValues(); values.put("name","我是傻逼\n"); db.delete("Book","name=?",new String[]{
"the fuck code"});//如果名字等于这个就可以直接删除了 } }); }}

4.查询数据

在咱们的安卓开发当中的SQLiteDatabase类当中还提供了一个query()方法对于数据进行查询,这个方法非常复杂,最短的一个方法重载也需要传入7个参数。

主界面:

主活动的查询代码如下:

private void queryStudents() {        // 相当于 select * from students 语句        Cursor cursor = mSQLiteDatabase.query(SQLiteDbHelper.TABLE_STUDENT, null,                "cls_id > ? and id >= 1", new String[]{
"3"}, null, null, null, null); // 不断移动光标获取值 while (cursor.moveToNext()) { // 直接通过索引获取字段值 int stuId = cursor.getInt(0); // 先获取 name 的索引值,然后再通过索引获取字段值 String stuName = cursor.getString(cursor.getColumnIndex("name")); Log.e("", "id: " + stuId + " name: " + stuName); } // 关闭光标 cursor.close(); }

最后我们利用adb工具就可以查看到我们是否成功进行数据库操作啦!!

 

转载于:https://www.cnblogs.com/geeksongs/p/10530940.html

你可能感兴趣的文章
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Struts2学习(三)
查看>>
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>
关于web服务器和数据库的各种说法(搜集到的)
查看>>
C# Stream 和 byte[] 之间的转换
查看>>