使用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, "test.db", 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, "test.db", 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, "test.db", 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;
}
}
<?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>
.jar 和 AndroidManifest.xml 和 build.gradle 的配置 详见 http://blog.csdn.net/u010002184/article/details/52563247