- 浏览: 150911 次
- 性别:
- 来自: 茂名
文章分类
最新评论
-
stoneyulu:
很好,正需要要!用来在thread和activity之间传数 ...
在Activity中通过Bundle传递自定义数据类型 -
鱼在陆地上跑:
只能读取TXT格式的文件,而不能读取图片
读取Rescource和asset文件夹中的文件 -
myg_315:
我也在调查这个问题,谢谢!
Android程序的退出终于完美解决,兼容所有SDK -
jk138:
谢谢各位的评论,楼下的建议很好,值得大家注意了.
Android程序的退出终于完美解决,兼容所有SDK -
cyilinycc:
非常感谢你提供的这个方法,但我经过测试之后,发现这个方法存在弊 ...
Android程序的退出终于完美解决,兼容所有SDK
dbHelper.java
package com.terry; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.util.Log; public class dbHelper extends SQLiteOpenHelper { private final static String DATABASE_NAME="sec_db"; private final static int DATABASE_VERSION=1; private final static String TABLE_NAME="sec_pwd"; public final static String FIELD_ID="_id"; public final static String FIELD_TITLE="sec_Title"; public dbHelper(Context context) { /** * 通过构造函数来创建数据库,如果进入此函数,不存在此数据库则创建,如果存在此数据库则打开连接, * 只要进入此方法就可以用打开的连接获得getWritableDatabase()或getReadableDatabase()这两个方法。 */ super(context, DATABASE_NAME,null, DATABASE_VERSION); } /** * 一个数据库中可以包含多个表,每一条数据都存在指定的表中,要创建可以通过 execSQL 方法来执行一条 SQL 语句。 */ @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub //创建了表名为“sec_pwd” 的数据表,表内存在一个 integer 类型的主键和一个 text 类型的字段,并执行创建该表。 String sql="Create table "+TABLE_NAME+"("+FIELD_ID+" integer primary key autoincrement," +FIELD_TITLE+" text );"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub String sql=" DROP TABLE IF EXISTS "+TABLE_NAME; db.execSQL(sql); onCreate(db); } /** * 查询数据 * @return */ public Cursor select() { SQLiteDatabase db=this.getReadableDatabase(); Cursor cursor=db.query(TABLE_NAME, null, null, null, null, null, " _id desc"); return cursor; } /** * 添加数据 * @param Title * @return */ public long insert(String Title) { /** * 封装了一个使用SQLite 的 insert 方法,向表中添加数据,但是insert 方法要求把数据都打包到 ContentValues 中, * ContentValue 其实可就是一个 HashTable,Key值是字段名称,Value 值是字段的值。 * 通过 ContentValues 的put 方法就可以把数据库放到 ContentValue 对象中,然后插入到表中去。 */ SQLiteDatabase db=this.getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put(FIELD_TITLE, Title); long row=db.insert(TABLE_NAME, null, cv); return row; } /** * 删除数据 * @param id */ public void delete(int id) { SQLiteDatabase db=this.getWritableDatabase(); String where=FIELD_ID+"=?"; String[] whereValue={Integer.toString(id)}; db.delete(TABLE_NAME, where, whereValue); } /** * 修改数据 * @param id * @param Title */ public void update(int id,String Title) { SQLiteDatabase db=this.getWritableDatabase(); String where=FIELD_ID+"=?"; String[] whereValue={Integer.toString(id)}; ContentValues cv=new ContentValues(); cv.put(FIELD_TITLE, Title); db.update(TABLE_NAME, cv, where, whereValue); } }
这里用到了Menu做功能按钮,实例代码如下:
package com.terry;
import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteCursor; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.EditText; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; public class testDbActivity extends Activity { private dbHelper db; private Cursor myCursor; private ListView myListView; private EditText myEditText; private int _id; protected final static int MENU_ADD=Menu.FIRST; protected final static int MENU_EDIT=Menu.FIRST+1; protected final static int MENU_DELETE=Menu.FIRST+2; @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub super.onCreateOptionsMenu(menu); menu.add(Menu.NONE, MENU_ADD, 0, R.string.ADD); menu.add(Menu.NONE, MENU_EDIT, 0,R.string.EDIT); menu.add(Menu.NONE, MENU_DELETE, 0,R.string.DELETE); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub super.onOptionsItemSelected(item); switch (item.getItemId()) { case MENU_ADD: operation("add"); break; case MENU_EDIT: operation("edit"); break; case MENU_DELETE: operation("delete"); break; default: break; } return true; } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myEditText=(EditText)findViewById(R.id.EditText1); myListView=(ListView)findViewById(R.id.ListView1); db=new dbHelper(testDbActivity.this); myCursor=db.select(); SimpleCursorAdapter adpater=new SimpleCursorAdapter(this , R.layout.test, myCursor, new String[]{dbHelper.FIELD_TITLE}, new int[]{R.id.topTextView}); myListView.setAdapter(adpater); myListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub myCursor.moveToPosition(arg2); _id=myCursor.getInt(0); myEditText.setText(myCursor.getString(1)); } }); myListView.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub SQLiteCursor sc=(SQLiteCursor)arg0.getSelectedItem(); _id=sc.getInt(0); myEditText.setText(sc.getString(1)); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } private void operation(String cmd) { if(myEditText.getText().toString().equals("")) return; if(cmd=="add") db.insert( myEditText.getText().toString()); if(cmd=="edit") db.update(_id, myEditText.getText().toString()); if(cmd=="delete") db.delete(_id); myCursor.requery(); myListView.invalidateViews(); myEditText.setText(""); _id=0; } }
发表评论
-
Failed to receive access token
2013-04-24 12:52 1465在 com.weibo.net.Token.java文件中 ... -
Android实例五:Notification通知和Broadcast结合
2011-06-15 11:42 8272第一步.MainActivity.java pack ... -
Android实例四:BroadCast_Receiver
2011-06-15 10:36 6738第一步. MainActivity.java ... -
Android实例三:学习Service
2011-06-15 10:15 1343第一步.MainActivity.java pa ... -
Android实例二:手机数据库SQListe
2011-06-14 11:16 2164[code="java"] ... -
Android实例一:文件搜索
2011-06-13 20:12 3770本例子参考SDK开发范例大全 说明:以ListA ... -
关于android ListView的美化
2011-05-31 08:36 966用心的朋友应该会发现,listview中在设置了背景之后。会有 ... -
Android程序的退出终于完美解决,兼容所有SDK
2011-05-30 16:23 3669上网学了好多方法,关于Android的Activity如何退出 ... -
android兼容2.2及以前版本的退出方法
2011-05-30 14:16 1206首先,在首个activity中写: Intent inten ... -
缩放图片的方法
2011-05-26 15:35 1080代码一: public Bitmap ResizeBi ... -
Android对图片的压缩读取和保存
2011-05-26 12:46 1728在开发图片浏览器等软件是,很多时候要显示图片的缩略图,而一般情 ... -
android显示单位
2011-05-19 16:10 959px (pixels)像素 一般HVGA代表320 ... -
申请Google Map密钥
2011-05-17 15:25 17171.启动eclipse,依次单 ... -
SharedPreferences
2011-05-17 14:16 1259package wyf.wpf;//声明包语句 imp ... -
Content Provider
2011-05-17 11:54 1098package wyf.wpf; //声明包 ... -
轻量级数据库SQLite
2011-05-17 11:29 1196MySQLiteHelper.java im ... -
读取Rescource和asset文件夹中的文件
2011-05-17 11:01 5214package wyf.wpf; //声明包 ... -
数据存储之IO
2011-05-17 10:54 968package wyf.wpf; import jav ... -
android 检测当前网络并调用系统设置
2011-05-12 10:07 1678/** * 检测网络是否可用 */ pu ... -
Android 菜单(Menu)控件的使用
2011-05-11 14:05 718有两种方法,可以创建。 1.通过xml来创建 ...
相关推荐
Android本地数据存储中的SQLite,对SQLite的一般用法的解析
Android本地数据存储中的SQLite,对SQLite的简单操作,实现增删改查
Android实验数据存储SQLite
android 存储 SQLite 数据存储 看完秒回SQLite,android 存储 SQLite 数据存储 看完秒回SQLite
Android数据存储(sqlitehelper)
在Android中创建的SQLite数据库存储在:/data/data/<包名>/databases/目录下。 主要特点: -轻量级 -独立性,没有不依赖,无需安装 -跨平台,支持众多操作系统 -支持高达2TB大小的数据库 -每个数据库以单个文件的...
Android数据存储(SQLite)
在Android studio上实现了sqlite的数据的新建、查询、添加、删除等功能。
Android数据存储(SQLite进阶2)
Android数据存储SQLite - 事务操作
关于android的数据存储-SQLite-ContentProvider-preferences
Android手机App程序中SQLite数据存储应用.pdf
ListVIew存储和表现sqlite数据
实验十 使用SQLite数据库存储数据
Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库源码 http://blog.csdn.net/cjjky/article/details/6578393
Android四大存储方式之一-Sqlite数据存储,本实验以“日记本”的增删改查作为实例来使用SQLite
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...
Android数据存储SQLite的事务操作
从头学Android之Android的数据存储--SQLite示例源代码