开发过程中使用Android自带的数据库,不仅安全性较好,而且数据存取的效果也较好。

附源代码

http://download.csdn.net/detail/wyx100/8670843

开发规划

主界面

 完成数据的输入,触发保存 

启动后界面

 

输入数据

 数据显示界面

     数据库读取数据后显示

删除记录

 

开发顺序

主界面

   类代码

package com.example.sqlitetest;import android.os.Bundle;import android.app.Activity;import android.content.ContentValues;import android.content.Intent;import android.view.View;import android.widget.Button;import android.widget.EditText;public class ActivityMain_1 extends Activity {//声明EditText实例private EditText et1,et2,et3;//声明Button实例private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main_1);//根据ID获得实例对象et1 = (EditText) findViewById(R.id.EditText01);et2 = (EditText) findViewById(R.id.EditText02);et3 = (EditText) findViewById(R.id.EditText03);button = (Button) findViewById(R.id.button);//事件button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String 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.open(); //插入数据helper.insert(values);//实例化IntentIntent intent = new Intent(ActivityMain_1.this,QueryActivity.class);startActivity(intent);helper.close();}});}}

   界面布局

<?xml version="1.0" encoding="UTF-8"?>

2.数据显示界面

类代码

package com.example.sqlitetest;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 {private ListView listView;private Cursor c; @Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);//setContentView(R.layout.row);//实例化数据库帮助类final DBHelper help = new DBHelper(this);help.open();c= help.query(); query();//提示对话框final AlertDialog.Builder builder = new AlertDialog.Builder(this);listView.setOnItemClickListener(new OnItemClickListener(){@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {final long temp = id;builder.setMessage("真的要删除该条记录吗?").setPositiveButton("是", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("yes");help.del((int)temp);//重新查询//query();Cursor c = help.query();//列表项数组String[] from ={"_id","name","url","desc"};//列表项IDint[] 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}});builder.create();builder.show();}});}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();}public void query(){//列表项数组String[] from ={"_id","name","url","desc"};//列表项IDint[] to ={R.id.text0,R.id.text1,R.id.text2,R.id.text3};//适配器SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.row,c,from,to);//adapter.notifyDataSetChanged();//列表视图 listView = getListView();//为列表视图添加适配器listView.setAdapter(adapter);}}

界面布局

<?xml version="1.0" encoding="UTF-8"?>

数据库处理类

package com.example.sqlitetest;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="coll.db";//定义表名private static final String TBL_NAME="logtable";//建立数据库表SQL语句private static final String CREATE_TBL = "create table logtable " +"(_id integer primary key autoincrement,name text,url text,desc text)";//SQLiteDatabaseprivate SQLiteDatabase db;public DBHelper(Context context) {super(context, DB_NAME, null, 2);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_TBL);}//打开数据库public void open(){db = getWritableDatabase();}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}//添加记录public void insert(ContentValues values){db.insert(TBL_NAME, null, values);}//记录查询public Cursor query(){Cursor c = db.query(TBL_NAME, null, null, null, null, null, null);return c;}//删除记录public void del(int id){db.delete(TBL_NAME, "_id=?", new String[]{String.valueOf(id)});}//关闭数据库public void close(){if (db != null){db.close();}}}

启动配置文件

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>                                                                                            


 


 

更多相关文章

  1. Android四大组件之Content Provider
  2. Android(安卓)Studio中使用adb shell查看数据库
  3. android文本内容自动朗读实例教程
  4. Android界面布局基本知识简述
  5. Android期末基础复习
  6. Android(安卓)Studio使用教程(一)
  7. Android的SQLite学习及使用方法(1)
  8. Android的UI设计与后台线程交互
  9. android中activity的四种加载模式

随机推荐

  1. AndroidManifest.xml - 【 manifest -> a
  2. 补间动画--缩放动画XML
  3. Android系统框架概述
  4. Android打开activity的时候,设置editText
  5. 鉴客 Android中如何生成带圆角的Bitmap图
  6. 安卓控件属性
  7. Android EditText的设置以及软键盘的各种
  8. Android中TextView限制行数及末尾已省略
  9. android开机动画bootanimation
  10. Android之TextView属性大全