Lets See An Example
Database Setup
file : DBhelper.javapackage com.pavan.sqlitespinnerdemo;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBhelper extends SQLiteOpenHelper {
// TABLE INFORMATTION
public static final String TABLE_MEMBER = "member"; public static final String MEMBER_ID = "_id"; public static final String MEMBER_NAME = "name"; // DATABASE INFORMATION
static final String DB_NAME = "MEMBER.DB"; static final int DB_VERSION = 1; // TABLE CREATION STATEMENT
private static final String CREATE_TABLE = "create table " + TABLE_MEMBER
+ "(" + MEMBER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ MEMBER_NAME + " TEXT NOT NULL);"; public DBhelper(Context context) { super(context, DB_NAME, null, DB_VERSION);
} @Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + TABLE_MEMBER);
onCreate(db);
}
}
file : SQLController.java package com.pavan.sqlitespinnerdemo;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;public class SQLController {
private DBhelper dbhelper; private Context ourcontext; private SQLiteDatabase database; public SQLController(Context c) {
ourcontext = c;
} public SQLController open() throws SQLException {
dbhelper = new DBhelper(ourcontext);
database = dbhelper.getWritableDatabase(); return this;
} public void close() {
dbhelper.close();
} public void insertData(String name) {
ContentValues cv = new ContentValues();
cv.put(DBhelper.MEMBER_NAME, name);
database.insert(DBhelper.TABLE_MEMBER, null, cv);
} public Cursor readData() {
String[] allColumns = new String[] { DBhelper.MEMBER_ID,
DBhelper.MEMBER_NAME };
Cursor c = database.query(DBhelper.TABLE_MEMBER, allColumns, null, null, null, null, null); if (c != null) {
c.moveToFirst();
} return c;
}
}
XML Layout
file : activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="30dp" > <EditText android:id="@+id/et_id" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/addbtn_id" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Add Member" /> <Spinner android:id="@+id/spinner_id" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>file : spinner_item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5dp" android:textColor="#000000" android:textSize="20dp" /></LinearLayout>
Activity
file : MainActivity.javapackage com.pavan.sqlitespinnerdemo;import java.util.ArrayList;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;public class MainActivity extends Activity {
Button AddBtn;
EditText et;
Spinner spn;
SQLController SQLcon; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AddBtn = (Button) findViewById(R.id.addbtn_id);
et = (EditText) findViewById(R.id.et_id);
spn = (Spinner) findViewById(R.id.spinner_id);
SQLcon = new SQLController(this); // opening database
SQLcon.open();
loadtospinner();
AddBtn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
String name = et.getText().toString(); // opening database
SQLcon.open(); // insert data into table
SQLcon.insertData(name); // load sqlite table data into spinnerview
loadtospinner(); // closing database
SQLcon.close();
}
});
} public void loadtospinner() {
Cursor c = SQLcon.readData();
ArrayList<String> al = new ArrayList<String>();
c.moveToFirst(); while (!c.isAfterLast()) {
String name = c.getString(c.getColumnIndex(DBhelper.MEMBER_NAME));
al.add(name);
c.moveToNext();
}
ArrayAdapter<String> aa1 = new ArrayAdapter<String>(
getApplicationContext(), R.layout.spinner_item, R.id.textView1,
al);
spn.setAdapter(aa1);
}
}