SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Czy identyfikator zasobu zmienia się przy każdym uruchomieniu aplikacji?

Jednym z rozwiązań byłoby przechowywanie obiektów do rysowania w strings.xml jako tablica ciągów, mniej więcej tak:

 <string-array name="location_flags">
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
</string-array>

Następnie wczytaj tę tablicę w kodzie aktywności :

TypedArray locationFlags=getResources().obtainTypedArray(R.array.location_flags);

Następnie stosując pętlę for, możesz uzyskać coś takiego do rysowania:

for(int i=0i<locationFlags.length();i++)
 {

   Drawable drawable = locationFlags.getResourceId(i, -1);
 }

Pamiętaj, aby odświeżyć tablicę TypedArray po jej użyciu, ponieważ jest to zasób współdzielony:

 locationFlags.recycle();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IllegalStateException:baza danych już zamknięta (przy użyciu ViewPager)

  2. Uruchamianie Total-Order By Date w SQLite

  3. Brak takiego wyjątku w kolumnie sqlite

  4. Jak działa SQLite Ltrim()

  5. Utwórz nową tabelę w istniejącej bazie danych w oddzielnej klasie SQLiteOpenHelper