別のクラスから作成されたデータベースからアイテムをリストしようとしています。 しかし、オブジェクトを再度作成せずにアクセスする方法はわかりません。ここでのコードは次のとおりです。他のクラス(Android/JAVA)から作成されたアクセスデータベース
AddItemActivity:
public class AddItemActivity extends AppCompatActivity {
MyDBHandler dbHandler;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_item);
dbHandler = new MyDBHandler(this, null, null, 1);
}
public void insertButtonClick(View view) {
Item item = new Item(...);
dbHandler.addItems(item);
}
MyDBHandler:
Public class MyDBHandler extends SQLiteOpenHelper{
...
public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}
public void addItems(Item item) {
ContentValues values = new ContentValues();
SQLiteDatabase db = getWritableDatabase();
// INSERT ITEMS
values.put(COLUMN_ITEM, item.getName());
...
db.close();
}
public String printDatabase() {
String dbString = "";
SQLiteDatabase db = getReadableDatabase();
String printQuery = "SELECT * FROM " + TABLE_NAME + " WHERE 1";
Cursor cursor = db.rawQuery(printQuery, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
dbString += "Item: " + cursor.getString(cursor.getColumnIndex(COLUMN_ITEM)) +
" \t Amount: " + cursor.getString(cursor.getColumnIndex(COLUMN_AMOUNT)) +
" \t Price: " + cursor.getString(cursor.getColumnIndex(COLUMN_PRICE));
cursor.moveToNext();
}
cursor.close();
db.close();
return dbString;
}
は今、私は別の活動のすべての項目をリストしたいが、私はdbHandlerにアクセスする方法がわかりませんで作成されました。AddItemActivity
public class ListItemActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_data_base);
}
public void printDatabase() {
String dbString = ****.printDataBase();
databaseTextView.setText(dbString);
}
THX!今すぐ働きます:D – Aye