Android基础-数据存储

来源:互联网 发布:淘宝为什么让马云有钱 编辑:程序博客网 时间:2024/06/05 18:29

Android基础-数据存储.摘要

  • 01.SharedPreferences的操作

  • 02.XML的生成和解析

  • 03.数据库的创建和使用

  • 04.数据库基本的SQL语句

SharedPreferences存储文件

SharedPreferences是一个接口,用来存储信息:

  • 1.获取sp,获取方式:通过上下文,sp=this.getSharedPreferences(“config”,0);config文件名称,”0”代表操作模式

  • 2.获取编辑器,Editor ed=sp.edit();

  • 3.存储数据,ed.put数据类型(“name”,”name”)

注意:记住提交数据,ed.commit();

  • 4.数据回显,sp.getxxx(“name”,”“)

    sp版本qq登录

        1.设置layout,采用线性布局    2.关心控件,找相关控件,设置监听事件    3.编辑业务逻辑:    1>.存储数据:        (1). onClick(View v)监听方法中获取文本参数,判断其值不能为空        (2). 获取编辑器:Editor edit = sp.edit();        (3). 将值存储到编辑器中: edit.putString("qq", qq);        (4). 提交数据: edit.commit();    2>.回显数据:        (1). 获取sp对象: sp=this.getSharedPreferences("config", 0);        (2). 获取文本内容: String qq = sp.getString("qq", "");        (3). 设置文本内容: et_qq.setText(qq);

SharedPreferences保存设置信息:

    * 1.设置layout,采用线性布局嵌套相对布局,控件相对边界距离8dp: android:layout_marginLeft="8dp",seerbar需要定义最大拖动值100:  android:max="100",线view对象高度设置为1dp: android:layout_height="1dp"    * 2.关心控件:设置监听事件,勾选及拖动    * 3.编写业务逻辑:        * 1.存储数据:            1.拖动控件及框选控件均采用匿名内部类监听            2.代码:            (1). 拖动控件            int progress = seekBar.getProgress();            Editor editor=sp.edit();            editor.putInt("progress", progress);            editor.commit();            (2). 框选控件            Editor edit = sp.edit();            edit.putBoolean("isChecked", isChecked);            edit.commit();        * 1.回显状态:            sp=this.getSharedPreferences("config", 0);//获取sp对象            boolean isChecked = sp.getBoolean("isChecked", false);            int progress = sp.getInt("progress", 0);            cb_ischeck.setChecked(isChecked);            sb_move.setProgress(progress);

序列化

    * 1.获取xml序列化器(xml.newserializer())    * 2.初始化参数        * 创建流,setOutput(流,编码)        * 设置流    * 3.写xml文件:        * 文档头startDocument        * 开始标签startTag        * 写文本text

xml解析

    * pull解析:边读边解析    * 1.获取解析器xml.newPullParser()    * 2.设置初始化参数setInput(输入流,编码)    * 3.开始解析:    * getEvenType(),获取第一个标签

数据库

  • 需求:对数据进行增删改查

  • Sqlite:开源项目,嵌入式轻量级数据库,底层存储都是无类型的(最大长度2^31-1字节)

数据库的创建

* 1.创建xxxDBaseOpenHelper.db包/xxxdb类    1.定义一个数据库的帮助类继承sqlxxxx(指定数据库文件的名称,游标工厂,数据库版本号)    2.Oncreate()创建数据库table    3.onUpgrade()可做数据库版本升级* 2.创建xxxDBaseOpenHelper.db.dao包/xxxdao类    1.通过构造方法初始化帮助类对象helper    2.创建增删改方法: db=helper.getWritableDatabase();-->db.execSQL("sql语句");-->db.close();//释放资源    3.查方法(): db=helper.getReadableDatabase();-->Cuser c= db.rawQuery("sql语句", new String[]{name});if (cursor.moveToNext()) {phone=cursor.getString(0);}-->c.close();db.close();//释放资源* 3.注意:如果只是创建出来该类并不会真正的去创建数据库,而是需要通过执行helper.getWritableDatabase()或者hepler.getReadableDatabase().
0 0