为什么我的应用程序在手机上崩溃,但在AVD模拟器上却没有崩溃?

阿里·阿拉希亚

我已经编写了一个使用SQLite db的应用程序。在我不使用SQLite而是仅使用普通字段和普通字段存储数据的第一阶段,我的应用程序在手机中的运行情况就很好。但是现在,当我使用SQLite有效存储和提取数据时,我的应用程序在手机中崩溃了。有趣的一点是,它在我的计算机上的AVD模拟器上运行良好。知道为什么会这样吗?

这是我的数据库类:

public class WordsDB extends SQLiteOpenHelper {

    static final String DATABASE_NAME = "DicDB";

    static final String TermTable = "Terms";
    static final String ID = "id";
    static final String Selected = "selected";
    static final String Term = "term";
    static final String Br = "br_phon";
    static final String NAm = "nam_phon";
    static final String Type = "type";
    static final String Noun = "noun";
    static final String Verb = "verb";
    static final String Adjective = "adjective";
    static final String Adverb = "adverb";

    static final String DefTable = "Definitions";
    static final String Def = "definition";
    static final String Ex = "example";

    public static final int DATABASE_VERSION = 1;

    private static final String TERM_TABLE_CREATE = "Create table " + TermTable +
        "(" + ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
        Selected + " VARCHAR(5) ," +
        Term + " VARCHAR(20) ," +
        Br + " VARCHAR(20) ," +
        NAm + " VARCHAR(20) ," +
        Type + " VARCHAR(10) ," +
        Noun + " VARCHAR(20) ," +
        Verb + " VARCHAR(20) ," +
        Adjective + " VARCHAR(20) ," +
        Adverb + " VARCHAR(20)) ";

    private static final String DEF_TABLE_CREATE = "Create table " + DefTable +
        "(" + ID + " INTEGER PRIMARY KEY ," +
        Def + " VARCHAR(30) ," +
        Ex + " VARCHAR(160)) ";

    public WordsDB(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db)
    {
    db.execSQL(TERM_TABLE_CREATE);
    db.execSQL(DEF_TABLE_CREATE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        db.execSQL("DROP TABLE IF EXISTS " + TermTable);
        db.execSQL("DROP TABLE IF EXISTS " + DefTable);
        onCreate(db);
    }
}

这是DataSource类:

public class WordsDS {

    private WordsDB dbHelper;
    private SQLiteDatabase db;

    public WordsDS(Context context) {
        dbHelper = new WordsDB(context);
    }

    public void open() throws SQLException {
        db = dbHelper.getWritableDatabase();
    }

    public void close() {
        db.close();
    }

    // Methods to inset, update and extract data from table
    .......
}

我在主要活动中从WordsDS类中创建一个对象,并通过开放方法获得可写数据库,依此类推;在其他类中,我使用WordsDS对象并通过该对象插入,更新和提取数据。

凯尔

首先,您必须卸载应用程序才能进行全新安装。这意味着所有创建的数据库都将在您的手机上擦除。这将确保如果添加了新列或发生了数据库结构更改,那么将创建数据库。您可能会认为onUpgrade方法将为您完成此操作,但不会成功!

至于在移动设备上调试应用程序。首先,您必须在计算机上安装手机的驱动程序。然后,您现在可以随后运行adb logcat。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

应用程序在手机上崩溃,但在模拟器上运行平稳

来自分类Dev

Android:应用程序在模拟器上运行,但在我的手机上崩溃

来自分类Dev

iOS App在手机上崩溃,但在模拟器上可以正常运行

来自分类Dev

应用程序在我的真机中崩溃,但在 Android 模拟器上运行良好

来自分类Dev

为什么我的客户手机上显示文字装饰,而我的手机或浏览器中却没有显示?

来自分类Dev

应用程序在设备上崩溃,但在模拟器中没有崩溃,原因是:[UITableViewController loadView]加载了“ XXXViewController”笔尖,但未获得UITableView。

来自分类Dev

为什么UITableView中的空白单元格在设备上具有灰色背景,但在模拟器上却没有?

来自分类Dev

Android Studio:在手机上调试应用程序时图像不会显示,但在模拟器上会显示

来自分类Dev

模拟器在UIImageView中显示我的图像,但在我的真实iPhone上却没有

来自分类Dev

模拟器在UIImageView中显示我的图像,但在我的真实iPhone上却没有

来自分类Dev

Android应用程序可在模拟器上运行,但无法安装在我的手机上

来自分类Dev

为什么我的流星应用程序在firefox上却出现这些错误,而在其他浏览器上却没有?

来自分类Dev

为什么我在手机上看不到已安装的android应用程序?

来自分类Dev

安装后,我的android应用程序没有出现在手机上

来自分类Dev

应用程序在iPad设备上崩溃,但在模拟器上工作

来自分类Dev

iOS(Swift)-投射应用程序委托窗口的根视图控制器可在模拟器中运行,但在手机上加载应用程序时失败

来自分类Dev

奇怪的 iOS 应用程序在模拟器上崩溃

来自分类Dev

为什么在iOS Facebook权限确认屏幕上没有齿轮图标,而我的应用程序徽标却没有?

来自分类Dev

Xcode-使用AWS Frameworks的应用程序可在模拟器上运行,但在设备上崩溃

来自分类Dev

代号一个应用程序可在模拟器上运行,但在iPhone设备上反复崩溃

来自分类Dev

Android Studio + AVD:应用程序在模拟器中崩溃,logcat为空

来自分类Dev

Android应用程序在移动设备上单击button1时崩溃,但在模拟器中成功运行

来自分类Dev

Android 应用程序在真实设备上安装后崩溃,但在模拟器中运行良好

来自分类Dev

应用在iPhone上崩溃,但模拟器或iPad上没有崩溃?

来自分类Dev

Android应用程序构建成功,但在模拟器中崩溃

来自分类Dev

为什么我安装后无法打开应用程序并在手机上找到我的应用程序

来自分类Dev

Android Studio:应用程序在我的智能手机上运行后崩溃

来自分类Dev

为什么我的DIV没有显示在手机上?

来自分类Dev

为什么我的应用程序在iPad上的显示与模拟器上的显示不同?

Related 相关文章

