Android内置SQLite的使用详细介绍

目录
  • 一、创建数据库
    • 1、新建数据库帮助类
    • 2、在数据库帮助类中输入代码
    • 3、代码讲解
  • 二、添加数据
    • 1、界面效果
    • 2、准备工作
    • 3、布局界面 activity_main.xml
    • 4、类文件代码 MainActivity.java
    • 5、代码讲解
  • 三、查询数据
    • 1、界面效果图
    • 2、布局界面 activity_second.xml
    • 3、类文件 SecondActivity.java
    • 4、代码讲解
  • 四、修改数据
    • 1、界面效果图
    • 2、布局界面 activity_ third.xml
    • 3、类文件 ThirdActivity.java
    • 4、代码讲解
  • 五、删除数据
    • 1、界面效果图
    • 2、布局界面 activity_ four.xml
    • 3、类文件 FourActivity.java
    • 4、代码讲解

一、创建数据库

1、新建数据库帮助类

包名——右击——new——Java class——输入类名:MyDBOpenHelper— —父类:SQLiteOpenHelper。

2、在数据库帮助类中输入代码

public class MyDBOpenHelper extends SQLiteOpenHelper {
//定义数据库名和版本号
     private static final String DBNAME="student.db";
     private static final int VERSION=1;
     public MyDBOpenHelper(Context context) {
         super(context, DBNAME, null, VERSION);
     }
     //创建数据库
     @Override
     public void onCreate(SQLiteDatabase db) {
//创建数据表
     db.execSQL("create table stu_info(id INTEGER primary key autoincrement,sno varchar(10),name varchar(10),sex varchar(4),professional varchar(10),deparment varchar(20) )");
     }
//升级数据库
     @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {

     }
}

3、代码讲解

(1)简介:

Android为了让用户能够更加方便地管理数据库,丏门提供了一个 SQLiteOpenHelper帮助类,借助这个类就可以非常简单地对数据库进行创建。

SQLiteOpenHelper是一个抽象类,这意味着如果想使用它的话,这就需要自己 创建一个类去继承他它就可以了。

例如:

public class MyDBOpenHelper extends SQLiteOpenHelper {
}

(2)方法

