数据库
首页 > 数据库> > 在Android平板电脑上查看SQLite数据 – SQLite数据库浏览器

在Android平板电脑上查看SQLite数据 – SQLite数据库浏览器

作者:互联网

我成功地将一些数据插入到我的sqlite数据库中(我通过打印出从插入返回的长ID来证实这一点,它不是-1)所以我知道它就在那里.问题是我正在使用SQLite数据库浏览器查看的sqlite数据库位于assets文件夹中(我用它来将已经组成的其他表的数据复制到平板电脑目录中) – 在这种情况下它是/ data / data / packagename / files / –

平板电脑是motorola xoom ICS(4.0.3)并在macbook pro上开发.关于我可以用来查看数据的任何建议?

adb程序在android-sdk-mac_x86 / platform-tools中,我执行以下命令:

./adb shell

>但我没有在哪里 – 只有许可问题.我看到有人建议firefox附加组件但是……真的吗?是最好的吗?在我看来,开发人员可以更好地查看数据库中的数据.如果您要将数据库插入数据库,您希望能够查看内容,以防您以后需要调试选择(作为一个非常好的示例).

编辑:我不能让firefox插件工作.似乎没有识别任何外部设备.

有任何想法吗?谢谢.

解决方法:

我有一个类似的问题 – 并决定在我的应用程序中放一个按钮,点击后,将数据库复制到SD卡.然后,您可以使用DDMS将数据库从SD卡复制到连接的计算机,并启动您要检查数据库,验证值等的任何内容.

package com.me.myPackage;

import java.io.File;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import android.content.Context;
import android.os.Environment;
import android.widget.Toast;

public class Utility {

public static void backupDatabase(Context context) throws IOException {

    // Open your local db as the input stream
    String inFileName = PATH_TO_YOUR_DB;
    File dbFile = new File(inFileName);
    FileInputStream fis = new FileInputStream(dbFile);

    File outputDirectory = new File(
            Environment.getExternalStorageDirectory() + "/PATH_FOR_BACKUP");
    outputDirectory.mkdirs();
    SimpleDateFormat sdf = new SimpleDateFormat(Constants.DATE_TIME_FORMAT_FOR_DATABASE_NAME); // append date time to db name

    String backupFileName = "/MyApp_" + sdf.format(new Date()) + ".db3"; 
    String outFileName = outputDirectory + backupFileName;

    // 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();

    Toast.makeText(context, "Database backup complete", Toast.LENGTH_LONG)
            .show();
}

}

标签:android,sqlite,macos,xoom
来源: https://codeday.me/bug/20190704/1376808.html