【发布时间】:2017-11-20 18:00:47
【问题描述】:
我在一个类中定义了两个子类 LoadData() 和 SaveData() 来加载和保存内部存储中的数据:
public class LoadSaveInternalActivity extends Activity {
public String LoadData(String filename)
{ String read = "";
try {
FileInputStream fis = getBaseContext().openFileInput(filename);
if (fis != null) {
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
read = br.readLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return read;
}
public void SaveData(String data, String filename)
{
try {
FileOutputStream outputStream = getBaseContext().openFileOutput(filename, Context.MODE_PRIVATE);
String text = data;
outputStream.write(text.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}}
我正在尝试从另一个 Activity 调用该类的这些方法,例如:
public class Fragment1 extends Fragment {
EditText edittxt;
private final static String file_name = "myfile";
private LoadSaveInternalActivity InternalActivity;@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.frag1, container,false);
edittxt = (EditText) rootView.findViewById(R.id.editTxt);
InternalActivity = new LoadSaveInternalActivity();
String readData = InternalActivity.LoadData(file_name);
edittxt.setText(readData);
return rootView;
}
@Override
public void onStop() {
super.onStop();
InternalActivity = new LoadSaveInternalActivity();
InternalActivity.SaveData(edittxt.getText().toString(),file_name);
}
但它不起作用。在这种情况下有人可以帮助我吗?
【问题讨论】:
标签: android methods save storage internal