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你的设备。
下面来看一个实例:
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>
项目地址: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>
相关文章推荐
- Android sqlite数据库操作通用框架AHibernate(一)-CRUD示例和使用步骤
- 使用android快速开发框架afinal的FinalDb操作android数据库
- (一一三)使用系统自带框架操作SQLite3数据库
- Android数据库(SQLite)框架(5)——LitePal的修改和删除操作
- Android sqlite数据库操作通用框架AHibernate(二)源码-用于交流
- Android sqlite数据库操作通用框架AHibernate(1)
- 使用android快速开发框架afinal的FinalDb操作android数据库
- 快速开发框架Afinal的使用(数据库操作,HTTP请求,网络图片加载,控件绑定)
- Android Afinal框架学习(一) FinalDb 数据库操作
- Android sqlite数据库操作通用框架AHibernate(三)-升级为1.1版本
- 使用android快速开发框架afinal的FinalDb操作android数据库
- 使用android快速开发框架afinal的FinalDb操作android数据库
- 查看android sqlite数据库常用操作
- Python 3.x之数据库框架Sqlalchemy操作SQlite
- 使用android快速开发框架afinal的FinalDb操作android数据库
- 使用android快速开发框架afinal的FinalDb操作android数据库
- [置顶] Android Afinal框架学习(一) FinalDb 数据库操作
- (一一三)使用系统自带框架操作SQLite3数据库
- Android sqlite数据库操作通用框架AHibernate(二)-CRUD ...
- 使用android快速开发框架afinal的FinalDb操作android数据库