实验效果图:

Android实验七之SQLite数据库存储_第1张图片Android实验七之SQLite数据库存储_第2张图片

Android实验七之SQLite数据库存储_第3张图片

Android实验七之SQLite数据库存储_第4张图片

LogCat中打印出的数据:

 

代码:

 

MainActivity.java

package com.example.sqlist;import com.example.helper.MyDataHelper;import android.os.Bundle;import android.app.Activity;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity{private MyDataHelper dbHelper;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dbHelper = new MyDataHelper(this, "BookStore.db", null, 2);Button createDatabase = (Button) findViewById(R.id.create);Button addData = (Button) findViewById(R.id.add);Button updateData = (Button) findViewById(R.id.update);Button deleteData = (Button) findViewById(R.id.delete);Button queryData = (Button) findViewById(R.id.query);createDatabase.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){// TODO Auto-generated method stubdbHelper.getWritableDatabase();}});addData.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){// TODO Auto-generated method stubSQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();//第一条数据values.put("name", "The Da Vinci Code");values.put("author", "Dan brown");values.put("pages", 454);values.put("price", 16.96);db.insert("Book", null,values);//插入//第二条数据values.put("name", "The Lost Symol");values.put("author", "Dan brown");values.put("pages", 510);values.put("price", 19.95);db.insert("Book", null,values);//插入第二条}});updateData.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){// TODO Auto-generated method stubSQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();values.put("price", 10.99);db.update("Book", values, "name=?", new String[]{"The Da Vinci Code"});}});deleteData.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){// TODO Auto-generated method stubSQLiteDatabase db = dbHelper.getWritableDatabase();db.delete("Book", "pages>?", new String[]{"500"});}});queryData.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){// TODO Auto-generated method stubSQLiteDatabase db = dbHelper.getWritableDatabase();Cursor cursor = db.query("Book", null, null, null, null, null, null);if(cursor.moveToFirst()){do{//遍历Cursor对象,取出数据并打印String name = cursor.getString(cursor.getColumnIndex("name"));String author = cursor.getString(cursor.getColumnIndex("author"));int pages = cursor.getInt(cursor.getColumnIndex("pages"));double price = cursor.getDouble(cursor.getColumnIndex("price"));Log.d("MainActivity", "book name is "+name);Log.d("MainActivity", "book author is "+author);Log.d("MainActivity", "book pages is "+pages);Log.d("MainActivity", "book price is "+price);}while(cursor.moveToNext());}cursor.close();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu){// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

 


MyDataHelper.java

package com.example.helper;import android.R.string;import android.content.Context;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.widget.Toast;public class MyDataHelper extends SQLiteOpenHelper{public static final String CREATE_BOOK = "create table Book (" +"id integer primary key autoincrement," +"author text," +"price real," +"pages integer," +"name text)";public static final String CREATE_CATEGORY = "create table Category(" +"id integer primary key autoincrement," +"category_name text," +"category_code integer)";private Context mContext;public MyDataHelper(Context context, String name, CursorFactory factory,int version){super(context, name, factory, version);// TODO Auto-generated constructor stubmContext = context;}@Overridepublic void onCreate(SQLiteDatabase db){// TODO Auto-generated method stubdb.execSQL(CREATE_BOOK);db.execSQL(CREATE_CATEGORY);Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_LONG).show();}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){// TODO Auto-generated method stubdb.execSQL("drop table if exists Book");db.execSQL("drop table if exists Category");onCreate(db);}}



activity_main.xml

    


 

总结:

在Add时,点了三次add,就添加了三次重复的数据,重复的数据多占用了空间,是该程序的弊端之一,应该在添加数据时先判断是否是完全一致的数据,避免数据的重复录入!

更多相关文章

  1. Android ContentProviders数据共享
  2. android inputreader 部分对event数据的处理
  3. Android sqlite3 数据库批量操作
  4. android 使图片显示 圆角
  5. android ImageUtils 图片处理工具类
  6. Android 获取SDCard上图片和视频的缩略图
  7. android 网络图片与网页读取
  8. Android File 数据存储

随机推荐

  1. 为什么通过JavaScript更改样式会受到CSS
  2. 对jquery的 attr()和prop()理解
  3. JavaScript中,提取子字符串方法:Slice、S
  4. 【JavaScript】离线应用与客户端存储
  5. javascript入门笔记(1)——变量和计算
  6. js关于Function.prototype.bind
  7. RichFaces 3.3.3 和 JSF 2.0
  8. js中ajax获取json数据遍历提示undefined
  9. 在单选按钮上选中/取消选中,加载/隐藏部分
  10. javascript 的MD5代码备份,跟java互通