使用Stetho工具查看sqlite数据库,使用方法见:http://blog.csdn.net/u010002184/article/details/52563247
如下实例:
- package com.example.liuyazhou.myfifthapplication;
- /**
- * Created by liuyazhou on 2016/9/17.
- */
- import java.util.Date;
- import java.util.List;
- import net.tsz.afinal.FinalActivity;
- import net.tsz.afinal.FinalDb;
- import net.tsz.afinal.annotation.view.ViewInject;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- public class AfinalOrmDemoActivity extends FinalActivity {
- String TAG = AfinalOrmDemoActivity.class.getName();
- @ViewInject(id = R.id.textView)
- TextView textView; //这里使用了afinal的ioc功能
- @ViewInject(id = R.id.btn_add,click = "btnAddClick")
- Button btnAdd; //对象名没有用到,用到了click方法名
- @ViewInject(id = R.id.btn_delete,click = "btnDeleteClick")
- Button btnDelete;
- @ViewInject(id = R.id.btn_update,click = "btnUpdateClick")
- Button btnUpdate;
- @ViewInject(id = R.id.btn_select,click = "btnSelectClick")
- Button btnSelect;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }//onCreate()
- public void btnAddClick(View v) { ////这里参数 View v 是必须要有的,不然点击按钮没有反应
- // FinalDb db = FinalDb.create(this); //这样默认数据库名称是 afinal.db
- FinalDb db = FinalDb.create(this,"test.db",true);
- User user = new User();
- user.setEmail("123@mail.com");
- user.setName("Tom2");
- user.setRegisterDate(new Date());
- user.setMoney(123.0);
- db.save(user);
- Toast.makeText(AfinalOrmDemoActivity.this,"添加数据",Toast.LENGTH_LONG).show();
- }
- public void btnDeleteClick(View v) {
- FinalDb db = FinalDb.create(this,true); ////拿到引用
- // db.delete(user); //根据对象主键进行删除
- // db.deleteById(user,1); //根据主键删除数据
- // db.deleteByWhere(User.class,"money=2.0"); //自定义where条件删除
- db.deleteById(User.class,3);
- //db.deleteAll(User.class); //删除Bean对应的数据表中的所有数据
- Toast.makeText(AfinalOrmDemoActivity.this,"删除数据",Toast.LENGTH_LONG).show();
- }
- public void btnUpdateClick(View v) {
- FinalDb db = FinalDb.create(this,true);
- // User user = new User();
- // user.setMoney(111.0);
- // db.update(user,"id = 1");//根据where条件更新
- User user = new User();
- user.setId(3); /////这个属性必须要有,表示 update user_test2 set ....where id =3;
- user.setMoney(10.0);
- user.setEmail("abc@mail.com");
- user.setName("Bruce");
- db.update(user);
- Toast.makeText(AfinalOrmDemoActivity.this,"修改数据",Toast.LENGTH_LONG).show();
- }
- public void btnSelectClick(View v) {
- FinalDb db = FinalDb.create(this,true);
- // List<User> userList = db.findAll(User.class); ///查询所有
- // Log.e("AfinalOrmDemoActivity","用户数量:" + (userList != null ? userList.size() : 0));
- // List<User> resultList = db.findAllByWhere(User.class,"name='Tom'");
- List<User> resultList = db.findAllByWhere(User.class,"name like '%m%'");
- for (int i = 0; i < resultList.size(); i++) {
- Log.i(TAG,"btnSelectClick: " + resultList.get(i).getId() + "," + resultList.get(i).getMoney() + "," + resultList.get(i).getName() + "," + resultList
- .get(i).getRegisterDate() + "\n");
- Toast.makeText(AfinalOrmDemoActivity.this,"查询数据",Toast.LENGTH_LONG).show();
- }
- }//btnSelectClick()
- }
- package com.example.liuyazhou.myfifthapplication;
- import android.app.Application;
- import com.facebook.stetho.Stetho;
- /**
- * Created by liuyazhou on 2016/9/17.
- */
- public class CustomApplication extends Application {
- @Override
- public void onCreate() {
- super.onCreate();
- Stetho.initializeWithDefaults(this);
- }
- }
- package com.example.liuyazhou.myfifthapplication;
- /**
- * Created by liuyazhou on 2016/9/17.
- */
- import net.tsz.afinal.annotation.sqlite.Id;
- import net.tsz.afinal.annotation.sqlite.Table;
- import java.util.Date;
- @Table(name="user_test2") ////这样使新建的表名是 user_test2
- public class User {
- @Id
- private int id;
- private String name;
- private String email;
- private Date registerDate;
- private Double money;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public Date getRegisterDate() {
- return registerDate;
- }
- public void setRegisterDate(Date registerDate) {
- this.registerDate = registerDate;
- }
- public Double getMoney() {
- return money;
- }
- public void setMoney(Double money) {
- this.money = money;
- }
- }
.jar 和 AndroidManifest.xml 和 build.gradle 的配置 详见http://blog.csdn.net/u010002184/article/details/52563247
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical">
- <Button
- android:id="@+id/btn_add"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="增" />
- <Button
- android:id="@+id/btn_delete"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="删" />
- <Button
- android:id="@+id/btn_update"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="改" />
- <Button
- android:id="@+id/btn_select"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="查" />
- <TextView
- android:id="@+id/textView"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:layout_gravity="center_horizontal"
- android:text="hello"
- android:textSize="20sp" />
- </LinearLayout>