データベースには、フィールド 'ID'、 '名前'、 'ISSN'、 'IMPACTFACTOR'の1つのテーブルがあります。 UIには、手動でデータを追加するためのADDボタン、すべてのデータを表示するLISTボタン、検索ボタンがあり、名前を入力して検索することができます。私はテキストフィールドに名前を入力し、検索を入力すると、AlertDialogボックスなしの結果と私はlogcatの出力を取得します。名前で検索するため[email protected]AlertDialogが単一のデータを取り出す際にデータを表示しない
コードを
public class NameSearch extends Activity {
DatabaseHelper myDb;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.name_activity);
myDb = new DatabaseHelper(this);
}
public void onNameSearch(View view) {
Intent i = new Intent(this, SearchResult.class);
final EditText name = (EditText) findViewById(R.id.nameInput);
String nameSearch = name.getText().toString();
Cursor cursor = myDb.getNameSearchData(nameSearch);
//to see what values does cursor get
String valueReturned = cursor.toString();
Log.d("ADebugTag", "Value: " + valueReturned);
if (cursor != null && cursor.getCount() > 0) {
Toast.makeText(this, "Nothing Found", Toast.LENGTH_LONG).show();
return;
}
StringBuffer buffer = new StringBuffer();
while(cursor.moveToNext()){
buffer.append("ID:" + cursor.getString(0)+ "\n");
buffer.append("NAME:").append(cursor.getString(1)).append("\n");
buffer.append("ISSN:" + cursor.getString(2)+ "\n");
buffer.append("IMPACTfACTOR:").append(cursor.getString(3)).append("\n\n");
}
//i.putExtra("newMessage", finalValue);
showMessage("Data Found", buffer.toString());
// startActivity(i);
}
public void showMessage(String title , String Message){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(Message);
builder.show();
}
}
コードDataBaseHelper用
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "journal.db";
public static final String TABLE_NAME = "journal";
public static final String COL_1 = "ID";
public static final String COL_2 = "NAME";
public static final String COL_3 = "ISSN";
public static final String COL_4 = "IMPACTFACTOR";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(" CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT , NAME TEXT , ISSN TEXT , IMPACTFACTOR REAL) ");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(sqLiteDatabase);
}
public boolean insertData(String name, String issn , String impactfactor){
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,name);
contentValues.put(COL_3,issn);
contentValues.put(COL_4,impactfactor);
long result = sqLiteDatabase.insert(TABLE_NAME, null, contentValues);
return result != -1;
}
public Cursor getAllData(){
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
return sqLiteDatabase.rawQuery("SELECT * FROM " + TABLE_NAME, null);
}
public Cursor getNameSearchData(String name){
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor res1 = sqLiteDatabase.rawQuery("SELECT * FROM "+ TABLE_NAME +" WHERE NAME = '"+ name +"'",null);
//to get the result of res1
String valueReturned = res1.toString();
Log.d("ADebugTag", "Value: " + valueReturned);
return res1;
}
}
ソリューションを提供してください
1.MobileScreenshot 2.LogcatTrace
完全なログトレースを表示してください! –