Androidスタジオが初めてです。私はコンタクトマネージャのモバイルアプリケーションを作成しています。連絡先は私のSQLiteデータベースに追加することができ、連絡先の正しい名前が表示されます。クリックすると、連絡先の名前が別のアクティビティに表示されます。私はputExtraメソッドを使用していましたが、動作しませんでした。これは、名前をクリックすると最初の活動のために私のコードです:クエリのAndroid database.sqlite.SQLiteException
lv_contactlist.setAdapter(aa_contacts);
lv_contactlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String Name = (lv_contactlist.getItemAtPosition(position).toString());
Intent intent = new Intent(MainActivity.this, FinalActivity.class);
intent.putExtra("Name",Name);
startActivity(intent);
}
});
第二の活動は、この名前を受け取り、完全な連絡先情報を表示する必要があります。
java.lang.RuntimeException: Unable to start activity android.database.sqlite.SQLiteException: near "contact": syntax error (code 1): , while compiling: SELECT * contact WHERE NAME = John
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(near "contact": syntax error (code 1): , while compiling: SELECT * contact WHERE NAME = John)
これが私のリストに表示されて、正確な名前は次のとおりです。
String Name = getIntent().getStringExtra("Name");
Cursor cursor = sdb.rawQuery("SELECT * contact WHERE NAME = " + Name, null);
name.setText("NAME: "+cursor.getString(0));
homephone.setText("HOME PHONE: "+cursor.getString(1));
mobilephone.setText("MOBILE PHONE: "+cursor.getString(2));
mobilephone.setText("EMAIL ADDRESS: "+cursor.getString(3));
デバッグ、私はエラーメッセージが表示されます:これは私のコードです。これにより、情報を第2のアクティビティに渡すputExtraメソッドまたは名前を受け取るgetStringExtraメソッドでなければならないと信じられました。おかげで、事前に
これは、間違っているのに役立ちます。 'sdb.rawQuery(" WHERE NAME =? "という新しいオブジェクト[] {名前}); – CommonsWare
@CommonsWare sir..iはそれを更新します – rafsanahmad007
ありがとう、@CommonsWareこれはまだエラーを与えています。 – Sandra123