CoreLib是一个工具核心库。
- 网络库,直接JSON的对象化Request和Response。
- 大文件下载
- 文件IO工具类
- Log系统,支持动态Log开关,Log会保存在本地。
- 自定义线程池。
- SingleInstance管理。
https://github.com/MichaelSun/CorelibSample
AndroidMenifest.xml加入一下权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
corelib是lib工程,直接导入。
初始化代码加入App,需要在所有的初始化之前:
public class MyApplication extends Application {
@Override public void onCreate() {
/**
* true: open Log
* flase: close Log
* /
CoreConfig.init(getApplicationContext(), false);
}
...
}
使用标注方式定义API的java bean request,所有的返回数据都会直接解析成Object Response,目前支持JSON。 所有的网络分成Request和Response,所有的API Request继承自RequestBase,所有的API Response继承自ResponseBase
使用CoreConfig.init(getApplicationContext(), true)启动log之后,Log会存储在*/scard/.your_package_name/debug_log.txt*。
如果要在Logcat中过滤Log,使用*adb -d shell DebugLog:d :s
使用方式:
CoreConfig.LOG(msg);
CoreConfig.LOG(tag, msg);
CoreConfig.LOG(msg, Throwable);
-keep class com.michael.corelib.** {*;}
-keep class * extends com.michael.corelib.internet.core.RequestBase { *; }
-keep class * extends com.michael.corelib.internet.core.ResponseBase { *; }