- 浏览: 153823 次
- 性别:
- 来自: 茂名
文章分类
最新评论
-
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 1512在 com.weibo.net.Token.java文件中 ... -
Android实例五:Notification通知和Broadcast结合
2011-06-15 11:42 8304第一步.MainActivity.java pack ... -
Android实例四:BroadCast_Receiver
2011-06-15 10:36 6789第一步. MainActivity.java ... -
Android实例三:学习Service
2011-06-15 10:15 1415第一步.MainActivity.java pa ... -
Android实例二:手机数据库SQListe
2011-06-14 11:16 2192[code="java"] ... -
Android实例一:文件搜索
2011-06-13 20:12 3802本例子参考SDK开发范例大全 说明:以ListA ... -
关于android ListView的美化
2011-05-31 08:36 988用心的朋友应该会发现,listview中在设置了背景之后。会有 ... -
Android程序的退出终于完美解决,兼容所有SDK
2011-05-30 16:23 3713上网学了好多方法,关于Android的Activity如何退出 ... -
android兼容2.2及以前版本的退出方法
2011-05-30 14:16 1240首先,在首个activity中写: Intent inten ... -
缩放图片的方法
2011-05-26 15:35 1105代码一: public Bitmap ResizeBi ... -
Android对图片的压缩读取和保存
2011-05-26 12:46 1757在开发图片浏览器等软件是,很多时候要显示图片的缩略图,而一般情 ... -
android显示单位
2011-05-19 16:10 1008px (pixels)像素 一般HVGA代表320 ... -
申请Google Map密钥
2011-05-17 15:25 17531.启动eclipse,依次单 ... -
SharedPreferences
2011-05-17 14:16 1294package wyf.wpf;//声明包语句 imp ... -
Content Provider
2011-05-17 11:54 1137package wyf.wpf; //声明包 ... -
轻量级数据库SQLite
2011-05-17 11:29 1235MySQLiteHelper.java im ... -
读取Rescource和asset文件夹中的文件
2011-05-17 11:01 5263package wyf.wpf; //声明包 ... -
数据存储之IO
2011-05-17 10:54 985package wyf.wpf; import jav ... -
android 检测当前网络并调用系统设置
2011-05-12 10:07 1717/** * 检测网络是否可用 */ pu ... -
Android 菜单(Menu)控件的使用
2011-05-11 14:05 745有两种方法,可以创建。 1.通过xml来创建 ...
相关推荐
在Android应用开发中,SQLite是一个重要的本地数据存储方式。SQLite是一个轻量级的、开源的、自包含的关系型数据库系统,它不需要单独的服务器进程,也不需要特定的权限管理。SQLite数据库可以被嵌入到各种应用程序...
在Android应用开发中,本地数据存储是至关重要的,SQLite数据库作为一种轻量级的数据库系统,被广泛用于存储和管理应用程序中的结构化数据。本篇文章将深入探讨如何在Android中使用SQLite进行基本的增删改查操作,以...
Android 数据存储 SQLite Android 数据存储是 Android 应用程序中的一个重要组件,它负责存储和管理应用程序中的数据。在 Android 中,有多种数据存储方式,包括 SharedPreferences、内部文件存储、SD 卡存储和 ...
SQLite是一款轻量级的、开源的、自包含的SQL数据库引擎,它被广泛应用于移动设备、嵌入式系统以及各种应用程序中,以处理和存储数据。在这个“sqlite数据库大数据量处理demo”中,我们将深入探讨如何在SQLite数据库...
在Android开发中,SQLite是一个非常重要的数据存储工具。SQLite是一个轻量级的、关系型的数据库,它嵌入到Android系统中,为应用程序提供本地数据存储功能。SQLite数据库的优势在于其小巧、快速、稳定,无需单独的...
本文将详细讲解Android数据存储以及SQLiteHelper的使用。 SQLite是Android系统内置的关系型数据库,它轻量级、高效且易于使用。在Android中,SQLite数据库主要用于存储结构化的数据,如用户信息、应用配置等。...
"Android 手机 App 程序中 SQLite 数据存储应用" Android 手机 App 程序中 SQLite 数据存储应用是 Android 手机 App 程序开发中的一个重要组成部分。随着 IT 行业的高速发展,移动通信技术的更新速度日新月异。...
在Android中创建的SQLite数据库存储在:/data/data/<包名>/databases/目录下。 主要特点: -轻量级 -独立性,没有不依赖,无需安装 -跨平台,支持众多操作系统 -支持高达2TB大小的数据库 -每个数据库以单个文件的...
在Android开发中,SQLite是一个重要的组成部分,它是轻量级的数据库系统,被广泛用于本地数据存储。SQLite数据库在Android应用中扮演着至关重要的角色,它允许开发者创建、修改和管理数据库,无需用户干预,提供了...
本文将详细讲解如何将PostgreSQL(简称postgres)数据库中的数据导入到SQLite数据库,这是一个常见的需求,特别是在需要轻量级、本地化存储或者跨平台应用时。我们将探讨整个过程,包括自动创建SQLite表以及全库和...
SQLite是一个轻量级的、嵌入式的关系数据库,它被广泛应用于Android系统中,为开发者提供了高效且灵活的数据存储解决方案。本节将深入探讨Android如何利用SQLite进行数据存储,并分享一些关键知识点。 首先,我们...
当我们需要在两者之间进行数据迁移时,就需要借助特定的工具来完成,比如"SQL Server数据导入SQLite工具"。 这个工具的主要功能是将SQL Server数据库转换为SQLite数据库,这对于开发者和数据管理人员来说非常实用。...
在易语言中使用Sqlite,可以方便地处理和存储数据,为程序提供数据支持。 首先,我们需要在易语言中引入Sqlite的相关库。这通常通过导入外部动态链接库(.dll)或使用易语言提供的SQLite组件来完成。一旦引入,我们...
Android数据存储SQLite - 事务操作
在Android应用开发中,SQLite是一个重要的本地数据存储解决方案。SQLite是一个轻量级的数据库系统,它内嵌在Android操作系统中,允许开发者以结构化方式存储和管理数据。本篇文章将深入探讨Android中的SQLite数据库...
在Android应用中,SQLite数据库常被用来持久化数据,存储结构化的信息。当需要将SQLite数据库中的数据展示在ListView上时,通常会涉及以下几个关键知识点: 1. **SQLite数据库操作**: - **创建数据库**:使用...
在iOS开发中,数据存储是不可或缺的一部分,而SQLite3和FMDB则是常用的数据持久化解决方案。SQLite3是一个轻量级的、嵌入式的关系型数据库,而FMDB是Objective-C的SQLite3封装库,它提供了更简洁易用的API来操作...
通过这些概念,你可以开始编写自己的SQLite数据库应用,实现数据的存储和查询。在实际开发中,还可以利用PreparedStatement进行参数化查询,提高代码安全性和效率。同时,了解事务处理、索引创建等高级特性,能...
在Android系统中,SQLite是一个内置的关系型数据库管理系统,用于存储应用程序的数据。SQLite支持SQL标准,具有轻量级、高效、可靠的特点,使得它成为移动应用数据管理的理想选择。本主题将深入探讨如何在Android中...