2013-05-16 4 views
0

Может кто-нибудь научить меня, как извлекать данные из базы данных SQLite и размещать всю информацию, собранную из базы данных, в Spinner. Например, у меня есть tblState в моем db, и мне нужно получить все State_name из базы данных и вынести его на счетчик. Как я это сделаю? Благодаря!Вставка данных из базы данных в spinner в android

ответ

0

Ниже приведен пример Android с sqlite. Это очень полезно для новичков. Пример содержит ListActivity вместо Spinner. Просто изучите пример правильно, и вы можете вносить изменения в соответствии с вашими требованиями.

public class CRUDonDB extends ListActivity { 

    private final String SAMPLE_DB_NAME = "myFriendsDb"; 
    private final String SAMPLE_TABLE_NAME = "friends"; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     ArrayList<String> results = new ArrayList<String>(); 
     SQLiteDatabase sampleDB = null; 

     try { 
      sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null); 

      sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " + 
        SAMPLE_TABLE_NAME + 
        " (LastName VARCHAR, FirstName VARCHAR," + 
        " Country VARCHAR, Age INT(3));"); 

      sampleDB.execSQL("INSERT INTO " + 
        SAMPLE_TABLE_NAME + 
        " Values ('Makam','Sai Geetha','India',25);"); 
      sampleDB.execSQL("INSERT INTO " + 
        SAMPLE_TABLE_NAME + 
        " Values ('Chittur','Raman','India',25);"); 
      sampleDB.execSQL("INSERT INTO " + 
        SAMPLE_TABLE_NAME + 
        " Values ('Solutions','Collabera','India',20);"); 

      Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM " + 
        SAMPLE_TABLE_NAME + 
        " where Age > 10 LIMIT 5", null); 

      if (c != null) { 
       if (c.moveToFirst()) { 
        do { 
         String firstName = c.getString(c.getColumnIndex("FirstName")); 
         int age = c.getInt(c.getColumnIndex("Age")); 
         results.add("" + firstName + ",Age: " + age); 
        }while (c.moveToNext()); 
       } 
      } 

      this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results)); 

     } catch (SQLiteException se) { 
      Log.e(getClass().getSimpleName(), "Could not create or Open the database"); 
     } finally { 
      if (sampleDB != null) 
       sampleDB.execSQL("DELETE FROM " + SAMPLE_TABLE_NAME); 
       sampleDB.close(); 
     } 
    } 
} 

Также взгляните на это Spinner Example.

+0

Пожалуйста, не делайте операций с файлами в основном потоке. –

+0

@ MaciejGórski, Да согласен, но, как я уже сказал, это пример самого новичка. – Lucifer

Смежные вопросы