android开发基础教程—文件存储功能实现
android开发基础教程—文件存储功能实现
发布时间:2016-12-28 来源:查字典编辑
摘要:文件存储:复制代码代码如下:publicclassMainActivityextendsActivity{EditTextmname,mag...

文件存储:

复制代码 代码如下:

public class MainActivity extends Activity {

EditText mname, mage;

TextView mtv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mname = (EditText) findViewById(R.id.editText1);

mage = (EditText) findViewById(R.id.editText2);

mtv = (TextView) findViewById(R.id.textView1);

}

public void onClick(View v) {

String name = mname.getText().toString();

int age = Integer.parseInt(mage.getText().toString());

String cont = "name=" + name + ",age=" + age + "n";

try {

int id = v.getId();

// 内部保存

if (id == R.id.button1) {

FileOutputStream fos = this.openFileOutput("mytext.txt",

Context.MODE_APPEND | Context.MODE_WORLD_WRITEABLE

| Context.MODE_WORLD_READABLE);

fos.write(cont.getBytes());

fos.close();

Toast.makeText(this, "写入完成", 1).show();

}

// 读取

else if (id == R.id.button2) {

FileInputStream fis = this.openFileInput("mytext.txt");

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

String str = new String(bytes);

mtv.setText(str);

}

} catch (Exception e) {

e.printStackTrace();

}

}

其他app如果想要访问这个mytext.txt文件格式如下:

复制代码 代码如下:

public class MainActivity extends Activity {

TextView mcontent;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mcontent=(TextView) findViewById(R.id.textView1);

}

public void onClick(View v){

switch (v.getId()) {

case R.id.button1:

try {

readRemoteFileByAbslutePath();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

break;

case R.id.button2:

try {

WriteRemoteFileByAbslutePath();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

break;

default:

break;

}

}

/**

* 通过文件绝对路径读取远程文件

* @throws Exception

*/

public void readRemoteFileByAbslutePath() throws Exception{

String path = "/data/data/com.nanguabing.filedemo/files/mytext.txt" ;

FileInputStream fis = new FileInputStream(path);

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

String str = new String(bytes);

mcontent.setText(str);

Log.i("Other", str);

}

/**

* 通过文件绝对路径读取远程文件

* @throws Exception

*/

public void WriteRemoteFileByAbslutePath() throws Exception{

String path = "/data/data/com.nanguabing.filedemo/files/mytext.txt" ;

FileOutputStream fos = new FileOutputStream(path,true);

fos.write("other write! ".getBytes());

fos.close();

Log.i("Other", "other write over!");

}

/**

* 通过包相关上下文写入远程文件

* @throws Exception

*/

public void readRomoteByPackageContext() throws Exception {

String pname = "com.nanguabing.filedemo";

Context ctx = this.createPackageContext(pname,

Context.CONTEXT_IGNORE_SECURITY);

FileInputStream fis = ctx.openFileInput("mytext.txt");

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

Log.i("Other",new String(bytes));

}

/**

* 通过包相关上下文写入远程文件

*/

public void readRomoteByPackageContext2() throws Exception {

String pname = "com.nanguabing.filedemo";

Context ctx = this.createPackageContext(pname,

Context.CONTEXT_INCLUDE_CODE);

FileInputStream fis = ctx.openFileInput("mytext.txt");

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

Log.i("Other",new String(bytes));

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类