我已經從this question複製了該方法並修改了一下以便在我的項目中使用。我注意到,當我調用createNewFile()方法時,應用程序會忽略我的方法的其餘部分。我怎樣才能解決這個問題?createNewFile()後忽略的方法
public void exportDatabase(){
try{
File dbFile=getDatabasePath("Glukozko.db");
File exportDir = new File(Environment.getExternalStorageDirectory(), "");
if (!exportDir.exists()){
exportDir.mkdirs();
}
File file = new File(exportDir, "meritve.csv");
file.createNewFile(); //from this point on, the method is ignored
PrintWriter csvWrite = new PrintWriter(new FileWriter(file));
Cursor meritve=db.vrniMeritve();
if(meritve.getCount()==0){
Toast.makeText(MainActivity.this,"No data availible",Toast.LENGTH_SHORT).show();
}else{
while (meritve.moveToNext()){
String vrstica=meritve.getString(1)+";"+meritve.getString(2)+";"+meritve.getString(3)+";"+meritve.getString(4)+";"+meritve.getString(5)+";"+meritve.getString(6);
System.out.println(vrstica);
}
}
}catch (Exception e){
}
}
我找到了解決方案。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
我不得不把這個在manifset文件!
我確定它在那個時候會拋出一個'IOException'。但是,既然你只是把它扔到你的「catch」裏面,你永遠不會知道發生了什麼。 – QBrute
此文件還沒有創建 –
那麼,當你在調試器中運行它會發生什麼? –