Android Loading SQLite Data Into SpinnerView

来源:互联网 发布:手机版 淘宝 人工客服 编辑:程序博客网 时间:2024/05/29 09:28
In the previous tutorial we have discussed about CRUD Opertaions in , in this tutorial we shall see how to insert the data into sqlite database and load this data to android UI Component . 

Android SQLite SpinnerView

Download Code

Lets See An Example 
Project Detail
Project NameSqliteSpinnerDemoPackagecom.pavan.sqlitespinnerdemoMinimum SDKAPI 8Target SDKAPI 17ThemeHolo Light with Dark Action Bar

Database Setup

file : DBhelper.java 
package 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.java 
package 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); }}


0 0