追逐Google Android Trainings我尝试在内部存储中创建文件并修改它。
但是有一个未知问题,我无法调试它。
下面我复制了我的mainActivity类,其中包含我为pupose编写的所有代码,但我真的无法调试它!我只能在TextView !!中看到任何内容!
公共类MyActivity扩展了Activity {
final static String fileName = "myFile.txt";
File file;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initializeFile();
TextView tv = (TextView) findViewById(R.id.text_view);
try {
tv.setText(readFile());
} catch (IOException e) {
e.printStackTrace();
}
setContentView(R.layout.main);
}
public void initializeFile(){
try {
file = new File(getFilesDir() , fileName);
if(!file.exists()){
Log.d("BUG","No Files !!");
}
FileOutputStream out = openFileOutput(fileName , MODE_PRIVATE);
out.write("My text".getBytes());
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public String readFile() throws IOException {
String s = "";
Scanner scan = new Scanner(file);
if (!file.exists())
{
Log.d("BUG","NO File(reading)");
}
while(scan.hasNext()){
s += scan.nextLine();
}
return s;
}
答案 0 :(得分:0)
在尝试获取TextView tv之前,您应该致电setContentView(R.layout.main)
。在其他地方有NPE,因为你的主视图没有膨胀,并且没有任何ID为R.id.text_view的视图。其他一切都很好。