方法 作用 示例
onCreate(SQLiteDatabase db) 创建数据库  
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 升级数据库  
db.execSQL( ……………… ) 创建数据表 db.execSQL(“create table stu_info (id INTEGER primary key autoincrement,sno varchar(10),..." );
getReadableDatabase() 以只读方式 打开数据库 db=mhelper. getReadableDatabase();
getWritableDatabase() 以读写方式 打开数据库 db=mhelper.getWritableDatabase();

(3)构造方法

SQLiteOpenHelper中有三个构造方法可供重写,一般使用参数少点的那个构造方 法即可,必须要有它才能对数据库进行操作,这个构造方法中,接受4个参数:

Cursor游标结果集(本案例没用到)

游标是一段私有的SQL工作区,即一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解就是将受影响的数据暂时存放到一个内存区域的虚表中,这个虚表就是游标。

游标在数据库的事务回滚中有非常重要的作用。由于对数据库的操作会暂时存放在游标中,只要不提交,就可以根据游标中的内容进行回滚。这样有利于数据库的安全。

(4)总结

integer这里都要大写成INTEGER!!!

简介 :

对数据库中的数据表的操作,一共有四种:添加、查询、更新、删除。每一种 操作又各自对应了一种SQL命令:insert(添加),select(查询),update(更 新),delete(删除)。

二、添加数据

1、界面效果

2、准备工作

(1)添加 3 个页面

整个作品中,要完成学生信息的添加、查询、修改、删除四个功能。每个页面完成某一个功能,所以,添加另外的 3 个页面,类文件分别为:SecondActivity、ThirdActivity、 FoutActivity,

(2)准备背景图片

选择 4 张图片,粘贴到工程的 drawable 文件夹下,当做 4 个页面的背景图片,

图片如图所示:

3、布局界面 activity_main.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"
     android:background="@drawable/addbg"
     tools:context=".MainActivity">
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="信息添加页面"
         android:textSize="30sp"
         android:textStyle="bold"
         android:textColor="#000000"
         android:layout_gravity="center"
         android:layout_margin="80dp"/>
     <EditText
         android:id="@+id/editText_onesno"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="学号"
         android:textSize="25sp"/>
     <EditText
         android:id="@+id/editText_onename"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="姓名"
         android:textSize="25sp"/>
     <EditText
         android:id="@+id/editText_onesex"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="性别"
         android:textSize="25sp"/>
     <EditText
         android:id="@+id/editText_onepro"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="专业班级"
         android:textSize="25sp"/>
     <EditText
         android:id="@+id/editText_onedep"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="所属系部"
         android:textSize="25sp"/>
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal">
         <Button
             android:id="@+id/button_oneadd"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="添加"
             android:textSize="25sp"
             android:layout_weight="1"/>
         <Button
             android:id="@+id/button_oneclear"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="清除"
             android:textSize="25sp"
             android:layout_weight="1"/>
     </LinearLayout>
     <Button
         android:id="@+id/button_onenext"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="下一页"
         android:textSize="25sp"
         android:layout_gravity="right"
         android:layout_marginTop="30dp"/>
</LinearLayout>

4、类文件代码 MainActivity.java

public class MainActivity extends AppCompatActivity {
//定义对象
     private EditText edit_onesno,edit_onename,edit_onesex,edit_onepro,edit_onedep;
     private Button btn_oneadd,btn_oneclear,btn_onenext;
     private MyDBOpenHelper mhelper;//定义数据库帮助类对象
     private SQLiteDatabase db;//定义一个可以操作的数据库对象
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         //1 绑定控件
         initView();
         //2 添加按钮功能的实现
         btnAdd();
         //3 清除和下一页按钮的功能
         btnClearNext();
     }
     //绑定控件-------------代码
     private void initView() {
         edit_onesno=findViewById(R.id.editText_onesno);
         edit_onename=findViewById(R.id.editText_onename);
         edit_onesex=findViewById(R.id.editText_onesex);
         edit_onepro=findViewById(R.id.editText_onepro);
         edit_onedep=findViewById(R.id.editText_onedep);
         btn_oneadd=findViewById(R.id.button_oneadd);
         btn_oneclear=findViewById(R.id.button_oneclear);
         btn_onenext=findViewById(R.id.button_onenext);
         mhelper=new MyDBOpenHelper(MainActivity.this);//实例化数据库帮助类
         db=mhelper.getWritableDatabase();//创建数据库,获取数据库的读写权限
     }
     //2 添加按钮功能的实现------代码
     private void btnAdd() {
         btn_oneadd.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 //定义一个对象,构建一行数据
                 ContentValues values=new ContentValues();//用 value 表示一行
                 values.put("sno",edit_onesno.getText().toString());//把输入的学号放到 sno 列
                 values.put("name",edit_onename.getText().toString());//把输入的姓名放到 name 列
                 values.put("sex",edit_onesex.getText().toString());//把输入的性别放到 sex 列

                 values.put("professional",edit_onepro.getText().toString());//把输入的专业放到 professional 列

                 values.put("deparment",edit_onedep.getText().toString());//把输入的系部放到 department 列
                 //将这一行数据存放到数据库的数据表中。参数:(表名,某些为空的列自动赋值 null,ContentValue 对象)
                 db.insert("stu_info",null,values);
                 Toast.makeText(MainActivity.this,"添加成功",Toast.LENGTH_SHORT).show();
             }
         });
     }
     //3 清除和下一页按钮的功能-----代码
     private void btnClearNext() {
         //清除按钮的功能
         btn_oneclear.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 edit_onesno.setText("");
                 edit_onename.setText("");
                 edit_onesex.setText("");
                 edit_onepro.setText("");
                 edit_onedep.setText("");
                 }
         });
         //下一页按钮的功能
         btn_onenext.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
                 startActivity(intent);
                 finish();
             }
         });
     }
}

5、代码讲解

(1)插入一条数据的步骤

(2)insert()方法的三个参数

1、第一个参数表名;

2、第二个参数是某些为空的列自动赋值null;

3、第三个参数是ContentValue对象,它提供了一系列put()方法重载,用于向ContentValues中添加对象,只需要将表中的每个列名以及相应的待添加的数 据传入即可。

(3)总结

三、查询数据

1、界面效果图

