GDY893282809
GDY893282809
采纳率0%
2016-05-24 01:20 阅读 10.3k

Android studio 如何实现数据保存

你好!本人是Android studio编程初学者 ,最近自己尝试在做一个APP,已经可以实时
显示我希望得到的数据了,但是我想将希望得到的实时显示的数据保存下来,保存到文件
中就行,这是代码:
package com.gdy.filepersistencetest;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class MainActivity extends Activity {
private EditText edit;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit = (EditText)findViewById(R.id.edit);
}
@Override
protected void onDestroy(){
    super.onDestroy();
    String inputText = edit.getText().toString();
    saveToSDCard("wxhn",inputText);
}

// save infomation in the SDCard
public boolean saveToSDCard(String fileName, String content) {

    // judge weather the SDCard exits,and can be read and written
    if (!Environment.getExternalStorageState().equals(
            Environment.MEDIA_MOUNTED)) {
        return false;
    }

    FileOutputStream fileOutputStream = null;
    File file = new File(Environment.getExternalStorageDirectory(),
            fileName);
    try {
        fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(content.getBytes());
        return true;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {

            if (fileOutputStream != null) {
                fileOutputStream.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return false;
}

}
可是当我将APP安装到手机上,找不到我保存的数据,不知道是不是没保存还是我没找到,请大神指导!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • shenshucong520 glustful 2016-05-24 01:24

    第一你要加上写入SD卡的权限,第二sdk版本过高,不让直接操作sd的其他目录,只能写在应用程序对应的目录下,用这个来获取对应的目录getExternalFilesDir()

    点赞 1 评论 复制链接分享
  • GDY893282809 GDY893282809 2016-05-24 03:52

    你好!非常感谢!上面的代码只是我为了保存数据做的一个小的实验,我实时显示的数据是通过append实现的,请问我这种方法将实时显示的数据保存
    可行吗?我还有个问题 ,就是这种方法刚刚我已经调通了,但是每次新的内容会将旧的内容覆盖,请问有什么方式可以不覆盖吗?多谢!!!

    点赞 评论 复制链接分享

相关推荐