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(); } }