Android 事务操作和数据显示

Linux大全评论194 views阅读模式

//目录结构

//编写Bean类

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

//编写DB类

DBOpenHelper.java 创建表,以及数据库

  1. package sn.len.transandlistview;  
  2.   
  3. import Android.content.Context;  
  4. import android.database.sqlite.SQLiteDatabase;  
  5. import android.database.sqlite.SQLiteOpenHelper;  
  6. import android.util.Log;  
  7.   
  8. public class DBOpenHelper extends SQLiteOpenHelper  
  9. {  
  10.     private static final String TAG="testinfo";  
  11.   
  12.     private static final String DBNAME="transdb.db";  
  13.     private static final int DBVERSION=1;  
  14.     public DBOpenHelper(Context context)   
  15.     {  
  16.         super(context,DBNAME,null,DBVERSION);  
  17.         Log.i(TAG,"come in there");  
  18.     }  
  19.   
  20.     @Override  
  21.     public void onCreate(SQLiteDatabase db)  
  22.     {  
  23.         db.execSQL("create table PersonBean(id integer primary key autoincrement,name varchar(20),amount varchar(20))");  
  24.     }  
  25.   
  26.     @Override  
  27.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)   
  28.     {  
  29.           
  30.     }  
  31.       
  32. }  
  1. package sn.len.transandlistview.service;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import sn.len.transandlistview.DBOpenHelper;  
  7. import sn.len.transandlistview.domain.PersonBean;  
  8. import android.content.Context;  
  9. import android.database.Cursor;  
  10. import android.database.sqlite.SQLiteDatabase;  
  11. import android.util.Log;  
  12.   
  13. public class TransListviewService  
  14. {  
  15.     private DBOpenHelper dbopen;  
  16.     public TransListviewService(Context context)  
  17.     {  
  18.         this.dbopen=new DBOpenHelper(context);  
  19.         this.dbopen.getWritableDatabase();  
  20.     }  
  21.     //添加数据   
  22.     public void save(PersonBean person)  
  23.     {  
  24.         SQLiteDatabase sqld=dbopen.getWritableDatabase();  
  25.         Log.i("name", person.getName());  
  26.         Log.i("amount", person.getAmount());  
  27.         sqld.execSQL("insert into PersonBean(name,amount) values(?,?)",new Object[]{person.getName(),person.getAmount()});  
  28.     }  
  29.     //事务处理   
  30.     public void trans()  
  31.     {  
  32.         SQLiteDatabase sqld=dbopen.getWritableDatabase();  
  33.         sqld.beginTransaction();  
  34.         sqld.execSQL("update PersonBean set name=? where id=?",new Object[]{"admin",1});  
  35.         sqld.execSQL("update PersonBean set name=? where id=?",new Object[]{"administrator",2});  
  36.         sqld.setTransactionSuccessful();  
  37.         sqld.endTransaction();  
  38.     }  
  39.     //查询分页   
  40.     public List<PersonBean> selectGroup(Integer offset,Integer maxRow)  
  41.     {  
  42.         SQLiteDatabase sqld=dbopen.getWritableDatabase();  
  43.         List<PersonBean> listPb=new ArrayList<PersonBean>();  
  44.         Cursor cursor=sqld.rawQuery("select * from PersonBean limit ?,?",new String[]{offset.toString(),maxRow.toString()});  
  45.         while(cursor.moveToNext())  
  46.         {  
  47.             PersonBean pb=new PersonBean();  
  48.             pb.setId(cursor.getInt(cursor.getColumnIndex("id")));  
  49.             pb.setName(cursor.getString(cursor.getColumnIndex("name")));  
  50.             pb.setAmount(cursor.getString(cursor.getColumnIndex("amount")));  
  51.             listPb.add(pb);  
  52.         }  
  53.         return listPb;  
  54.     }  
  55.     //通过返回邮标来得到显示的数据   
  56.     public Cursor getCursor(Integer offset,Integer maxRow)  
  57.     {  
  58.         SQLiteDatabase sqld=dbopen.getWritableDatabase();  
  59.         //如果使用邮标那么ID必需设置尖_id才行。   
  60.         Cursor cursor=sqld.rawQuery("select id as _id,name,amount from PersonBean limit ?,?",new String[]{offset.toString(),maxRow.toString()});  
  61.         return cursor;  
  62.     }  
  63. }  

企鹅博客
  • 本文由 发表于 2020年10月4日 02:48:46
  • 转载请务必保留本文链接:https://www.qieseo.com/172867.html

发表评论