1. 简介几种数据存储方式的各自特点。
Android中有5种数据存储方式,分别为文件存储、SQLite数据库、SharedPreferences、ContentProvider、网络。文件存储方式是一种较常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供openFileInput()和openFileOutput()方法来读取设备上的文件。SQLite是Android所集成的一个轻量级的嵌入式数据库,它不仅可以使用Andorid API操作,同时它也支持SQL语句进行增删改查等操作。SharedPreferences是Android提供的用于存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中。不仅可以在同一个包下使用,还可以访问其他应用程序的数据,但是由于SharedPreferences的局限性,在实际操作中很少用来读取其他应用程序的数据。ContentProvider主要用于不同应用程序之间共享数据,ContentProvider更好的提供了数据共享接口的统一性,使不同应用共享数据更规范和安全。网络存储数据,通过网络上提供的存储空间来上传(存储)或下载(获取)我们存储在网络空间中的数据信息。
2. 使用SharedPreFerences保存用户登录的信息,并且在用户下次登录时自动填写用户已经保存的信息。
刚刚打开的界面(图1)②输入账号和密码,并且勾选记住密码,点击登录后的界面(图2)③关闭界面,再次打开后的界面(图3)④取消勾选记住密码,点击登录,关闭界面重新打开后的界面(图4)。
图1
图2
图3
图4
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"
tools:context=".MainActivity">
<RelativeLayout
android:layout_marginTop="200dp"
android:gravity="center"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edit_username"
android:hint="输入账号"
android:layout_gravity="center"
android:layout_width=