QBox
:cat2: RxJava+Retrofit+Okhttp+Glide + A life tool App, contains modules: news; jokes; constellation fortune; LED; weather; calendar; two-dimensional code, and more ... 小秋魔盒是一个生活工具 App,主要功能有:新闻资讯;微信精选美文;笑话趣图;星座运势;LED字幕;天气;日历;二维码;手电筒;老黄历。在开发中尽可能多的用了目前比较流行的框架和库。
Install / Use
/learn @OCNYang/QBoxREADME
QBox
<div align="center"> <img src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/qbox.png" width = "400" alt="小秋魔盒" align=center /> </div>tips:前段时间远程数据库造成的问题已修复,现已能正常使用
小秋魔盒(QBox)是一个生活工具 Android App,由 OCN.Yang 开发,第一个版本上线时间:2017.04.11
A life tool App: simple and beautiful, pure, love.(Welcome to Star and Fork)
下载地址 | APK Download:
地址一:http://d.firim.info/qbox
地址二:https://raw.githubusercontent.com/OCNYang/QBox/master/apk/QBox.apk
应用预览 | UI
图片依次是(多动图,加载较慢,图片不显示刷新页面):
1.新闻模块(如果你下载的 apk 没有显示新闻模块,开启方式:设置页长按头部直至出现提醒 > 设置页长按底部直至出现提醒 > 退出重启应用)
2.文章模块 3.日历模块
4.天气模块 5.颜色画板 6.盒子布局
7.魔力数字排序列表 8.下拉果冻弹跳效果 9.引导页
10.手势图片 11.能力图表格 12.视差图片
<img width="300px" alt="新闻资讯" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/list.png"/><img width="300px" alt="转场动画" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/skipanim.gif"/> <img width="300px" alt="日历模块" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/cla.gif"/><img width="300px" alt="天气模块" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/wealther.gif"/> <img width="300px" alt="颜色画板" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/colorpicker.png"/> <img width="300px" alt="盒子布局" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/flex.png"/> <img width="300px" alt="拖曳列表" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/recy_headerandfooter.gif"/> <img width="300px" alt="下拉果冻弹跳效果" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/shuaxin.gif"/> <img width="300px" alt="引导页" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/sliding.gif"/> <img width="300px" alt="手势效果图片" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/PinImageview.gif"/> <img width="300px" alt="能力表格" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/mpandroidchart.gif"/> <img width="300px" alt="视差图片" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/ken.gif"/> <img width="300px" alt="拖曳" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/recy_yidong.gif"/> <img width="300px" alt="搜索框" src="https://cdn.jsdelivr.net/gh/ocnyang/gallery@master/qbox/searchLayout.gif"/>
Wiki (集成说明)
Document | 说明文档 (也可直接查看下面)
本应用集成的各开源库或控件的说明
Logger 日志打印
Github地址:https://github.com/orhanobut/logger
粗略用法:
引入:
compile 'com.orhanobut:logger:1.15'
初始化:
Logger.init();//在application中
用法方式:
Logger.d("hello");
Logger.e("hello");
Logger.w("hello");
Logger.v("hello");
Logger.wtf("hello");
Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);
Logger.log(DEBUG, "tag", "message", throwable);
参数设置:
Logger
.init(YOUR_TAG) // default PRETTYLOGGER or use just init()
.methodCount(3) // default 2
.hideThreadInfo() // default shown
.logLevel(LogLevel.NONE) // default LogLevel.FULL
.methodOffset(2) // default 0
.logAdapter(new AndroidLogAdapter()); //default AndroidLogAdapter
GsonFormat & Gson json 数据解析
GsonFormat Github地址:https://github.com/zzz40500/GsonFormat
Gson Github地址:https://github.com/google/gson
引入:
compile 'com.google.code.gson:gson:2.7'
Gson 用法教程:
地址:http://ocnyang.com/tags/Gson/
butterknife 依赖注入框架
Github地址:https://github.com/JakeWharton/butterknife
引入:
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
leakcanary 内存泄漏检测工具
Github地址:https://github.com/square/leakcanary
引入:
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
Glide 图片请求库
Github地址:https://github.com/bumptech/glide
引入:
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:support-v4:19.1.0' //v4包
Glide 用法教程:
地址:http://ocnyang.com/tags/Glide/
circleimageview 圆形图片库
Github地址:https://github.com/hdodenhof/CircleImageView
引入:
compile 'de.hdodenhof:circleimageview:2.1.0'
Rxjava + Retrofit + okhttp 网络请求框架
三个库的地址请自行查找,这里提供一个介绍用法的 Demo 地址
Github地址:https://github.com/rengwuxian/RxJavaSamples
(基本的使用,不做三者的封装(因为目前还找不到好的封装框架))
引入:
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'io.reactivex:rxjava:1.2.1'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
Okhttp 教程:
地址:http://ocnyang.com/tags/OkHttp/
Retrofit2 教程:
地址:http://ocnyang.com/tags/Retrofit2/
SlidingTutorial-Android 引导页库
Github地址:https://github.com/Cleveroad/slidingtutorial-android
引入:
compile 'com.cleveroad:slidingtutorial:1.0.5'
nineoldandrolid 开源动画库
Github地址:https://github.com/JakeWharton/NineOldAndroids
引入:
compile 'com.nineoldandroids:library:2.4.0'
percent 百分比布局
说明:非本项目使用,貌似引入的某个开源库依赖此库
Github地址:https://github.com/JulienGenoud/android-percent-support-lib-sample
引入:
compile 'com.android.support:percent:25.3.0'
ReactiveNetwork 手机网络连接状态动态监控
Github地址:https://github.com/pwittchen/ReactiveNetwork
引入:
compile 'com.github.pwittchen:reactivenetwork-rx2:0.9.0'
设想:
网络的检测逻辑的代码放在了BaseActivity中,
网络变化时,需要自动显示网络错误的布局主要继承这个Base类就行了,
同时这个类开放的有网络变化时的回调接口。
自动显示网络错误的布局的几种设想:
第一种:当网络无连接时可以显示一个大的网络错误布局,
或者跳转到一个网络错误布局,当网络连接上的时候再自动跳转回来
(用户也可以通过点击返回,在无网络的情况下的页面)。
第二种:当网络无连接、网络请求数据错误时都显示一个小警示布局提醒网络错误。
第三种:上面两种结合在一起,同时在网络请求数据错误的时候,就加载一定数量的网络错误数据集合。
picasso 图片请求库
Github地址:https://github.com/square/picasso
引入:
compile 'com.squareup.picasso:picasso:2.3.2'
AndroidImageSlider 轮播图片控件
貌似只引入了库,并没有真正使用
Github地址:https://github.com/daimajia/AndroidImageSlider
引入:
compile "com.android.support:support-v4:+"
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.slider:library:1.1.5@aar'
才发现,好几个库都是它在依赖呀,由于没有用到,下个版本可能会删除这个引入
BaseRecyclerViewAdapterHelper RecycleView 拓展库
Github 地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper
引入:
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE'
中文 Wiki:
地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper/wiki/%E9%A6%96%E9%A1%B5
greenDAO 数据库
Github 地址:https://github.com/greenrobot/greenDAO
引入:
较为繁琐,详细查看 Github 地址
eventbus 事件发布/订阅框架
Github 地址:https://github.com/greenrobot/EventBus
引入:
compile 'org.greenrobot:eventbus:3.0.0'
用法简述::
-
1.Define events:
public static class MessageEvent { /* Additional fields if needed */ } -
2.Prepare subscribers: Declare and annotate your subscribing method, optionally specify a thread mode:
@Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(MessageEvent event) {/* Do something */};
Register and unregister your subscriber. For example on Android, activities and fragments should usually register according to their life cycle:
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
-
3.Post events:
EventBus.getDefault().post(new MessageEvent());
RippleEffect 控件点击的涟漪效果
Github 地址:https://github.com/traex/RippleEffect
引入:
compile 'com.github.traex.rippleeffect:library:1.3'
takephoto 拍照上传库
Github 地址:https://github.com/crazycodeboy/TakePhoto
引入:
compile 'com.jph.takephoto:takephoto_library:4.0.3'
colorpicker 颜色画板选择库
Github 地址:https://github.com/QuadFlask/colorpicker
引入:
compile 'com.github.QuadFlask:colorpicker:0.0.13'
android-autofittextview 自适应大小文本控件
Github
