广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android开发基础教程—文件存储功能实现

    2018-04-04 08:34:45 次阅读 稿源:互联网
    广告
    文件存储:
    代码如下:

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

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告