Android 打开跟踪文件时发生sqlite错误

Android 打开跟踪文件时发生sqlite错误,android,sqlite,Android,Sqlite,当谈到android编程时,我是一个傻瓜,我特别难以理解SQLite。当我运行我的应用程序时,它可以正常加载,但会出现错误“打开跟踪文件时出错:没有这样的文件或目录(2)”。然后,当我单击我的按钮,该按钮应将字符串awesome插入我的数据库,然后在文本视图中返回该字符串时,出现这些错误,应用程序崩溃: 03-15 17:35:01.523:E/Trace(794):打开跟踪文件时出错:没有这样的文件或目录(2) 03-15 17:35:02.223:D/gralloc_金鱼(794):未检测到

当谈到android编程时,我是一个傻瓜,我特别难以理解SQLite。当我运行我的应用程序时,它可以正常加载,但会出现错误“打开跟踪文件时出错:没有这样的文件或目录(2)”。然后,当我单击我的按钮,该按钮应将字符串awesome插入我的数据库,然后在文本视图中返回该字符串时,出现这些错误,应用程序崩溃:

03-15 17:35:01.523:E/Trace(794):打开跟踪文件时出错:没有这样的文件或目录(2)
03-15 17:35:02.223:D/gralloc_金鱼(794):未检测到GPU仿真的仿真器。
03-15 17:37:48.623:E/SQLiteLog(794):(1)没有这样的列:\u id
03-15 17:37:48.623:D/AndroidRuntime(794):关闭虚拟机
03-15 17:37:48.623:W/dalvikvm(794):threadid=1:线程以未捕获异常退出(组=0x40a13300)
03-15 17:37:48.673:E/AndroidRuntime(794):致命异常:main
03-15 17:37:48.673:E/AndroidRuntime(794):java.lang.IllegalStateException:无法执行活动的方法
03-15 17:37:48.673:E/AndroidRuntime(794):在android.view.view$1.onClick(view.java:3591)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.view.view.performClick(view.java:4084)上
03-15 17:37:48.673:E/AndroidRuntime(794):在android.view.view$PerformClick.run(view.java:16966)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.os.Handler.handleCallback(Handler.java:615)上
03-15 17:37:48.673:E/AndroidRuntime(794):在android.os.Handler.dispatchMessage(Handler.java:92)上
03-15 17:37:48.673:E/AndroidRuntime(794):在android.os.Looper.loop(Looper.java:137)
03-15 17:37:48.673:E/AndroidRuntime(794):位于android.app.ActivityThread.main(ActivityThread.java:4745)
03-15 17:37:48.673:E/AndroidRuntime(794):位于java.lang.reflect.Method.Invokenactive(本机方法)
03-15 17:37:48.673:E/AndroidRuntime(794):位于java.lang.reflect.Method.invoke(Method.java:511)
03-15 17:37:48.673:E/AndroidRuntime(794):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-15 17:37:48.673:E/AndroidRuntime(794):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-15 17:37:48.673:E/AndroidRuntime(794):在dalvik.system.NativeStart.main(本机方法)
03-15 17:37:48.673:E/AndroidRuntime(794):由以下原因引起:java.lang.reflect.InvocationTargetException
03-15 17:37:48.673:E/AndroidRuntime(794):位于java.lang.reflect.Method.Invokenactive(本机方法)
03-15 17:37:48.673:E/AndroidRuntime(794):位于java.lang.reflect.Method.invoke(Method.java:511)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.view.view$1.onClick(view.java:3586)
03-15 17:37:48.673:E/AndroidRuntime(794):。。。还有11个
03-15 17:37:48.673:E/AndroidRuntime(794):原因:android.database.sqlite.SQLiteException:没有这样的列:_id(代码1):,编译时:选择_id,exampletable中的内容,其中_id=4
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
03-15 17:37:48.673:E/AndroidRuntime(794):位于android.database.sqlite.SQLiteQuery。(SQLiteQuery.java:37)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
03-15 17:37:48.673:E/AndroidRuntime(794):在android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
03-15 17:37:48.673:E/AndroidRuntime(794):位于android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1161)
03-15 17:37:48.673:E/AndroidRuntime(794):位于android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1032)
03-15 17:37:48.673:E/AndroidRuntime(794):位于android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1238)
03-15 17:37:48.673:E/AndroidRuntime(794):在com.example.sqlite.MainActivity.insertButton(MainActivity.java:38)上
03-15 17:37:48.673:E/AndroidRuntime(794):。。。14多
My MainActivity.java:

package com.example.sqlite;
导入android.app.Activity;
导入android.content.ContentValues;
导入android.database.Cursor;
导入android.database.sqlite.SQLiteDatabase;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.view;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
DBHelper DBHelper=新的DBHelper(this);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
公共void插入按钮(视图){
SQLiteDatabase db=dbhelper.getWritableDatabase();
ContentValues=新的ContentValues();
价值观。投入(“内容”,“很棒”);
long newRowId=db.insert(“exampletable”,null,value);
字符串[]投影={u id”,“content};
游标c=db.query(“exampletable”,projection,”\u id=“+newRowId,null,null,null,null);
c、 moveToFirst();
字符串内容=c.getString(c.getColumnIndex(“内容”);
TextView TextView=(TextView)findViewById(R.id.textView1);
textView.setText(内容);
}
}
My DBHelper.java:

package com.example.sqlite;
导入android.content.Context;
导入android.database.sqlite.SQLiteDatabase;
导入android.database.sqlite.SQLi
@Override
public void onUpgrade(SQLiteDatabase database) {
    database.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(database);
}