ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:286.04KB ,
资源ID:6344066      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6344066.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android数据库SQLite的简单示例.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Android数据库SQLite的简单示例.docx

1、Android数据库SQLite的简单示例Android数据库SQLite的使用示例Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences存储;第三种就是数据库SQLiteDatabase存储。文件存储我就不用多说了,而SharedPreferences可以存取简单的数据(int,double,float.etc),它经常用于数据缓存,因为它读取存储简单。详细可以参见本系列。Android高手进阶教程(七)之-Android 中Preferences的使用! 今天我们将讲一下SQLiteDatabase的使用。而掌握SqliteDatabase,将

2、会我们接下来掌握ContentProvider打下良好的基石。为了让大家更好的掌握,我们手把手完成该节的Demo。 第一步:新建一个Android工程,命名为SQLiteDatabaseDemo. 第二步:创建一个新的类BooksDB.java这个类要继承于android.database.sqlite.SQLiteOpenHelper抽象类,我们要实现其中两个方法:onCreate(),onUpdate.具体代码如下: 01package com.android.tutor; 02import android.content.ContentValues; 03import android.c

3、ontent.Context; 04import android.database.Cursor; 05import android.database.sqlite.SQLiteDatabase; 06import android.database.sqlite.SQLiteOpenHelper; 07public class BooksDB extends SQLiteOpenHelper 08private final static String DATABASE_NAME = BOOKS.db; 09private final static int DATABASE_VERSION =

4、1; 10private final static String TABLE_NAME = books_table; 11public final static String BOOK_ID = book_id; 12public final static String BOOK_NAME = book_name; 13public final static String BOOK_AUTHOR = book_author; 1415public BooksDB(Context context) 16/ TODO Auto-generated constructor stub 17super(

5、context, DATABASE_NAME, null, DATABASE_VERSION); 18 19/创建table 20Override21public void onCreate(SQLiteDatabase db) 22String sql = CREATE TABLE + TABLE_NAME + ( + BOOK_ID 23+ INTEGER primary key autoincrement, + BOOK_NAME + text, + BOOK_AUTHOR + text); 24db.execSQL(sql); 25 26Override27public void on

6、Upgrade(SQLiteDatabase db, int oldVersion, int newVersion) 28String sql = DROP TABLE IF EXISTS + TABLE_NAME; 29db.execSQL(sql); 30onCreate(db); 31 3233public Cursor select() 34SQLiteDatabase db = this.getReadableDatabase(); 35Cursor cursor = db 36.query(TABLE_NAME, null, null, null, null, null, null

7、); 37return cursor; 38 39/增加操作 40public long insert(String bookname,String author) 41 42SQLiteDatabase db = this.getWritableDatabase(); 43/* ContentValues */44ContentValues cv = new ContentValues(); 45cv.put(BOOK_NAME, bookname); 46cv.put(BOOK_AUTHOR, author); 47long row = db.insert(TABLE_NAME, null

8、, cv); 48return row; 49 50/删除操作 51public void delete(int id) 52 53SQLiteDatabase db = this.getWritableDatabase(); 54String where = BOOK_ID + = ?; 55String whereValue = Integer.toString(id) ; 56db.delete(TABLE_NAME, where, whereValue); 57 58/修改操作 59public void update(int id, String bookname,String au

9、thor) 60 61SQLiteDatabase db = this.getWritableDatabase(); 62String where = BOOK_ID + = ?; 63String whereValue = Integer.toString(id) ; 6465ContentValues cv = new ContentValues(); 66cv.put(BOOK_NAME, bookname); 67cv.put(BOOK_AUTHOR, author); 68db.update(TABLE_NAME, cv, where, whereValue); 69 70第三步:修

10、改main.xml布局如下,由两个EditText和一个ListView组成,代码如下: 01 02 08 14 15 20 21 27 28第四步:修改SQLiteDatabaseDemo.java代码如下: 001package com.android.tutor; 002import android.app.Activity; 003import android.content.Context; 004import android.database.Cursor; 005import android.os.Bundle; 006import android.view.Menu; 007i

11、mport android.view.MenuItem; 008import android.view.View; 009import android.view.ViewGroup; 010import android.widget.AdapterView; 011import android.widget.BaseAdapter; 012import android.widget.EditText; 013import android.widget.ListView; 014import android.widget.TextView; 015import android.widget.To

