2012-07-23 69 views
0

應用程序意外停止。強制關閉。這個消息僅在點擊「更新」按鈕後出現一個意圖,對於另一個意圖應用程序工作正常。該應用程序需要兩個字符串輸入並將它們更新到數據庫並查看錶格。我的應用程序正在更新完美,但當我點擊查看它出現了錯誤信息。應用程序意外停止。單擊按鈕後會出現強制關閉

public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL("CREATE TABLE " + DATABASE_NAME + "(" + 
      KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
      KEY_NAME + " TEXT NOT NULL, " + 
      KEY_HOTNESS + " TEXT NOT NULL);" 

    ); 


} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    db.execSQL("DROP TABLE IF EXISTS " + DATABASE_NAME); 
    onCreate(db); 
} 

} 

public hotornot(Context c){ 
ourcontext = c; 
} 
public hotornot open(){ 
ourHelper = new DbHelper(ourcontext); 
ourDatabase = ourHelper.getWritableDatabase(); 
return this; 
} 
public void close(){ 
ourHelper.close(); 
} 
public Long createentry(String name, String hotness){ 
ContentValues cv= new ContentValues(); 
cv.put(KEY_NAME, name); 
cv.put(KEY_HOTNESS,hotness); 
return ourDatabase.insert(DATABASE_TABLE, null, cv); 
} 
    public String getdata() { 
// TODO Auto-generated method stub 
String[] columns = new String[] {KEY_ROWID, KEY_NAME, KEY_HOTNESS}; 
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null,  null); 
String result = ""; 
int irow = c.getColumnIndex(KEY_ROWID); 
int iname = c.getColumnIndex(KEY_NAME); 
int ihotness = c.getColumnIndex(KEY_HOTNESS); 
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) 
{ 
    result = result + c.getString(irow) + " " + c.getString(iname) + " " + c.getString(ihotness) + "\n"; 

} 
return result; 
} 
} 

以下是更新的清單文件:

07-24 17:31:05.134: ERROR/AndroidRuntime(203): Uncaught handler: thread main exiting  due to uncaught exception 
07-24 17:31:05.164: ERROR/AndroidRuntime(203): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=org.sqlite.SVIEW } 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.app.Activity.startActivityForResult(Activity.java:2749) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.app.Activity.startActivity(Activity.java:2855) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at org.sqlite.sqliteexample.onClick(sqliteexample.java:75) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.View.performClick(View.java:2364) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.View.onTouchEvent(View.java:4179) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.widget.TextView.onTouchEvent(TextView.java:6541) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.View.dispatchTouchEvent(View.java:3709) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.os.Handler.dispatchMessage(Handler.java:99) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.os.Looper.loop(Looper.java:123) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at java.lang.reflect.Method.invoke(Method.java:521) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
07-24 17:31:05.164: ERROR/AndroidRuntime(203):  at dalvik.system.NativeStart.main(Native Method) 

回答

0

你的異常堆棧顯示,誤差是由於表(peopletable)不存在。

你的代碼快速瀏覽顯示以下內容:

db.execSQL("CREATE TABLE " + DATABASE_NAME + "(" + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME + " TEXT NOT NULL, " + KEY_HOTNESS + " TEXT NOT NULL);"

該錯誤可能是由於你的代碼一個錯字。您在代碼中使用DATABASE_NAME而不是DATABASE_TABLE,因此您的表名與您的其他代碼所期望的名稱不同。

+0

我已經檢查過它。它仍然沒有工作。我已經更新了我的清單文件...看看.. – dan 2012-07-24 11:45:42

相關問題