  1. 1

    应用程序在手机上崩溃,但在模拟器上运行平稳

  2. 2

    Android:应用程序在模拟器上运行,但在我的手机上崩溃

  3. 3

    iOS App在手机上崩溃,但在模拟器上可以正常运行

  4. 4

    应用程序在我的真机中崩溃,但在 Android 模拟器上运行良好

  5. 5

    为什么我的客户手机上显示文字装饰,而我的手机或浏览器中却没有显示?

  6. 6

    应用程序在设备上崩溃,但在模拟器中没有崩溃,原因是:[UITableViewController loadView]加载了“ XXXViewController”笔尖,但未获得UITableView。

  7. 7

    为什么UITableView中的空白单元格在设备上具有灰色背景,但在模拟器上却没有?

  8. 8

    Android Studio:在手机上调试应用程序时图像不会显示,但在模拟器上会显示

  9. 9

    模拟器在UIImageView中显示我的图像,但在我的真实iPhone上却没有

  10. 10

    模拟器在UIImageView中显示我的图像,但在我的真实iPhone上却没有

  11. 11

    Android应用程序可在模拟器上运行,但无法安装在我的手机上

  12. 12

    为什么我的流星应用程序在firefox上却出现这些错误,而在其他浏览器上却没有?

  13. 13

    为什么我在手机上看不到已安装的android应用程序?

  14. 14

    安装后,我的android应用程序没有出现在手机上

  15. 15

    应用程序在iPad设备上崩溃,但在模拟器上工作

  16. 16

    iOS(Swift)-投射应用程序委托窗口的根视图控制器可在模拟器中运行,但在手机上加载应用程序时失败

  17. 17

    奇怪的 iOS 应用程序在模拟器上崩溃

  18. 18

    为什么在iOS Facebook权限确认屏幕上没有齿轮图标,而我的应用程序徽标却没有?

  19. 19

    Xcode-使用AWS Frameworks的应用程序可在模拟器上运行,但在设备上崩溃

  20. 20

    代号一个应用程序可在模拟器上运行,但在iPhone设备上反复崩溃

  21. 21

    Android Studio + AVD:应用程序在模拟器中崩溃,logcat为空

  22. 22

    Android应用程序在移动设备上单击button1时崩溃,但在模拟器中成功运行

  23. 23

    Android 应用程序在真实设备上安装后崩溃,但在模拟器中运行良好

  24. 24

    应用在iPhone上崩溃,但模拟器或iPad上没有崩溃?

  25. 25

    Android应用程序构建成功,但在模拟器中崩溃

  26. 26

    为什么我安装后无法打开应用程序并在手机上找到我的应用程序

  27. 27

    Android Studio:应用程序在我的智能手机上运行后崩溃

  28. 28

    为什么我的DIV没有显示在手机上?

  29. 29

    为什么我的应用程序在iPad上的显示与模拟器上的显示不同?

热门标签

归档