2、布局界面 activity_second.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"
     android:background="@drawable/querybg"
     tools:context=".SecondActivity">
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="信息查询页面"
         android:textSize="30sp"
         android:textStyle="bold"
         android:textColor="#000000"
         android:layout_gravity="center"
         android:layout_margin="80dp"/>
     <EditText
         android:id="@+id/editText_twosno"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="请输入要查询的学号"
         android:textSize="25sp"/>
     <Button
         android:id="@+id/button_twoquery"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="查询"
         android:textSize="25sp"/>
     <TextView
         android:id="@+id/textView_tworesult"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="显示查询结果"
         android:textSize="25sp" />
     <Button
         android:id="@+id/button_twonext"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="下一页"
         android:textSize="25sp"
         android:layout_gravity="right"
         android:layout_marginTop="30dp"/>
</LinearLayout>

3、类文件 SecondActivity.java

public class SecondActivity extends AppCompatActivity {
//定义对象
     EditText edit_twosno;
     Button btn_twoquery,btn_twonext;
     TextView txt_tworesult;
     MyDBOpenHelper mhelper;//定义一个数据库帮助类对象
     SQLiteDatabase db;//定义一个操作的数据库的类对象
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_second);
         //1 控件初始化
         initView();
         //2 查询按钮功能的实现
         btnQuery();
         //3 下一页按钮功能的实现
         btnNext();
     }
     //1 控件初始化-----------------------代码
     private void initView() {
         edit_twosno=findViewById(R.id.editText_twosno);
         btn_twoquery=findViewById(R.id.button_twoquery);
         txt_tworesult=findViewById(R.id.textView_tworesult);
         btn_twonext=findViewById(R.id.button_twonext);
         mhelper=new MyDBOpenHelper(SecondActivity.this);//实例化数据库帮助类对象
         db=mhelper.getWritableDatabase();//获取数据库的读写权限
     }
     //2 查询按钮功能的实现--------代码
     private void btnQuery() {
         btn_twoquery.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 //开始查询 参数:(实现查询的 sql 语句,条件参数)
                 Cursor cursor =db.rawQuery("select * from stu_info where sno=?",new String[]{edit_twosno.getText().toString()});
                 if(cursor.getCount()!=0){//判断结果集中是否有数据,有:查询成功;无:查询失败
                     Toast.makeText(SecondActivity.this,"查询成功",Toast.LENGTH_SHORT).show();
                     //循环遍历结果集,取出数据,显示出来
                     while (cursor.moveToNext()){
                         String mysno=cursor.getString(cursor.getColumnIndex("sno"));
                         String myname=cursor.getString(cursor.getColumnIndex("name"));
                         String mysex=cursor.getString(cursor.getColumnIndex("sex"));
                         String mypro=cursor.getString(cursor.getColumnIndex("professional"));
                         String mydep=cursor.getString(cursor.getColumnIndex("deparment"));

                        txt_tworesult.setText(mysno+"\n"+myname+"\n"+mysex+"\n"+mypro+"\n"+mydep);
                     }
                 }else{
                     Toast.makeText(SecondActivity.this,"没有查询到该学号的学生",Toast.LENGTH_SHORT).show();
                     txt_tworesult.setText("");
                 }
             }
         });
     }
     //3 下一页按钮功能的实现------代码
     private void btnNext() {
         btn_twonext.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent intent=new Intent(SecondActivity.this,ThirdActivity.class);
                 startActivity(intent);
                 finish();
             }
         });
     }
}

4、代码讲解

(1)查询时用到的方法——方法1

query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit)

方法各参数的含义:

 table:表名。相当于select语句from关键字后面的部分。如果是多表联合查询,可以用逗号将两个表名分开。

columns:要查询出来的列名。相当于select语句select关键字后面的部分。

selection:查询条件子句,相当于select语句where关键字后面的部分,在条件子句允许使用占位符“?”

selectionArgs:对应于selection语句中占位符的值,值在数组中的位置与占位符在语句中的位置必须一致,否则就 会有异常。

groupBy:相当于select语句group by关键字后面的部分

 having:相当于select语句having关键字后面的部分

orderBy:相当于select语句order by关键字后面的部分,如:personid desc, age asc;

limit:指定偏移量和获取的记录数,相当于select语句limit关键字后面的部分。

