使用USB线从我应用程序的sqlite数据库中读取数据

时间:2015-01-07 10:10:46

标签: android sqlite usb

我想从我的应用程序的sqlite数据库中读取数据,该数据库安装在真实设备上的Windows计算机中。我想用USB线或任何其他方法连接两者,但不要上网 这有可能吗?是的在调试模式下,我可以在eclipse的LogCat中看到数据,但我如何访问这些数据? 你能指点我一些可以帮助我解决这个问题的文献吗?

1 个答案:

答案 0 :(得分:0)

在您的主要活动中添加此代码,然后重新启动您的活动。确保已调用此代码并设置正确的SD卡路径。在Windows上安装sqlite manager工具并查看您的数据。

        try
        {
        String inFileName = "//data/data/com.needzapp.debug/databases/your_db_name";
        File dbFile = new File(inFileName);
        FileInputStream fis = new FileInputStream(dbFile);
        String outFileName = Environment.getExternalStorageDirectory()+"/NeedzApp_DB";
        //Open the empty db as the output stream
        OutputStream output = new FileOutputStream(outFileName);
        //transfer bytes from the inputfile to the outputfile
        byte[] buffer = new byte[1024];
        int length;
        while ((length = fis.read(buffer))>0){
            output.write(buffer, 0, length);
        }
        //Close the streams
        output.flush();
        output.close();
        fis.close();
    }

    catch (FileNotFoundException e)
    {
        Timber.e("File Not found ", e.toString());
    }
    catch (NullPointerException e)
    {
        Timber.e("NUll pointer" , e.toString());
    }
    catch (Exception e)
    {
        System.out.println("exception on exporting DB");
    }