关于SQLiteDatabase
来源:互联网 发布:mac不能用千牛 编辑:程序博客网 时间:2024/06/11 22:07
用户收藏网站的一个小程序:
用户输入数据类:
package com.xxg.favorites;import android.app.Activity;import android.content.ContentValues;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class FavoritesActivity extends Activity {//实例化EditTextprivate EditText et1,et2,et3;private Button b1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add); this.setTitle("添加收藏信息"); et1=(EditText)findViewById(R.id.EditTextName); et2=(EditText)findViewById(R.id.EditTextUrl); et3=(EditText)findViewById(R.id.EditTextDesc); b1=(Button)findViewById(R.id.ButtonAdd); b1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString name=et1.getText().toString();String url=et2.getText().toString();String desc=et3.getText().toString();ContentValues values=new ContentValues();values.put("name", name);values.put("url",url);values.put("desc",desc);DBHelper helper=new DBHelper(getApplicationContext());helper.insert(values);Intent intent=new Intent(FavoritesActivity.this,QueryActivity.class);startActivity(intent);} }); } }
数据显示类:
package com.xxg.favorites;import android.app.AlertDialog;import android.app.ListActivity;import android.content.DialogInterface;import android.database.Cursor;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ListView;import android.widget.SimpleCursorAdapter;public class QueryActivity extends ListActivity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.setTitle("浏览收藏信息");//final DBHelper helpter=new DBHelper(this);final DBHelper helpter=new DBHelper(getApplicationContext());//获得游标Cursor c=helpter.query();String[] from={"_id","name","url","desc"};int[] to={R.id.text0,R.id.text1,R.id.text2,R.id.text3};SimpleCursorAdapter adapter=new SimpleCursorAdapter(this,R.layout.row,c,from,to);ListView listview=getListView();listview.setAdapter(adapter);final AlertDialog.Builder builder=new AlertDialog.Builder(this);listview.setOnItemClickListener(new OnItemClickListener(){@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {// TODO Auto-generated method stubfinal long temp=arg3;builder.setMessage("真的要删除记录嘛?").setPositiveButton("是", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stubhelpter.del((int)temp); Cursor c=helpter.query();String[] from={"_id","name","url","desc"};int[] to={R.id.text0,R.id.text1,R.id.text2,R.id.text3};SimpleCursorAdapter adapter=new SimpleCursorAdapter(getApplicationContext(),R.layout.row,c,from,to);ListView listview=getListView();listview.setAdapter(adapter);}}).setNegativeButton("否",new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}});AlertDialog ad=builder.create();ad.show();}});helpter.close();}}
数据库帮助类:
package com.xxg.favorites;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBHelper extends SQLiteOpenHelper {//数据库名称private static final String DB_NAME="coll01.db";//表名private static final String TBL_NAME="CollTbl01";//创建SQL语句private static final String CREATE_TBL="create table CollTbl01(_id integer primary key autoincrement,name text,url text,desc text)";//SQLiteDatabase实例private SQLiteDatabase db;//构造方法public DBHelper(Context c) {super(c, DB_NAME, null,2);// TODO Auto-generated constructor stub}//创建表@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stubthis.db=db;db.execSQL(CREATE_TBL);}//插入方法public void insert(ContentValues values){//获得SQLiteDataBase实例 SQLiteDatabase db=getWritableDatabase(); //插入 db.insert(TBL_NAME, null, values); db.close();}//查询方法public Cursor query(){//获取SQLiteDatabase实例SQLiteDatabase db=getWritableDatabase();//查询获得CursorCursor c=db.query(TBL_NAME, null, null, null, null, null, null);return c;}//删除方法public void del(int id){if(db==null)//获取SQLiteDatabasedb=getWritableDatabase();db.delete(TBL_NAME,"_id=?",new String[]{String.valueOf(id)});}//关闭数据库public void close(){if(db!=null){db.close();}}@Overridepublic void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {// TODO Auto-generated method stub}}
问题是:刚开始在数据库帮助类中
CREATE_TBL="create table CollTbl01(_id integer primary key autoincrement,name text,desc text)";创建表的语句写错了,把url text写漏了,运行程序始终出现问题,找不到url无法启动数据显示类,后来改为:CREATE_TBL="create table CollTbl01(_id integer primary key autoincrement,name text,url text,desc text)";依旧报同样的错误!最后修改表名在运行问题依旧知道修改了数据库的名字在运行成功!求解.................??
- 关于SQLiteDatabase
- Android中关于SQLiteDatabase(一)
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SqLiteDatabase
- SQLiteDataBase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- SQLiteDatabase
- MongoDB 权限 验证
- WM_PAINT 和 WM_ERASEBKGND 消息的区别 .
- VC中内联汇编_VC技术_C语言教程
- 跨域问题 header('P3P:')
- HEX文件格式浅析
- 关于SQLiteDatabase
- 如何解决服务器CPU使用率过高的问题<二>
- spring scope="prototype" 和scope="singleton"区分
- VI/VIM常用命令
- sql like 通配符 模糊查询技巧及特殊字符
- IBM————jvm内存详解
- java中Static的作用
- 滤波电容的大小的选取
- eclipse link安装方法