Android 之路41---本地数据存储
2018-02-23 10:01
225 查看
导读
1.数据存储简介2.SharePreferences
3.内部存储与外部存储
数据存储简介
SharePreferences
package com.hala.view01; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); testSharePreferences(); } private void testSharePreferences(){ SharedPreferences sharedPreferences=getSharedPreferences("test", Context.MODE_PRIVATE); SharedPreferences.Editor editor=sharedPreferences.edit(); //以key-value的形式存储 editor.putString("name","Emilia Clarke"); editor.putInt("age",30); editor.commit(); //第一个参数,key值 //第二个参数,取不到值时的临时值 String name=sharedPreferences.getString("name",null); int age=sharedPreferences.getInt("age",0); //第一个参数,标签 //第二个参数,要打印的语句 Log.e("em","name:"+name+" age:"+age); } }
显示结果
内部存储与外部存储
package com.hala.view01; import android.os.Bundle; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); testInternalStorage(); // testExternalStorage(); } /** * 内部存储 */ private void testInternalStorage(){ //缓存区域 File cacheDir=getCacheDir(); //建立文件夹 第一个参数,缓存区 第二个参数,文件夹名 File parentDir=new File(cacheDir,"mycache"); //如果文件夹不存在,则创建一个 if(!parentDir.exists()){ parentDir.mkdirs(); } //写文件 File file=new File(parentDir,"test.txt"); try { FileWriter fileWriter=new FileWriter(file); fileWriter.write("I'm Emilia Clarke"); fileWriter.flush(); fileWriter.close(); } catch (IOException e) { Log.e("em","testInteralSorage:"+e); } //读文件 try { FileReader fileReader=new FileReader(file); BufferedReader bufferedReader=new BufferedReader(fileReader); String line=null; while((line=bufferedReader.readLine())!=null){ Log.e("em","line:"+line); } bufferedReader.close(); fileReader.close(); } catch (Exception e) { Log.e("em","testInteralSorage:"+e); } } /** * 外部存储 * 记得写权限 */ private void testExternalStorage(){ //如果没有读到sd卡,就提示错误信息 if(!TextUtils.equals(Environment.getExternalStorageState(),Environment.MEDIA_MOUNTED)){ Toast.makeText(this, "please check out your SD card!", Toast.LENGTH_SHORT).show(); } //外部与内部不同在于获取路径的不同,其他都相同 File cacheDir=Environment.getExternalStorageDirectory(); File pare a5b6 ntDir=new File(cacheDir,"mycache"); if(!parentDir.exists()){ parentDir.mkdirs(); } //写文件 File file=new File(parentDir,"test.txt"); try { FileWriter fileWriter=new FileWriter(file); fileWriter.write("I'm Emilia Clarke"); fileWriter.flush(); fileWriter.close(); } catch (IOException e) { Log.e("em","testExteralSorage:"+e); } //读文件 try { FileReader fileReader=new FileReader(file); BufferedReader bufferedReader=new BufferedReader(fileReader); String line=null; while((line=bufferedReader.readLine())!=null){ Log.e("em","line:"+line); } bufferedReader.close(); fileReader.close(); } catch (Exception e) { Log.e("em","testExteralSorage:"+e); } } }
配置文件
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hala.view01"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
显示结果
相关文章推荐
- Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase
- 理解 Android 本地数据存储 API
- Android本地数据存储复习
- Android 使用Vitamio打造自己的万能播放器(4)――本地播放(快捷搜索、数据存储)
- Android知识点梳理--应用本地数据的存储
- 理解 Android 本地数据存储 API
- 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)
- 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)
- Android本地数据持久化:内部存储和外部存储
- Android之本地数据存储(一):SharedPreferences
- 理解 Android 本地数据存储 API
- Android搜索功能存储本地数据 集合 + SharedPreferences
- Android本地数据存储: ASimpleCache
- Android本地数据存储(CacheDataUtil )
- Android本地数据的存储和读取(文件格式)
- Android本地数据存储
- 理解 Android 本地数据存储 API
- Android本地数据存储: ASimpleCache
- Android本地数据存储之.txt文件存储读写
- Android本地最简单的数据存储,没有之一(让SharedPreferences存取JavaBean对象或List<Bean>)