(2)查询时用到的方法——方法2

rawQuery(String sql,String[ ] selectionArgs)

方法各参数的含义:

sql :实现查询的sql语句,例如: select * from stu_info where sno=?

 selectionArgs:是?条件参数,如果?这个内占位符容为null的话就表示把所有的学号的学生都查出来

(3)查询结果处理

(4)总结

四、修改数据

1、界面效果图

2、布局界面 activity_ third.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"
     android:background="@drawable/modifybg"
     tools:context=".ThirdActivity">
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="信息修改页面"
         android:textSize="30sp"
         android:textStyle="bold"
         android:textColor="#000000"
         android:layout_gravity="center"
         android:layout_margin="80dp"/>
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
         android:layout_marginBottom="30dp">
         <EditText
             android:id="@+id/editText_threeinputsno"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:hint="请输入要查询的学号"
             android:textSize="25sp"/>
         <Button
             android:id="@+id/button_threequery"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="查询"
             android:textSize="25sp"/>
     </LinearLayout>
     <EditText
         android:id="@+id/editText_threesno"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="学号"
         android:textSize="25sp"/>
     <EditText
         android:id="@+id/editText_threename"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="姓名"
         android:textSize="25sp"/>
     <EditText
         android:id="@+id/editText_threedep"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="所属系部"
         android:textSize="25sp"/>
     <Button
         android:id="@+id/button_threemodify"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="修改"
         android:textSize="25sp"
         android:layout_gravity="right"
         android:layout_marginTop="30dp"/>
     <Button
         android:id="@+id/button_threenext"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="下一页"
         android:textSize="25sp"
         android:layout_gravity="right"/>
</LinearLayout>

3、类文件 ThirdActivity.java

public class ThirdActivity extends AppCompatActivity {
//定义对象
     EditText edit_threeinputsno,edit_threesno,edit_threename,edit_threedep;
     Button btn_threequery,btn_threemodify,btn_threenext;
     MyDBOpenHelper mhelper;//定义一个数据库帮助类对象
     SQLiteDatabase db;//定义一个操作的数据库的类对象
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_third);
         //1 控件初始化
         initView();
         //2 查询按钮功能的实现
         btnQuery();
         //3 修改按钮功能的实现
         btnModify();
         //4 下一步按钮功能的实现
         btnNext();
     }
     //1 控件初始化-------------代码
     private void initView() {
         edit_threeinputsno=findViewById(R.id.editText_threeinputsno);
         edit_threesno=findViewById(R.id.editText_threesno);
         edit_threename=findViewById(R.id.editText_threename);
         edit_threedep=findViewById(R.id.editText_threedep);
         btn_threequery=findViewById(R.id.button_threequery);
         btn_threemodify=findViewById(R.id.button_threemodify);
         btn_threenext=findViewById(R.id.button_threenext);
         mhelper=new MyDBOpenHelper(ThirdActivity.this);//实例化数据库帮助类对象
         db= mhelper.getWritableDatabase();//获取数据库的读写权限
     }
     //2 查询按钮功能的实现
     private void btnQuery() {
         btn_threequery.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 //先查询显示,再修改。参数(String sql,String[ ] selectionArgs)
                 Cursor cursor=db.rawQuery("select * from stu_info where sno=?",new String[]{edit_threeinputsno.getText().toString()});
                 if(cursor.getCount()!=0){
                     Toast.makeText(ThirdActivity.this,"查询成功",Toast.LENGTH_SHORT).show();
                     while(cursor.moveToNext()){
                         String mysno=cursor.getString(cursor.getColumnIndex("sno"));
                         String myname=cursor.getString(cursor.getColumnIndex("name"));
                         String mydep=cursor.getString(cursor.getColumnIndex("deparment"));
                         edit_threesno.setText(mysno);
                         edit_threename.setText(myname);
                         edit_threedep.setText(mydep);
                     }
                 }else{
                     Toast.makeText(ThirdActivity.this,"没有查询到该学号的学生",Toast.LENGTH_SHORT).show();
                     edit_threesno.setText("");
                     edit_threename.setText("");
                     edit_threedep.setText("");
                 }
             }
         });
     }
     //3 修改按钮功能的实现---------代码
     private void btnModify() {
         btn_threemodify.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 //修改数据代码如何写呢?参数:(表名,ContentValues 对象,更新的条件,条件的参数)
                 ContentValues values=new ContentValues();

                 values.put("deparment",edit_threedep.getText().toString());
                 db.update("stu_info",values,"sno=?",new String[]{edit_threesno.getText().toString()});
                 Toast.makeText(ThirdActivity.this,"修改成功",Toast.LENGTH_SHORT).show();
             }
         });
     }
     //4 下一页按钮功能的实现------代码
     private void btnNext() {
         btn_threenext.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent intent=new Intent(ThirdActivity.this,FourActivity.class);
                 startActivity(intent);
                 finish();
             }
         });
     }
}