12、ast; 016public class SQLiteDatabaseDemo extends Activity implements AdapterView.OnItemClickListener 017private BooksDB mBooksDB; 018private Cursor mCursor; 019private EditText BookName; 020private EditText BookAuthor; 021private ListView BooksList; 022023private int BOOK_ID = 0; 024protected final s

13、tatic int MENU_ADD = Menu.FIRST; 025protected final static int MENU_DELETE = Menu.FIRST + 1; 026protected final static int MENU_UPDATE = Menu.FIRST + 2; 027028public void onCreate(Bundle savedInstanceState) 029super.onCreate(savedInstanceState); 030setContentView(R.layout.main); 031setUpViews(); 032

14、 033034public void setUpViews() 035mBooksDB = new BooksDB(this); 036mCursor = mBooksDB.select(); 037038BookName = (EditText)findViewById(R.id.bookname); 039BookAuthor = (EditText)findViewById(R.id.author); 040BooksList = (ListView)findViewById(R.id.bookslist); 041042BooksList.setAdapter(new BooksLis

15、tAdapter(this, mCursor); 043BooksList.setOnItemClickListener(this); 044 045046Override047public boolean onCreateOptionsMenu(Menu menu) 048super.onCreateOptionsMenu(menu); 049050menu.add(Menu.NONE, MENU_ADD, 0, ADD); 051menu.add(Menu.NONE, MENU_DELETE, 0, DELETE); 052menu.add(Menu.NONE, MENU_DELETE,

16、0, UPDATE); 053return true; 054 055056public boolean onOptionsItemSelected(MenuItem item) 057 058super.onOptionsItemSelected(item); 059switch (item.getItemId() 060 061case MENU_ADD: 062add(); 063break; 064case MENU_DELETE: 065delete(); 066break; 067case MENU_UPDATE: 068update(); 069break; 070 071ret

17、urn true; 072 073074public void add() 075String bookname = BookName.getText().toString(); 076String author = BookAuthor.getText().toString(); 077/书名和作者都不能为空,或者退出 078if (bookname.equals() | author.equals() 079return; 080 081mBooksDB.insert(bookname, author); 082mCursor.requery(); 083BooksList.invalid

18、ateViews(); 084BookName.setText(); 085BookAuthor.setText(); 086Toast.makeText(this, Add Successed!, Toast.LENGTH_SHORT).show(); 087 088089public void delete() 090if (BOOK_ID = 0) 091return; 092 093mBooksDB.delete(BOOK_ID); 094mCursor.requery(); 095BooksList.invalidateViews(); 096BookName.setText();

19、097BookAuthor.setText(); 098Toast.makeText(this, Delete Successed!, Toast.LENGTH_SHORT).show(); 099 100101public void update() 102String bookname = BookName.getText().toString(); 103String author = BookAuthor.getText().toString(); 104/书名和作者都不能为空,或者退出 105if (bookname.equals() | author.equals() 106ret

20、urn; 107 108mBooksDB.update(BOOK_ID, bookname, author); 109mCursor.requery(); 110BooksList.invalidateViews(); 111BookName.setText(); 112BookAuthor.setText(); 113Toast.makeText(this, Update Successed!, Toast.LENGTH_SHORT).show(); 114 115116Override117public void onItemClick(AdapterView parent, View v

21、iew, int position, long id) 118119mCursor.moveToPosition(position); 120BOOK_ID = mCursor.getInt(0); 121BookName.setText(mCursor.getString(1); 122BookAuthor.setText(mCursor.getString(2); 123124 125126public class BooksListAdapter extends BaseAdapter 127private Context mContext; 128private Cursor mCur

22、sor; 129public BooksListAdapter(Context context,Cursor cursor) 130131mContext = context; 132mCursor = cursor; 133 134Override135public int getCount() 136return mCursor.getCount(); 137 138Override139public Object getItem(int position) 140return null; 141 142Override143public long getItemId(int positi

23、on) 144return 0; 145 146Override147public View getView(int position, View convertView, ViewGroup parent) 148TextView mTextView = new TextView(mContext); 149mCursor.moveToPosition(position); 150mTextView.setText(mCursor.getString(1) + _ + mCursor.getString(2); 151return mTextView; 152 153154 155第五步:运行程序效果如下: 第六步:查看我们所建的数据库。有两种方法:第一种用命令查看:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2