歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 事務操作和數據顯示

Android 事務操作和數據顯示

日期:2017/3/1 10:50:36   编辑:Linux編程

//目錄結構


//編寫Bean類

  1. package sn.len.transandlistview.domain;
  2. public class PersonBean
  3. {
  4. private Integer id;
  5. private String name;
  6. private String amount;
  7. public Integer getId() {
  8. return id;
  9. }
  10. public void setId(Integer id) {
  11. this.id = id;
  12. }
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. public String getAmount() {
  20. return amount;
  21. }
  22. public void setAmount(String amount) {
  23. this.amount = amount;
  24. }
  25. @Override
  26. public String toString() {
  27. return "PersonBean [id=" + id + ", name=" + name + ", amount=" + amount
  28. + "]";
  29. }
  30. public PersonBean(Integer id, String name)
  31. {
  32. this.id = id;
  33. this.name = name;
  34. }
  35. public PersonBean() {
  36. }
  37. }

//編寫DB類

DBOpenHelper.java 創建表,以及數據庫

  1. package sn.len.transandlistview;
  2. import Android.content.Context;
  3. import android.database.sqlite.SQLiteDatabase;
  4. import android.database.sqlite.SQLiteOpenHelper;
  5. import android.util.Log;
  6. public class DBOpenHelper extends SQLiteOpenHelper
  7. {
  8. private static final String TAG="testinfo";
  9. private static final String DBNAME="transdb.db";
  10. private static final int DBVERSION=1;
  11. public DBOpenHelper(Context context)
  12. {
  13. super(context,DBNAME,null,DBVERSION);
  14. Log.i(TAG,"come in there");
  15. }
  16. @Override
  17. public void onCreate(SQLiteDatabase db)
  18. {
  19. db.execSQL("create table PersonBean(id integer primary key autoincrement,name varchar(20),amount varchar(20))");
  20. }
  21. @Override
  22. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
  23. {
  24. }
  25. }

//編寫業務類,Service

  1. package sn.len.transandlistview.service;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import sn.len.transandlistview.DBOpenHelper;
  5. import sn.len.transandlistview.domain.PersonBean;
  6. import android.content.Context;
  7. import android.database.Cursor;
  8. import android.database.sqlite.SQLiteDatabase;
  9. import android.util.Log;
  10. public class TransListviewService
  11. {
  12. private DBOpenHelper dbopen;
  13. public TransListviewService(Context context)
  14. {
  15. this.dbopen=new DBOpenHelper(context);
  16. this.dbopen.getWritableDatabase();
  17. }
  18. //添加數據
  19. public void save(PersonBean person)
  20. {
  21. SQLiteDatabase sqld=dbopen.getWritableDatabase();
  22. Log.i("name", person.getName());
  23. Log.i("amount", person.getAmount());
  24. sqld.execSQL("insert into PersonBean(name,amount) values(?,?)",new Object[]{person.getName(),person.getAmount()});
  25. }
  26. //事務處理
  27. public void trans()
  28. {
  29. SQLiteDatabase sqld=dbopen.getWritableDatabase();
  30. sqld.beginTransaction();
  31. sqld.execSQL("update PersonBean set name=? where id=?",new Object[]{"admin",1});
  32. sqld.execSQL("update PersonBean set name=? where id=?",new Object[]{"administrator",2});
  33. sqld.setTransactionSuccessful();
  34. sqld.endTransaction();
  35. }
  36. //查詢分頁
  37. public List<PersonBean> selectGroup(Integer offset,Integer maxRow)
  38. {
  39. SQLiteDatabase sqld=dbopen.getWritableDatabase();
  40. List<PersonBean> listPb=new ArrayList<PersonBean>();
  41. Cursor cursor=sqld.rawQuery("select * from PersonBean limit ?,?",new String[]{offset.toString(),maxRow.toString()});
  42. while(cursor.moveToNext())
  43. {
  44. PersonBean pb=new PersonBean();
  45. pb.setId(cursor.getInt(cursor.getColumnIndex("id")));
  46. pb.setName(cursor.getString(cursor.getColumnIndex("name")));
  47. pb.setAmount(cursor.getString(cursor.getColumnIndex("amount")));
  48. listPb.add(pb);
  49. }
  50. return listPb;
  51. }
  52. //通過返回郵標來得到顯示的數據
  53. public Cursor getCursor(Integer offset,Integer maxRow)
  54. {
  55. SQLiteDatabase sqld=dbopen.getWritableDatabase();
  56. //如果使用郵標那麼ID必需設置尖_id才行。
  57. Cursor cursor=sqld.rawQuery("select id as _id,name,amount from PersonBean limit ?,?",new String[]{offset.toString(),maxRow.toString()});
  58. return cursor;
  59. }
  60. }
Copyright © Linux教程網 All Rights Reserved