FinalDb操作sqlite的数据库(增删改查)

前端之家收集整理的这篇文章主要介绍了FinalDb操作sqlite的数据库(增删改查)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用Stetho工具查看sqlite数据库,使用方法见:http://blog.csdn.net/u010002184/article/details/52563247

如下实例:

  1. package com.example.liuyazhou.myfifthapplication;
  2.  
  3. /**
  4. * Created by liuyazhou on 2016/9/17.
  5. */
  6.  
  7. import java.util.Date;
  8. import java.util.List;
  9.  
  10. import net.tsz.afinal.FinalActivity;
  11. import net.tsz.afinal.FinalDb;
  12. import net.tsz.afinal.annotation.view.ViewInject;
  13.  
  14. import android.os.Bundle;
  15. import android.util.Log;
  16. import android.view.View;
  17. import android.widget.Button;
  18. import android.widget.TextView;
  19. import android.widget.Toast;
  20.  
  21. public class AfinalOrmDemoActivity extends FinalActivity {
  22.  
  23. String TAG = AfinalOrmDemoActivity.class.getName();
  24.  
  25. @ViewInject(id = R.id.textView)
  26. TextView textView; //这里使用了afinal的ioc功能
  27. @ViewInject(id = R.id.btn_add,click = "btnAddClick")
  28. Button btnAdd; //对象名没有用到,用到了click方法
  29. @ViewInject(id = R.id.btn_delete,click = "btnDeleteClick")
  30. Button btnDelete;
  31. @ViewInject(id = R.id.btn_update,click = "btnUpdateClick")
  32. Button btnUpdate;
  33. @ViewInject(id = R.id.btn_select,click = "btnSelectClick")
  34. Button btnSelect;
  35.  
  36.  
  37. @Override
  38. public void onCreate(Bundle savedInstanceState) {
  39. super.onCreate(savedInstanceState);
  40. setContentView(R.layout.activity_main);
  41.  
  42. }//onCreate()
  43.  
  44. public void btnAddClick(View v) { ////这里参数 View v 是必须要有的,不然点击按钮没有反应
  45. // FinalDb db = FinalDb.create(this); //这样默认数据库名称是 afinal.db
  46. FinalDb db = FinalDb.create(this,"test.db",true);
  47. User user = new User();
  48. user.setEmail("123@mail.com");
  49. user.setName("Tom2");
  50. user.setRegisterDate(new Date());
  51. user.setMoney(123.0);
  52. db.save(user);
  53. Toast.makeText(AfinalOrmDemoActivity.this,"添加数据",Toast.LENGTH_LONG).show();
  54. }
  55.  
  56. public void btnDeleteClick(View v) {
  57. FinalDb db = FinalDb.create(this,true); ////拿到引用
  58. // db.delete(user); //根据对象主键进行删除
  59. // db.deleteById(user,1); //根据主键删除数据
  60. // db.deleteByWhere(User.class,"money=2.0"); //自定义where条件删除
  61. db.deleteById(User.class,3);
  62. //db.deleteAll(User.class); //删除Bean对应的数据表中的所有数据
  63. Toast.makeText(AfinalOrmDemoActivity.this,"删除数据",Toast.LENGTH_LONG).show();
  64. }
  65.  
  66. public void btnUpdateClick(View v) {
  67. FinalDb db = FinalDb.create(this,true);
  68.  
  69. // User user = new User();
  70. // user.setMoney(111.0);
  71. // db.update(user,"id = 1");//根据where条件更新
  72.  
  73. User user = new User();
  74. user.setId(3); /////这个属性必须要有,表示 update user_test2 set ....where id =3;
  75. user.setMoney(10.0);
  76. user.setEmail("abc@mail.com");
  77. user.setName("Bruce");
  78. db.update(user);
  79.  
  80. Toast.makeText(AfinalOrmDemoActivity.this,"修改数据",Toast.LENGTH_LONG).show();
  81. }
  82.  
  83. public void btnSelectClick(View v) {
  84. FinalDb db = FinalDb.create(this,true);
  85. // List<User> userList = db.findAll(User.class); ///查询所有
  86. // Log.e("AfinalOrmDemoActivity","用户数量:" + (userList != null ? userList.size() : 0));
  87.  
  88. // List<User> resultList = db.findAllByWhere(User.class,"name='Tom'");
  89. List<User> resultList = db.findAllByWhere(User.class,"name like '%m%'");
  90. for (int i = 0; i < resultList.size(); i++) {
  91. Log.i(TAG,"btnSelectClick: " + resultList.get(i).getId() + "," + resultList.get(i).getMoney() + "," + resultList.get(i).getName() + "," + resultList
  92. .get(i).getRegisterDate() + "\n");
  93. Toast.makeText(AfinalOrmDemoActivity.this,"查询数据",Toast.LENGTH_LONG).show();
  94. }
  95.  
  96. }//btnSelectClick()
  97.  
  98.  
  99. }
  1. package com.example.liuyazhou.myfifthapplication;
  2.  
  3. import android.app.Application;
  4.  
  5. import com.facebook.stetho.Stetho;
  6.  
  7. /**
  8. * Created by liuyazhou on 2016/9/17.
  9. */
  10. public class CustomApplication extends Application {
  11. @Override
  12. public void onCreate() {
  13. super.onCreate();
  14. Stetho.initializeWithDefaults(this);
  15. }
  16. }
  1. package com.example.liuyazhou.myfifthapplication;
  2.  
  3. /**
  4. * Created by liuyazhou on 2016/9/17.
  5. */
  6. import net.tsz.afinal.annotation.sqlite.Id;
  7. import net.tsz.afinal.annotation.sqlite.Table;
  8.  
  9. import java.util.Date;
  10.  
  11. @Table(name="user_test2") ////这样使新建的表名是 user_test2
  12. public class User {
  13. @Id
  14. private int id;
  15. private String name;
  16. private String email;
  17. private Date registerDate;
  18. private Double money;
  19.  
  20. public int getId() {
  21. return id;
  22. }
  23.  
  24. public void setId(int id) {
  25. this.id = id;
  26. }
  27.  
  28. public String getName() {
  29. return name;
  30. }
  31.  
  32. public void setName(String name) {
  33. this.name = name;
  34. }
  35.  
  36. public String getEmail() {
  37. return email;
  38. }
  39.  
  40. public void setEmail(String email) {
  41. this.email = email;
  42. }
  43.  
  44. public Date getRegisterDate() {
  45. return registerDate;
  46. }
  47.  
  48. public void setRegisterDate(Date registerDate) {
  49. this.registerDate = registerDate;
  50. }
  51.  
  52. public Double getMoney() {
  53. return money;
  54. }
  55.  
  56. public void setMoney(Double money) {
  57. this.money = money;
  58. }
  59.  
  60.  
  61. }
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6.  
  7. <Button
  8. android:id="@+id/btn_add"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:text="增" />
  12.  
  13. <Button
  14. android:id="@+id/btn_delete"
  15. android:layout_width="fill_parent"
  16. android:layout_height="wrap_content"
  17. android:text="删" />
  18.  
  19. <Button
  20. android:id="@+id/btn_update"
  21. android:layout_width="fill_parent"
  22. android:layout_height="wrap_content"
  23. android:text="改" />
  24.  
  25. <Button
  26. android:id="@+id/btn_select"
  27. android:layout_width="fill_parent"
  28. android:layout_height="wrap_content"
  29. android:text="查" />
  30.  
  31. <TextView
  32. android:id="@+id/textView"
  33. android:layout_width="fill_parent"
  34. android:layout_height="wrap_content"
  35. android:gravity="center_horizontal"
  36. android:layout_gravity="center_horizontal"
  37. android:text="hello"
  38. android:textSize="20sp" />
  39.  
  40. </LinearLayout>
.jar 和 AndroidManifest.xml 和 build.gradle 的配置 详见http://blog.csdn.net/u010002184/article/details/52563247

猜你在找的Sqlite相关文章