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()检索承载FragmentActivityActivity继承自Context,因此您可以拨打电话openFileOutput()Activity

+0

那会怎样? – HultBullt

+1

@HultBullt:嗯,它看起来像Java代码。 'getActivity()'是'Fragment'上的一个方法,它返回一个'Activity'。 'openFileOutput()'是'Activity'上的一个方法。因此,'getActivity()。openFileOutput()'会在'getActivity()'返回的'Activity'上调用'openFileOutput()'。 – CommonsWare