Android第六天

数据存储,持久化技术。

android中提供四种存储技术:文件存储、SharedPreference、数据库存储、(SD卡,不常用)。

文件存储

往文件中写入数据:关键代码

out = openFileOutput("data",Context.MODE_PRIVATE);

writer = new BufferedWriter(new OutputStreamWriter(out));

writer.write(inputText);

查看文件是否写入成功:DDMS视图下,/data/data/com.example.file/files/下面。

从文件中读取数据:关键代码

in = openFileInput("data");reader = new BufferedReader(new InputStreamReader(in));while((line = reader.readline()) != null ){    content.append(line);}

SharedPreference

要想使用SharedPreference来存储数据,首先要获取到SharedPreference对象,三种方法得到对象。

1.Context类中的getSharedPreference方法:

Context.getSharedPreference(文件名称,操作模式);

2.Activity类中的getPreference方法

3.PreferenceManager类中的getDefaultSharedPreference方法

得到了对象之后,开始向SharedPreference文件中存储数据,分为三步:

1.调用SharedPreference对象的edit()方法来获取一个SharedPreference.Editor对象。

2.向SharedPreference对象中添加数据,比如,putString()。

3.调用commit()提交。

读取数据

SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);String name = pref.getString("name","");int age = pref.getInt("age",0);

SQLite数据库存储
借助SQLiteOpenHelper类实现数据库的创建和升级,它是抽象类,必须自己创建一个类继承它,并且重写它的两个方法:onCreate和onUpgrade

dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,1);dbHelper.getWritableDatabase();

要想让onUpgrade方法执行,dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,1);  这里第四个参数只要传入比1 大就可以。
添加数据:更新数据:删除数据:查询数据:

使用SQL操作数据库:

使用事务:

 
 
 
时间: 2024-12-23 00:02:55

Android第六天的相关文章

七、Android学习第六天——SQLite与文件下载(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQLite是Android内嵌的一个非常小的关系型数据库. 总结:当我们操作 在学习SQLite当中,遇到两个问题: (一)如果我们在搭建Android环境成功后,在命令行中输入adb后没有反应,可以按一下操作来做: 第一步:将platform-tools的目录加入path环境变量的配置中: 第二步:

Android课程设计第六天欢迎界面(跳转)

注意:课程设计只为完成任务,不做细节描述~ package com.example.myapplication; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.TextView; /** * Created by 樱花落舞

[Android] 开发第六天

Android 布局介绍 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格布局 FrameLayout 帧布局 ConstraintLayout 弹性布局(新) 介绍:http://www.jianshu.com/p/32a0a6e0a98a  我目前使用的 Android-Studio 3.0 Canary 6 默认的布局使用的是 ConstraintLayout 弹性布局 <?xml version="1.0" enco

Java -Android 学习(第六天)

今天主要是记录一些琐碎的东西,陆续的还会补充进来新遇到的东西. ①.android:gravity和android:layout_gravity 介绍 与 区别: gravity 有以下属性:center(居中),bottom(下),top(上),right(右),left(左).也可以组合使用,比如:left| bottom,表示左下: android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置

Android开发之记账本开发第六天

一.说在前面 昨天在原有基础上添加了搜索和删除,并添加了一个数据的属性以下拉表的形式添加,今天增加了一个动态更改和删除的程序,从列表点击可以获取信息进入新的界面然后界面上回显出其本身的信息,下面增加了两个按钮,删除或者是更改.遇到的问题:不知道如何将date回写,并且在界面的跳转中虽然实现了对数据库的数据的更改,但是会秒退,重启之后就好了... 二.今天完成的代码 package com.example.daliy; import android.content.DialogInterface;

Android学习-第六天

学习内容:ListFragment组件 ====ListFragment==== ListFragment是Fragment的一个子类,用于抽象展现列表视图(ListView),不过它使用一种叫adapter的控制器来与MODEL层进行交互! adapter的作用如下: 1.创建必要的视图组件(比如TextView) 2.从MODEL层获取数据(主要的功能) 3.提供视图给ListView进行展示 一般情况下使用比较多的adapter是ArrayAdapter,默认情况下ArrayAdapter

【每日Scrum】第六天(4.27) TD学生助手Sprint2站立会议

站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 今天和楠哥做了课程事件和日历表操作的例子,并尝试做时间表和日历表的数据库设计 Y 刘静 今天开始编辑自己项目中的日历管理 编辑程序,能够在日历界面,随便点击某一天,能够添加这一天的时间,具体到小时定时 还行不太难 Y 解凤娇 今天查看网络上关于软件测试的文档以及说明 开始进行功能测试. 繁琐,bug不少正在努力修正 Y 王洪叶 查找铁道大学周边的服装广场和同学比较常去的一些购物广场,并通过调查,得到各个地点的具体位置和详细信息. 通过看视

安卓第六天笔记--ListView

安卓第六天笔记--ListView 1.AdapteView AdapteView 继承ViewGroup它的本质是容器 AdapterView派生了3个子类: AbsListView AbsSpinner AdapterViewAnimation 这3个类是抽象类 实际使用中采用的是它们的子类 2.Adpate结构 3.使用ArrayAdapter完成ListView显示 ListView使用的是ListAdapter类型的适配器 由于只显示文字,所有使用ArrayAdapter ArrayA

Android核心基础学习进程

第一天:  adb命令:  adb devices 列出所有的设备  adb shell 挂载到Linux的空间,可以执行Linux指令  adb install xxx.apk 如果多个设备adb install -s 设备名  adb push 把文件推到手机里  adb pull把文件从手机里拉出来  netstat -ano查看端口号  taskkill /pid pid /f 杀死pid对应的进程 电话拨号器  1.找到控件并且得到控件对象   et_phone = (EditText