我正在我的应用程序中实现应用程序快捷方式。当我尝试打开我的快捷方式时,它打开正常但在搜索功能期间它崩溃了 崩溃报告显示了一个SQLiteexception,因为我从数据库中获取数据 所以我的问题是应用程序快捷方式应该与其他文件无关吗?
array
通过应用程序打开时它可以正常工作
我创建应用快捷方式的代码是
01-28 15:25:51.784 12166-12166/ E/AndroidRuntime: FATAL EXCEPTION: main
Process: , PID: 12166
android.database.sqlite.SQLiteException: no such table: temp (code 1): , while compiling: SELECT empID, name, firstName, lastName, email, mobile, designation, location, extension FROM temp WHERE name LIKE ?
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1318)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1165)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1036)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1204)
at com.thbs.database.EmployeeDbAdapter.search(EmployeeDbAdapter.java:194)
at com.thbs.activity.SearchActivity$3.onTextChanged(SearchActivity.java:306)
at android.widget.TextView.sendOnTextChanged(TextView.java:8187)
at android.widget.TextView.handleTextChanged(TextView.java:8249)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:10371)
at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1208)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:578)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:509)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:508)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:844)
at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:198)
at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:183)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:353)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:93)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
答案 0 :(得分:0)
最有可能的是,您的问题与应用程序快捷方式无关。在实验中,将<intent-filter>
/ MAIN
的{{1}}添加到LAUNCHER
,以便您的应用现在有两个启动器图标。直接从主屏幕启动SearchActivity
。最有可能的是,你会遇到同样的崩溃。
我的猜测是SearchActivity
- 也许是SearchActivity
- 假设用户总是经历您的启动器活动,以便您的数据库处于某种状态。情况并非总是如此。应用程序快捷方式不仅会导致此问题,而且其他方面也会如此。例如:
LeaveManagerActivity
此时,Android将创建SearchActivity
的实例并将用户发送到那里,因为用户最近才进行此任务。与您的应用快捷方式一样,用户可以在SearchActivity
中结束,而无需在当前流程的生命周期内访问启动器活动。
活动要么必须独立于所有其他活动,要么需要了解它们的依赖关系,并且能够应对何时不满足这些依赖关系(例如,将用户重定向回启动器活动)。