SharedPrefernces
SharedPrefernces :数据存储类,它是一个轻量级的存储类,特别适合用于保存软件配置参数
SharedPreferences sharedPreferences = getSharedPreferences("preferences_name", Context.MODE_PRIVATE); //preferences_name是保存的文件名
Editor editor = sharedPreferences.edit(); //获取编辑器
editor.putString("name", "misiling"); //name为文件中的参数名
editor.commit(); //提交
//editor.apply(); //建议使用,此方法是另开线程后台执行
//editor.remove("name") //删除
Internal storage 与 External storage
内部存储与外部存储,我们可以通过Java的Stream流来写文件或读文件。
SD卡
File file = new File("/sdcard/test/a.txt"); String filePath = Environment.getExternalStorageDirectory().getAbsolutePath(); Environment.getDataDirectory(); // 获取Android中的data数据目录 Environment.getDownloadCacheDirectory(); Environment.getExternalStorageDirectory();
assets目录
// 第一种,直接读路径
WebView webView = new WebView(this);
webView.loadUrl("file:///android_asset/test.html");
try {
// open的只能是文件,不能是文件夹
InputStream inputStream = getResources().getAssets().open("test.html");
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, "文件读取异常", Toast.LENGTH_SHORT).show();
}
// 读列表
String[] filenames = getAssets().list("images");
// 读图片
InputStream inputStream = getAssets().open("images/dog.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
ImageView imageView = new ImageView(this);
imageView.setImageBitmap(bitmap);
// 读音乐
AssetFileDescriptor assetFileDescriptor = getAssets().openFd("libai.mp3");
MediaPlayer player = new MediaPlayer();
player.reset();
player.setDataSource(
assetFileDescriptor.getFileDescriptor(),
assetFileDescriptor.getStartOffset(),
assetFileDescriptor.getLength());
player.prepare();
player.start();
- raw目录
InputStream inputStream = getResources().openRawResource(R.raw.libai);
getResources().getColor(R.color.abc_background_cache_hint_selector_material_dark);
getResources().getString(R.string.abc_action_bar_home_description);