4、代码讲解

(1)update()方法的四个参数

update(String table,ContentValues values,String whereClause,String[ ] whereArgs)

1、第一个参数表名;

2、第二个参数是ContentValues对象,要把更新的数据在这里组装进去;

3、第三个参数是更新的条件

4、第四个参数是条件的参数

(2)总结

五、删除数据

1、界面效果图

2、布局界面 activity_ four.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"
     android:background="@drawable/deletebg"
     tools:context=".FourActivity">
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="信息删除页面"
         android:textSize="30sp"
         android:textStyle="bold"
         android:textColor="#000000"
         android:layout_gravity="center"
         android:layout_margin="80dp"/>
     <EditText
         android:id="@+id/editText_foursno"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="请输入要删除的学号"
         android:textSize="25sp"/>
     <Button
         android:id="@+id/button_fourdelete"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="删除"
         android:textSize="25sp"
         android:layout_gravity="right"/>
</LinearLayout>

3、类文件 FourActivity.java

public class FourActivity extends AppCompatActivity {
//定义对象
     EditText edit_foursno;
     Button btn_fourdelete;
     MyDBOpenHelper mhelper;//定义一个数据库帮助类对象
     SQLiteDatabase db;//定义一个操作的数据库的类对象
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_four);
         //1 控件初始化
         initView();
         //2 删除按钮功能的实现
         btnDelete();
     }
     //1 控件初始化----------代码
     private void initView() {
         edit_foursno=findViewById(R.id.editText_foursno);
         btn_fourdelete=findViewById(R.id.button_fourdelete);
         mhelper=new MyDBOpenHelper(FourActivity.this);//实例化数据库帮助类对象
         db=mhelper.getWritableDatabase();//获取数据库的读写权限
     }
     //2 删除按钮功能的实现-----代码
     private void btnDelete() {
         btn_fourdelete.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 //怎么样删除呢?参数:(表名,删除的条件,条件的参数)
                 db.delete("stu_info","sno=?",new String[]{edit_foursno.getText().toString()});
                 Toast.makeText(FourActivity.this,"删除成功",Toast.LENGTH_SHORT).show();
             }
         });
     }
}

4、代码讲解

(1)delete()方法的三个参数

delete(String table,String whereClause,String[ ] whereArgs)

1、第一个参数:表名;

2、第二个参数:删除的条件

3、第三个参数:条件的参数

(2)总结

