Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将android Sqlite DB导出到CSV时需要的注释_Android_Sqlite_Csv_Export - Fatal编程技术网

将android Sqlite DB导出到CSV时需要的注释

将android Sqlite DB导出到CSV时需要的注释,android,sqlite,csv,export,Android,Sqlite,Csv,Export,我正在尝试将应用程序的SQLite db导出到CSV文件并存储在SD卡中。导出方法在DBAdapter类中定义为ExportToCSV。我已检查应用程序是否成功创建SQLite数据库。但是,当我尝试在MainActivity中使用onPause方法调用ExportToCSV时,应用程序无法响应导出数据库。你能给我一些关于如何纠正这个代码的意见吗?我将感谢你的帮助 我的代码如下: public void ExportToCSV(Cursor c, String fileName) {

我正在尝试将应用程序的SQLite db导出到CSV文件并存储在SD卡中。导出方法在DBAdapter类中定义为ExportToCSV。我已检查应用程序是否成功创建SQLite数据库。但是,当我尝试在MainActivity中使用onPause方法调用ExportToCSV时,应用程序无法响应导出数据库。你能给我一些关于如何纠正这个代码的意见吗?我将感谢你的帮助

我的代码如下:

public void ExportToCSV(Cursor c, String fileName) {       
       int rowCount = 0;  
       int colCount = 0;  
       FileWriter fw;  
       BufferedWriter bfw;  
       File sdCardDir = Environment.getExternalStorageDirectory();  
       File saveFile = new File(sdCardDir, fileName);  
       try {  
            rowCount = c.getCount();  
           colCount = c.getColumnCount();  
           fw = new FileWriter(saveFile);  
           bfw = new BufferedWriter(fw);  
           if (rowCount > 0) {  
               c.moveToFirst();  
               // write the colume title  
               for (int i = 0; i < colCount; i++) {  
                   if (i != colCount - 1)  
                      bfw.write(c.getColumnName(i) + ',');  
                   else  
                      bfw.write(c.getColumnName(i));  
               }  
               // change the line
               bfw.newLine();  
               // write data
               for (int i = 0; i < rowCount; i++) {  
                   c.moveToPosition(i);  
                   Log.v("exporting data", "exportting" + (i + 1) + "line");  
                   for (int j = 0; j < colCount; j++) {  
                       if (j != colCount - 1)  
                           bfw.write(c.getString(j) + ',');  
                       else  
                          bfw.write(c.getString(j));  
                   }  
                   // change line
                   bfw.newLine();  
               }  
           }

最后必须关闭文件

bfw.close();

“无法响应出口”是什么意思?有没有函数没有被调用?您是否遇到异常?尽管应用程序不断生成数据,但ExportToCSV似乎无法正常工作。我在HTC状态下运行该应用程序,结果显示“Acitivity MainActivity(在应用程序数据库中)没有响应。”
bfw.close();