Proste kursory
669
jesteś tutaj
Pobieramy wartości z kolumn NAME, DESCRIPTION oraz IMAGE_RESOURCE_ID.
Dotychczasowy kod aktywności DrinkActivity
Chcemy zmienić metodę
onCreate()
w pliku DrinkActivity.java tak, by aktywność
DrinkActivity
pobierała informacje o napojach z bazy danych aplikacji Coffeina,
a nie z klasy
Drink
. Poniżej przedstawiliśmy dotychczasową postać kodu tej aktywności
(sugerujemy, żebyś, zanim zaczniesz aktualizować swoją wersję pliku
DrinkActivity.java,
poczekał, aż przedstawimy jej
pełny kod — czyli jeszcze kilka stron):
package com.hfad.starbuzz;
...
public class DrinkActivity extends Activity {
public static final String EXTRA_DRINKID = ”drinkId”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drink);
// Pobieramy identyfikator napoju z intencji.
int drinkId = (Integer)getIntent().getExtras().get(EXTRA_DRINKID);
Drink drink = Drink.drinks[drinkId];
// Tworzymy kursor.
SQLiteOpenHelper starbuzzDatabaseHelper = new StarbuzzDatabaseHelper(this);
try {
SQLiteDatabase db = starbuzzDatabaseHelper.getReadableDatabase();
Cursor cursor = db.query (“DRINK”,
new String[] {“NAME”, “DESCRIPTION”,
“IMAGE_RESOURCE_ID”},
“_id = ?”,
new String[] {Integer.toString(drinkId)},
null, null, null);
} catch(SQLiteException e) {
Toast toast = Toast.makeText(this, “Baza danych jest niedostępna”,
Toast.LENGTH_SHORT);
toast.show();
}
...
}
}
Skoro już utworzyliśmy kursor, kolejną rzeczą którą musimy zrobić jest
pobranie z niego nazwy, opisu oraz identyfikatora zasobu graficznego użyjemy
ich później do zaktualizowania widoków aktywności
DrinkActivity
.
app/src/main
DrinkActivity.java
Coffeina
java
com.hfad.coffeina
Pobieramy referencję
do bazy danych.
Tworzymy kursor, który
pobierze nazwę, opis
oraz identyfikator zasobu
graficznego napoju wybranego
przez użytkownika.
Nowy kod dodamy do metody onCreate().
W razie zgłoszenia wyjątku SQLiteException
wyświetlamy komunikat Toast.
Jest więcej kodu,
którego jeszcze nie
zmieniliśmy, jednak
na razie nie musisz
zaprzątać sobie nim
głowy.
Nasz dotychczasowy kod korzysta
z klasy Activity, jednak gdybyśmy chcieli,
moglibyśmy go zmienić i zastosować
w nim klasę AppCompatActivity.
Informacji o napojach nie
pobieramy już z klasy Drink.
¨
Referencja do bazy danych
¨
Utworzenie kursora
¨
Przejście do rekordu
¨
Wyświetlenie napoju
Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.