android数据存储

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值