Android - 向文件中写入字符串
问题描述:
我从Android Developers page获取了此代码,但代码无效。 我环顾四周,但似乎没有人给出明确的答案。Android - 向文件中写入字符串
private void writetofile(String FILENAME, String content){
FileOutputStream outputStream;
try {
//The problem is here ↓
outputStream = openFileOutput(FILENAME, Context.MODE_PRIVATE);
outputStream.write(content.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
“openFileOutput”显然未定义。 如何编写我的代码以使其写入文件并且不会编译失败?
这里是我完整的代码(如果这能帮助)
public class HastighetFragment extends Fragment {
int color;
Button bAdd;
private void writetofile(String FILENAME, String content){
FileOutputStream outputStream;
try {
outputStream = openFileOutput(FILENAME, Context.MODE_PRIVATE);
outputStream.write(content.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_hastighet, container, false);
bAdd = (Button) rootView.findViewById(R.id.addbutton);
color=0;
bAdd.setOnClickListener(new OnClickListener() {@Override
public void onClick(View v) {
switch(color){
case 0:
bAdd.setBackgroundResource(R.drawable.buttonstylered);
color=1;
break;
case 1:
bAdd.setBackgroundResource(R.drawable.buttonstylegreen);
color=0;
break;
}
}});
return rootView;
}
public void onBackPressed() {
android.app.FragmentManager FragmentManager = getActivity().getFragmentManager();
FragmentManager.popBackStack();
}
}
答
的 “openFileOutput” 是apperently不确定的。我如何编写我的代码以使其写入文件并且不会编译失败?
openFileOutput()
是Context
及其子类上的方法。
这里是我完整的代码(如果这能帮助)
里面一个Fragment
,你可以调用getActivity()
检索承载Fragment
的Activity
。 Activity
继承自Context
,因此您可以拨打电话openFileOutput()
Activity
。
那会怎样? – HultBullt
@HultBullt:嗯,它看起来像Java代码。 'getActivity()'是'Fragment'上的一个方法,它返回一个'Activity'。 'openFileOutput()'是'Activity'上的一个方法。因此,'getActivity()。openFileOutput()'会在'getActivity()'返回的'Activity'上调用'openFileOutput()'。 – CommonsWare