編集済み;
私のアプリケーションはAndroidエミュレーターで正常に動作します。これで、PCとandroid-x86VMでAndroidアプリを実行するためのクライアントである「Bluestacks」に.apkをインストールしました。ボタンを押して次のアクティビティに進むと、クラッシュまたは再起動の両方が発生します。
メインアクティビティのみにインストール済みアイコンが表示されていることを確認した後、アプリケーションを起動し、次のアクティビティへのインテントにリンクされたボタンを押すとすぐに、メインアクティビティがbluestacksで再起動し、VMでクラッシュエラーが発生します。
この動作は、Androidエミュレーターでは表示されません。これの理由は何でしょうか?
AndroidManifest:
....
<application
android:name="MainApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".activities.MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activities.NewAuditActivity"
android:label="@string/title_activity_index" >
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
....
主な活動では、これを行います。
public void viewNewAudits(View view) {
Intent intent = new Intent(this, NewAuditActivity.class);
TextView auditorView = (TextView) findViewById(R.id.MainViewAuditor);
intent.putExtra("auditor", auditorView.getText());
startActivity(intent);
}
xmlビューでクリックされたボタンは、onclick:"viewNewAudits"メソッドを正しく呼び出します。
アプリケーションが次のアクティビティに進まない理由は何でしょうか?androidエミュレーターがアプリを実行しているため、クラッシュの原因となる可能性のあるエラー/例外を見つけることができません。
編集:
VBox VMでログを検索したところ、adblogcatコマンドを試してみました。VMからいくつかのログを見つけましたが、SQLite例外が発生します。2番目のアクティビティで、DBとquerymanagerのインスタンス化を開始するため、これは理にかなっています。ただし、奇妙なことに、sqliteexceptionは構文エラーです。SQLite構文が別のエミュレーターで異なる方法はありますか?logcatログの短い部分:
I/ActivityManager( 2039): Starting activity: Intent { cmp=..../.activ
ities.NewAuditActivity (has extras) }
I/Database( 2797): sqlite returned: error code = 1, msg = near ",": syntax error
D/AndroidRuntime( 2797): Shutting down VM
W/dalvikvm( 2797): threadid=1: thread exiting with uncaught exception (group=0xb
5891290)
E/AndroidRuntime( 2797): FATAL EXCEPTION: main
E/AndroidRuntime( 2797): java.lang.RuntimeException: Unable to start activity Co
mponentInfo{.....activities.NewAuditActivity}: androi
d.database.sqlite.SQLiteException: near ",": syntax error: , while compiling: IN
SERT INTO Criteria (auditTemplateId, code, requirement, MOE, description) VALUES
('145', '.A.25(a)', 'Facility, size and segregation', '1.8-2.7 exhibit 5-2.3', ...... *more of the same inserts with a lot of comma's