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 .
Download Code
Lets See An ExampleDatabase 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); }}
0 0
- Android Loading SQLite Data Into SpinnerView
- ORACLE_基础十五--Loading Data into a Database
- Loading data for Android 5.0
- Android -- (9),SpinnerView ,特殊的fragment等
- org.apache.sqoop.hive.HiveImport - Loading uploaded data into Hive Intercepting System.exit(1)
- Android loading data for android 5.0 出错的解决方法
- 5.0 导入错误 出现"Loading data for Android 5.0"
- How to parse / read JSON data into a Android ListView
- sqlite replace into
- Error loading feed data
- "Loading data for Android 5.0" has encountered a problem. Parsing Data for android-21 failed uns
- ‘Loading data for Android N(Preview)' has encountered a problem. Parsing Data for android-N failed
- insert into data.mdb
- insert into data.mdb
- Embedding data into JPEG
- sqlite "replace into"的用法
- sqlite "replace into"的用法
- android Sqlite insert command after,data is empty
- Android横屏竖屏切换的问题
- 解决plsql连接oracle服务器(云服务器)自动断开问题
- 记第一次知网爬虫实践
- Spring AOP介绍
- 使用bootstrapvalidator的remote验证经验
- Android Loading SQLite Data Into SpinnerView
- Shell部分2
- IIS添加mime类型
- verilog练习
- ViewHolder为什么是被设计成static类型的
- noip2016普及组复赛总结
- c语言照样解决脑筋急转弯
- 在图像上画线(给出任意两个点)c代码实现
- 最详细的Log4j使用教程