您的位置:首页 > 数据库

Stetho查看Afinal框架操作sqlite的数据库

2016-09-17 15:24 337 查看
Afinal框架
项目地址:https://github.com/yangfuhai/afinal  (里面有使用说明)
主要有四大模块:
 (1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
 (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
 (3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
 (4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。

 Stetho (真的很简洁高效)

Stetho是Facebook出品的一个强大的Android调试工具,使用该工具你可以在Chrome
Developer Tools查看App的布局,网络请求,sqlite,preference,一切都是可视化的操作,无须自己在去使用adb,也不需要root你的设备。

下面来看一个实例:

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 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.widget.Button;
import android.widget.TextView;

public class AfinalOrmDemoActivity extends FinalActivity {

@ViewInject(id=R.id.textView) TextView textView; //这里使用了afinal的ioc功能,以后将会讲到
@ViewInject(id=R.id.btn1 ,click="btnClick") Button button;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

FinalDb db = FinalDb.create(this);

User user = new User();
user.setEmail("afinal@tsz.net");
user.setName("探索者10");
user.setRegisterDate(new Date());
user.setMoney(100.0);

db.save(user);

List<User> userList = db.findAll(User.class);

Log.e("AfinalOrmDemoActivity", "用户数量:"+ (userList!=null?userList.size():0));

textView.setText(userList.get(0).getName()+":"+userList.get(0).getRegisterDate()+"----"+userList.get(0).getMoney());
}//onCreate()

}
package com.example.liuyazhou.myfifthapplication;

/**
* Created by liuyazhou on 2016/9/17.
*/
import java.util.Date;

public class User {
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;
}

}
1  在build.gradle中的dependencies里面添加   compile 'com.facebook.stetho:stetho:1.3.1'  ,其他部分不动,修改后如下:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile files('libs/afinal_0.5.1_bin.jar')
compile 'com.facebook.stetho:stetho:1.3.1' ///这样就不用专门在libs中加入.jar

}
2  需要创建一个Application类,继承自 android.app.Application,比如本文中的CustomApplication

3  App运行后(我是在genymotion上运行的),在chrome浏览器中输入网址 chrome://inspect/#devices ,点击 inspect 即能看到sqlite的数据,同时支持sqlite语句操作

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.liuyazhou.myfifthapplication">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:name="CustomApplication"
android:theme="@style/AppTheme">
<activity
android:name=".AfinalOrmDemoActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>

</manifest>









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sqlite Android stetho