android之文件权限问题

当我们在手机上安装一个应用的时候,linux会为每个APP创建一个用户名和用户组

xidian.dy.com.chujia是系统为每个应用创建的一个独立的文件夹,我们可以看到这个文件的所有者为app_2,所属组为app_2。

在该文件夹下创建一个文本文件

package xidian.dy.com.chujia;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;


import java.io.FileOutputStream;
import java.io.IOException;


public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void click(View v){
        FileOutputStream fos = null;
        try {
            //路径为/data/data/包名/files/
            //私有模式只有该应用可读取,并且每次会创建新的文件
            fos = openFileOutput("info.txt",MODE_PRIVATE);
            //中文存在编码问题...
            fos.write("哈发放到地方".getBytes());

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if(fos != null)
                    fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

 

我们看到info.txt对于app_2极其用户组是可读可写的

将数据保存到XML中


SharePreferences将数据保存到一个xml文件中

package xidian.dy.com.chujia;

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;




public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void click(View v){
        SharedPreferences sp = getSharedPreferences("info",MODE_PRIVATE);
        SharedPreferences.Editor e = sp.edit();
        e.putString("username", "huidongyu");
        e.putString("password", "dahai");
        e.commit();
    }
}

 

原文地址:https://www.cnblogs.com/xidongyu/p/5582205.html