今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了
如何在Window中通过DOM来操作数据库了,如果没有看的同学可以点击一下看看,而这次讲解的是如何通过Android中提供的类来对数据库进行操作
在讲解这个知识点之前我们要列举今天笔记目录,这样也许你看到我的博客就知道我在讲解什么了,同时在移动端的数据保存不当当读写在数据库中,而有时候我们也会对文件
或者有一下XML进行我们的数据存储,我会重文件读写开始然后再到数据的操作,这样我们就能够对Android中数据存储操作有个大概的了解
目录
Android中三种存储方式
1.文件存储:
核心:通过Context类获得openFileInput()和opendFileOutput()之后通过文件流的方式读写数据操作
两个方法的参数
参数1:指定要传入的数据格式:"data"
参数2:指定要操作的模式.MODE_PRIVATE和MODE_APPEND
MODE_PRIVATE:是默认模式,当你指定同样的文件名的时候,所写入的数据将会覆盖源文件的内容
MODE_APPEND:而如果文件以存在则会追加原有文件的内容,不存在着创建新的文件
2.SharedPreference存储
要通过SharedPreference方式操作数据存储则必须活动SharedPreference对象,获取该对象的方式有三种形式
1.Context.getSharedPreference():
2.Actvity类中的getPrerence()
3.PreferenceManager类中的getDefaultSharedPreference()
获取SharedPreference对象之后通过.edit()方法来获得一个SharedPreference.Editor对象
然后调用对象中的put方法 然后调用commit()方法则实现数据存储操作
3.数据库存储
认识SQLiteOpenHelper辅助类:借助这个类可以进行数据库创建和升级
1.SQLiteOpenHelper是一个抽象类,如果要使用的话则需要通过一个类来继承它,然后重写该类中的onCreate()和onUpgrade()方法
2.如果要创建一个数据库着需要调用getReadableDatabase()和getWriteableDatabase(),如果数据库存在着打开,如果不存在着创建一个新数据库 ,
注意,当数据库不可写入时(磁盘空间已满)getReadableDatabase()方法返回的对象将对只读方式打开数据库,而getWriteableDatabase()则会报异常
以上是小编大致列举这篇博客的目录内容,这样好让大家能够明白原来在Android中不往往通过数据库来存放数据的,起码我们要会对文件的读写要有定的认识,那赶紧进入我们学习的内容吧
1.文件存储:
相信大家学习过java的同学对java中的文件输入输出流有大致的认识了,也熟悉的运用过进行文件的读写操作,那在Android中也是同样如此,可以通过输入输出流对我们的文件进行读写操作
1.我们新建一个Android工程,这是必须的
我们通过文件存储方式实现登录保存用户帐号和密码的操作
新建工程完毕之后我们
1.打开我们的layout--->activity_main 布局文件添加两个EditeView控件,并且指定一个唯一Id,一会我们要引用该控件
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.filewriteandread.MainActivity"
android:orientation="vertical" >
android:id="@+id/ed_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入帐号..."
/>
android:id="@+id/ed_pass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:password="true"
android:hint="请输入密码..."
/>
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
/>
2.编写我们的控件代码 MainActivity.java 获取我们的控件对象
package com.example.filewriteandread;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
public class MainActivity extends Activity{