到此这篇关于Android内置SQLite的使用详细介绍的文章就介绍到这了,更多相关Android SQLite使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android Studio 通过登录功能介绍SQLite数据库的使用流程

    前言: SQLite简介:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口,同样比起Mysql.PostgreSQL这两款开源的世

  • Android开发之使用SQLite存储数据的方法分析

    本文实例讲述了Android开发之使用SQLite存储数据的方法.分享给大家供大家参考,具体如下: 前面已经说到了几种文件的操作如sharedreference,sdcard.实际上Android还提供了另外的存储方式那就是sqlite.只要学习过数据库掌握这个也是没问题的.下面就和我一起来弄一下这个吧. 1. 安装一个SQLiteDeveloper,这个用来打开android生成的数据库.软件随便搜索就能找到,后面导出数据库只需打开软件点击"数据库"----->"注册

  • Android中SQLite 使用方法详解

    Android中SQLite 使用方法详解 现在的主流移动设备像android.iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上的SQLite开发技巧.对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取. 下面就向大家介绍一下SQLite常用的操作方法,为了方便,我将代码写在了Activity的onCreate中: @Ov

  • Android开发中使用sqlite实现新闻收藏和取消收藏的功能

    之前学习oracle,简单的认为数据库只存在服务器端,学习安卓之后才发现原来android和Ios本身是"携带"数据库的--SQLite,是轻量级的.嵌入式的.关系型数据库,是Android.IOS等广泛使用的的数据库系统.用于存储本地的一直状态.刚写出来一个实现新闻收藏的功能,写出来供大家参考. 在Android中我们通过SQLiteDatabase这个类的对象操作SQLite数据库.由于SQLite数据库并不需要像C/S数据库那样建立连接以及身份验证的特性,以及SQLite数据库单

  • Android使用SQLite数据库的示例

    一. 简介 SQLite数据库是一个轻量级的DBMS(数据库管理系统).SQLite使用单个文件存储数据,Android标准库包含SQLite库以及配套使用的一些Java辅助类.主要特点:轻量级,单一文件,跨平台,开源. 二. Android中SQLite数据库的使用 1.创建SQLite数据库 SQLiteDatabase db= SQLiteDatabase.openOrCreateDatabase( "/data/data/" + getPackageName() + "

  • android中SQLite使用及特点

    1.SQLite的特点 SQLite是一个轻量级数据库,它设计目标是嵌入式的,而且占用资源非常低 SQLite没有服务器进程,通过文件保存数据,该文件是跨平台的 支持null,integer,real,text,blob五种数据类型,实际上SQLite也接受varchar,char,decimal等数据类型,只不过在运算中或保存时会转换成对应的5种数据类型,因此,可以将各种类型数据保存到任何字段中 2.SQLite的使用 2.1数据库的创建 在android中,创建SQLite数据库非常简单.A

  • Android Kotlin使用SQLite案例详解

    Kotlin使用SQLite 首先确定我们的目标,SQLite只是一种工具,我们需要掌握就是增删改查就可以,我们真正需要动脑的还是项目中的业务逻辑.我这篇文章写得比较适合新手,没用过SQLite的同学. 前期准备工作 新建一个类MyDataBaseHelper继承自SQLiteOpenHelper,代码如下: class MyDatabaseHelper(var context: Context, name: String, version: Int) : SQLiteOpenHelper(co

  • android 中 SQLiteOpenHelper的封装使用详解

    在android中常用存储数据的基本就三种,sqlite,SharedPreferences,文件存储,其中针对于对象存储,使用sqlite比较多,因为可以对其进行增删改查.本文主要讲解SQLiteOpenHelper的封装使用,代码引用自https://github.com/iMeiji/Toutiao 具体使用 主要方法包括创建数据库和数据库的升级. 构造函数:包含三个参数,context,name,factory,version onCreate:主要创建了三张表单 getDatabase

  • android studio使用SQLiteOpenHelper()建立数据库的方法

    在android studio中存储数据有三个方法,分别是: (1)简单存储--SharedPreferences (2)文件存储:内部存储--应用程序私有文件外部存储--SD卡资源文件--只读( RAW .XML) (3)数据库存储--SQLiteDataBase 今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenH elper中需要重载函数: onCreate( ):利用SQL语句,在系统中创建数据库(表)功

  • Android内置SQLite的使用详细介绍

    目录 一.创建数据库 1.新建数据库帮助类 2.在数据库帮助类中输入代码 3.代码讲解 二.添加数据 1.界面效果 2.准备工作 3.布局界面 activity_main.xml 4.类文件代码 MainActivity.java 5.代码讲解 三.查询数据 1.界面效果图 2.布局界面 activity_second.xml 3.类文件 SecondActivity.java 4.代码讲解 四.修改数据 1.界面效果图 2.布局界面 activity_ third.xml 3.类文件 Thir

  • jsp内置对象及方法详细介绍

    jsp提供了的9个内置对象,下面jsp的9大内置对象方法说明 内置对象 类型 作用域 request javax.servlet.http.HttpServletRequest request response javax.servlet.http.HttpServletResponse response pageContext javax.servlet.jsp.PageContext page session javax.servlet.http.HtpSession session app

  • Android内置的OkHttp用法介绍

    目录 1.异步GET请求 2.异步POST请求 3.异步上传文件 4.异步下载文件 5.异步上传Multipart文件 6.设置超时时间和缓存 Okhttp 处理了很多网络疑难杂症,比如从很多常用的连接问题中自动恢复.如果你服务器配置了多个IP地址,当一个IP地址连接失败后Okhttp会自动尝试下一个IP,从Android4.4版本后,系统内置了Okhttp,可见Okhttp功能的强大. 远程依赖添加,okio作为Okhttp的IO组件,也是必须要引入的. api 'com.squareup.o

  • Python 内置高阶函数详细

    目录 1.Python的内置高阶函数 1.1 map() 1.2 reduce() 函数 1.3 reduce() 函数 1.4 sorted() 函数 1.Python的内置高阶函数 1.1 map() map()会根据提供的函数对指定序列做映射 语法格式: map(function, iterable, ...) 第一个参数function以参数序列中的每一个元素调用function函数, 第二个参数iterable一个或多个序列 返回包含每次 function 函数返回值的新列表. 示例代

  • Android webview加载H5方法详细介绍

    目录 1,安卓APP 怎么用webview加载H5 2,H5怎么调用安卓定义的方法 3,安卓怎么调用H5定义的方法 这篇文章主要阐述3个知识点 安卓APP 怎么用webview加载H5 H5怎么调用安卓定义的方法 安卓怎么调用H5定义的方法 1,安卓APP 怎么用webview加载H5 安卓端定义个webview xml 页面,代码如下所示: <?xml version="1.0" encoding="utf-8"?> <WebView xmlns

  • asp.net内置对象 Response对象使用介绍

    Response对象是HttpRespone类的一个实例.该类主要是封装来自ASP.NET操作的HTTP相应信息.Response对象将数据作为请求的结果从服务器发送到客户浏览器中,并提供有关响应的消息.它可用来在页面中输出数据,在页面中跳转,还可以传递各个页面的参数. 一.向页面中输出数据 语法格式        Response对象通过Write方法或WriteFile方法在页面输出数据,输出的对象可以是字符,字符串,字符数组,对象或文件.        用Response输出数据时,ASP

  • Android中imageview.ScaleType使用方法详细介绍

    Android中imageview.ScaleType使用方法详细介绍 ScaleType属性用以表示显示图片的方式,共有8种取值: ScaleType.CENTER:图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示. ScaleType.CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即不能留有空白,缩放后截取中间部分进行显示. ScaleType.CENTER_INSIDE:将图片大小大于Im

  • Android Intent传递数据底层分析详细介绍

    Android  Intent传递数据底层分析详细介绍 我们知道在Activity切换时,如果需要向下一个ActivityB传递数据,可以借助Intent对象的putExtra方法. 但是不知各位有没有想过这样一个问题:ActivityB中获取到的对象跟上一个Activity中的那个对象有什么关系? 换句话说就是,我在ActivityB中通过Intent获取的对象跟ActivityA中的那个对象,有没有可能是同一个对象? 按照常理来说,博主提出一个设想后续的就是证明过程了,但是我要遗憾的告诉你,

  • Android  Intent传递数据底层分析详细介绍

    Android  Intent传递数据底层分析详细介绍 我们知道在Activity切换时,如果需要向下一个ActivityB传递数据,可以借助Intent对象的putExtra方法. 但是不知各位有没有想过这样一个问题:ActivityB中获取到的对象跟上一个Activity中的那个对象有什么关系? 换句话说就是,我在ActivityB中通过Intent获取的对象跟ActivityA中的那个对象,有没有可能是同一个对象? 按照常理来说,博主提出一个设想后续的就是证明过程了,但是我要遗憾的告诉你,

  • Android Jetpack组件中LifeCycle作用详细介绍

    目录 Jetpack 1.那么Jetpack是什么呢 2.为何使用Jetpack 3.Jetpack与AndroidX LifeCycle 1.LifeCycle的作用 2.LifeCycle应用 1.设计组件 2.使用组件 3.总结LifeCycle的使用 Jetpack Jetpack,我觉得翻译为“飞行器”更好听,因为Google针对编程历史乱象,整理出一套组件库,帮助开发者创造更完美的应用作品.现在市面上,很多公司招聘面试要求渐渐把Jetpack看作必会技能,Google也在疯狂的安利J

随机推荐