android 依赖库 管理工具,Common4Android: Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合...

#Common4Android v2.0

Common methods for android developer v2.0.

##Overview

###-基类

ClassName | Description

---------------------------|--------------------------------------

BaseApplication.java | Application基类,启动SDCard监听、网络状态监听。

BaseActiivty.java | Activity基类,封装常用方法及Activity管理。

###-管理器

ClassName | Description

---------------------------|--------------------------------------

ActivityManager.java | Activity管理工具类,可以获得当前引用启动的Activity实例。

HotFixManager.java | 热修复patch加载工具类。

SystemBarTintManager.java | 沉浸式管理。

ThemeSettingsHelper.java | 主题模式切换管理(日间/夜间模式)。

LRUCache.java | LRUCache。

ThreadPoolManager.java | 应用线程池管理。

###-网络处理

ClassName | Description

---------------------------|--------------------------------------

HttpTag.java | Api接口配置类。

TaskManager.java | 网络任务管理类。

HttpDataRequest.java | 通用请求类。

HttpGetRequest.java | Get请求类。

HttpPostRequest.java | Post请求类。

###-工具类

ClassName | Description

---------------------------|--------------------------------------

AnimationUtil.java | 动画效果工具类,提供缩放、透明度、位移、旋转动画方法。

AppInfoUtil.java | 应用信息工具类,获取应用版本号、版本编码。

BitmapCacheUtil.java | Bitmap缓存工具类,封装bitmap本地存储方法。

BitmapEffectUtil.java | Bitmap特效实现类,封装bitmap特效实现方法,如:老照片、RGB偏移等。

BitmapUtil.java | Bitmap常用工具类,Bitmap数据类型转换、圆角、缩放、倒影。

ConvertUtil.java | 转换工具类,进行对象的类型转换。

DateUtil.java | 日期工具类,日期转换生肖、日期转换星座、日期相互转换。

DesUtil.java | DES加密工具类。

DeviceUtil.java | 设备信息获取工具类,获得设备型号、设备生产厂商、屏幕尺寸、GPS状态、wifi状态等。

DialogUtil.java | 弹窗工具类,ProgressDialog,AlertDialog,Toast弹出封装。

FileUtil.java | 文件工具类,文件常用方法,获得文件大小、文件大小转换。

MD5Util.java | MD5加密工具类。

RegexUtil.java | 常用正则表达式工具类。

SDCardUtil.java | SD卡信息管理工具类。

SharedPreferencesUtil.java | SharedPreferences工具类。

StringUtil.java | 字符串处理工具类。

SystemIntentUtil.java | 系统Intent工具类,常用的系统Intent跳转函数,如:打电话、发短信等。

##Example Usage

- NetWork

Config HttpTag

public enum HttpTag {

TEST1(Constants.TAG_TYPE_STRING, 1, "http://www.baidu.com", null),

TEST2(Constants.TAG_TYPE_JSON_OBJECT, 2, "http://www.baidu.com", null),

TEST3(Constants.TAG_TYPE_JSON_ARRAY, 3, "http://www.baidu.com", null),

TEST4(Constants.TAG_TYPE_GSON, 4, "http://www.baidu.com", Object.class);

/**

* HttpTag

* @param tagType 标签类型 1:string, 2:gson, 3:jsonObject, 4:jsonArray

* @param httpTag Tag标签,用于接收响应数据

* @param httpUrl 请求Url

* @param parseClass GSON类型使用,用于转换GSON数据

*/

HttpTag(int tagType, int httpTag, String httpUrl, Class> parseClass) {

this.mTagType = tagType;

this.mHttpTag = httpTag;

this.mHttpUrl = httpUrl;

this.mParseClass = parseClass;

}

private final int mTagType;

private final int mHttpTag;

private final String mHttpUrl;

private final Class> mParseClass;

public int getTagType() {

return mTagType;

}

public int getHttpTag() {

return mHttpTag;

}

public String getHttpUrl() {

return mHttpUrl;

}

public Class> getParseClass() {

return mParseClass;

}

@Override

public String toString() {

String toString = "[tag=" + mHttpTag + "][url=" + mHttpUrl + "][parseClass=" + mParseClass + "]";

return toString;

}

}

Create a Get Request

HttpGetRequest request = new HttpGetRequest();

request.setTag(HttpTag.TEST);

request.setSort(Constants.REQUEST_METHOD_GET);

request.setGzip(true);

request.setRetry(false);

request.setNeedAuth(false);

TaskManager.startHttpDataRequset(request, new HttpDataResponse() {

@Override

public void onHttpRecvOK(HttpTag tag, Object extraInfo, Object result) {

DialogUtil.showToast(MainActivity.this, (String) result, Toast.LENGTH_LONG);

}

@Override

public void onHttpRecvError(HttpTag tag, HttpCode retCode, String msg) {

DialogUtil.showToast(MainActivity.this, "onHttpRecvError retCode:" + retCode + " msg:" + msg, Toast.LENGTH_LONG);

}

@Override

public void onHttpRecvCancelled(HttpTag tag) {

DialogUtil.showToast(MainActivity.this, "onHttpRecvCancelled", Toast.LENGTH_LONG);

}

});

Create a Post Request

HttpPostRequest request = new HttpPostRequest();

request.setTag(HttpTag.TEST);

request.setSort(Constants.REQUEST_METHOD_POST); // application/x-www-form-urlencoded

//request.setSort(Constants.REQUEST_METHOD_POST_MULTIPLE); // multipart/form-data

request.setGzip(true);

request.setRetry(false);

request.setNeedAuth(false);

TaskManager.startHttpDataRequset(request, new HttpDataResponse() {

@Override

public void onHttpRecvOK(HttpTag tag, Object extraInfo, Object result) {

DialogUtil.showToast(MainActivity.this, (String) result, Toast.LENGTH_LONG);

}

@Override

public void onHttpRecvError(HttpTag tag, HttpCode retCode, String msg) {

DialogUtil.showToast(MainActivity.this, "onHttpRecvError retCode:" + retCode + " msg:" + msg, Toast.LENGTH_LONG);

}

@Override

public void onHttpRecvCancelled(HttpTag tag) {

DialogUtil.showToast(MainActivity.this, "onHttpRecvCancelled", Toast.LENGTH_LONG);

}

});

NetWork add parameters & file upload

request.addUrlParams(key, value); // URL params

request.addHeadParams(key, value); // Head params

request.addBodyParams(key, value); // Body params only post

request.addFileParams(key, file); // File params only post

- HotFixManager

1. Generate patch.jar with APKTool.

2. Load patch.jar.

String patchVersion = "0.1.0";

String patchPath = "SDCard://mnt/common4android/path/patch.jar";

HotFixManager hotFixManager = new HotFixManager(this);

hotFixManager.init(patchVersion); // init with patch version

hotFixManager.addPatch(patchPath); // load patch.jar

Contact

WeChat:widebluesky

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值