- 浏览: 151074 次
- 性别:
- 来自: 茂名
文章分类
最新评论
-
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 1470在 com.weibo.net.Token.java文件中 ... -
Android实例五:Notification通知和Broadcast结合
2011-06-15 11:42 8273第一步.MainActivity.java pack ... -
Android实例四:BroadCast_Receiver
2011-06-15 10:36 6740第一步. MainActivity.java ... -
Android实例三:学习Service
2011-06-15 10:15 1344第一步.MainActivity.java pa ... -
Android实例二:手机数据库SQListe
2011-06-14 11:16 2165[code="java"] ... -
Android实例一:文件搜索
2011-06-13 20:12 3772本例子参考SDK开发范例大全 说明:以ListA ... -
关于android ListView的美化
2011-05-31 08:36 967用心的朋友应该会发现,listview中在设置了背景之后。会有 ... -
Android程序的退出终于完美解决,兼容所有SDK
2011-05-30 16:23 3671上网学了好多方法,关于Android的Activity如何退出 ... -
android兼容2.2及以前版本的退出方法
2011-05-30 14:16 1209首先,在首个activity中写: Intent inten ... -
缩放图片的方法
2011-05-26 15:35 1081代码一: public Bitmap ResizeBi ... -
Android对图片的压缩读取和保存
2011-05-26 12:46 1731在开发图片浏览器等软件是,很多时候要显示图片的缩略图,而一般情 ... -
android显示单位
2011-05-19 16:10 960px (pixels)像素 一般HVGA代表320 ... -
申请Google Map密钥
2011-05-17 15:25 17191.启动eclipse,依次单 ... -
SharedPreferences
2011-05-17 14:16 1262package wyf.wpf;//声明包语句 imp ... -
Content Provider
2011-05-17 11:54 1099package wyf.wpf; //声明包 ... -
轻量级数据库SQLite
2011-05-17 11:29 1199MySQLiteHelper.java im ... -
读取Rescource和asset文件夹中的文件
2011-05-17 11:01 5216package wyf.wpf; //声明包 ... -
数据存储之IO
2011-05-17 10:54 970package wyf.wpf; import jav ... -
android 检测当前网络并调用系统设置
2011-05-12 10:07 1682/** * 检测网络是否可用 */ pu ... -
Android 菜单(Menu)控件的使用
2011-05-11 14:05 719有两种方法,可以创建。 1.通过xml来创建 ...
相关推荐
Android本地数据存储中的SQLite,对SQLite的一般用法的解析
Android本地数据存储中的SQLite,对SQLite的简单操作,实现增删改查
Android实验数据存储SQLite
android 存储 SQLite 数据存储 看完秒回SQLite,android 存储 SQLite 数据存储 看完秒回SQLite
Android数据存储(sqlitehelper)
"Android 手机 App 程序中 SQLite 数据存储应用" Android 手机 App 程序中 SQLite 数据存储应用是 Android 手机 App 程序开发中的一个重要组成部分。随着 IT 行业的高速发展,移动通信技术的更新速度日新月异。...
在Android中创建的SQLite数据库存储在:/data/data/<包名>/databases/目录下。 主要特点: -轻量级 -独立性,没有不依赖,无需安装 -跨平台,支持众多操作系统 -支持高达2TB大小的数据库 -每个数据库以单个文件的...
Android数据存储(SQLite)
在Android studio上实现了sqlite的数据的新建、查询、添加、删除等功能。
Android数据存储(SQLite进阶2)
Android数据存储SQLite - 事务操作
关于android的数据存储-SQLite-ContentProvider-preferences
ListVIew存储和表现sqlite数据
Android 平台中的 SQLite 数据库在存储 DateTime 类型的数据时会遇到一些问题。本文将详细介绍这些问题和解决方案。 日期类型数据的存储问题 ------------------------- 在 SQLite 中,日期类型数据的存储方式有...
实验十 使用SQLite数据库存储数据
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...
Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库源码 http://blog.csdn.net/cjjky/article/details/6578393
Android四大存储方式之一-Sqlite数据存储,本实验以“日记本”的增删改查作为实例来使用SQLite
Android数据存储SQLite的事务操作