2014-11-01 77 views
0

我有下面的代码运行良好,当我直接使用eclipse运行它。但是,当我将它导出为apk并安装它时,我无法启动它。它只是不断崩溃。安装android应用程序与eclipse工作,但与apk安装应用程序启动失败?

public class MyDatabase extends SQLiteOpenHelper{ 

    private static final String DB_NAME = "DB"; 
    SQLiteDatabase db; 

    /** CREATE TABLE SQL */ 
    private static final String CREATE_TABLE_SQL = "";/*Create table statement*/ 

    public MyDatabase(Context context) { 
     super(context, DB_NAME, null, 1); 
     db = getWritableDatabase(); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.beginTransaction(); 
     try { 
      db.execSQL(CREATE_TABLE_SQL); 
      Log.d("t", "database:"+DB_NAME+" created"); 
      db.setTransactionSuccessful(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
      db.endTransaction(); 
      db.close(); 
      super.close(); 
     } 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
    } 
} 

安装它与Eclipse和安装与apk之间有什么区别?

谢谢。

问候, 德克斯特

+0

您的create table sql statment在哪里?哪里是实际“创建数据库”的SQL? – 2014-11-01 11:24:02

+0

你应该使用你的logcat。并通过APK安装apk时分析它。通过使用“ADB LOGCAT”命令。 – 2014-11-01 11:25:19

+0

嗨,创建语句是绝对正确的,因为我创建数据库没有问题。我删除它,以便更容易阅读。我发现删除这一行 db = getWritableDatabase();和这一行:SQLiteDatabase db;修复了这个问题。这是为什么? – user3300845 2014-11-02 11:24:30

回答

0

问题 有什么用eclipse VS与安装APK安装的区别吧?

回答 安装通过eclipse与安装apk中的设备相同。

不同之处在于当你运行你的项目时,它会在模拟器中安装.apk文件。您可以看到.apk文件bin文件夹相同.apk被安装在模拟器中,并且您可以将该apk安装在您的设备中。

当U安装.apk文件设备,您的应用程序可能会崩溃对各地区就像..

1)由于兼容性。

2)由于屏幕分辨率。

3)由于不适合特定布局的大图像等。

相关问题