首页 > 其他分享 >xUtils-master开源框架

xUtils-master开源框架

时间:2023-04-06 17:02:46浏览次数:42  
标签:混淆 xUtils 开源 master import android com 下载


下载地址     点击打开链接   https://github.com/tablle/xUtils-master

用于下载资源使用的框架xUtils-master

 

xUtils简介

  • xUtils 包含了很多实用的android工具。
  • xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...
  • xUitls最低兼容android 2.2 (api level 8)

目前xUtils主要有四大模块:

  • DbUtils模块:
  • android中的orm框架,一行代码就可以进行增删改查;
  • 支持事务,默认关闭;
  • 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
  • 支持绑定外键,保存实体时外键关联实体自动保存或更新;
  • 自动加载外键关联实体,支持延时加载;
  • 支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
  • ViewUtils模块:
  • android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
  • 新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
  • 目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
  • HttpUtils模块:
  • 支持同步,异步方式的请求;
  • 支持大文件上传,上传大文件不会oom;
  • 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
  • 下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
  • 返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
  • BitmapUtils模块:
  • 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
  • 支持加载网络图片和本地图片;
  • 内存管理使用lru算法,更好的管理bitmap内存;
  • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

使用xUtils快速开发框架需要有以下权限:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

混淆时注意事项:

  • 添加Android默认混淆配置${sdk.dir}/tools/proguard/proguard-android.txt
  • 不要混淆xUtils中的注解类型,添加混淆配置:-keep class * extends java.lang.annotation.Annotation { *; }
  • 对使用DbUtils模块持久化的实体类不要混淆,或者注解所有表和列名称@Table(name="xxx"),@Id(column="xxx"),@Column(column="xxx"),@Foreign(column="xxx",foreign="xxx");

下载使用代码

package com.li.openSourse;

import java.io.File;

import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
	public void clickOnload(View v){
		
			HttpUtils http=new HttpUtils();
			//url url地址
			//target 指定下载位置
			File file=new File(getFilesDir(),getFileName(getUrlPath()));
			//autoResume  断点续传
			//callback	下载完成回调接口
			http.download(getUrlPath(), file.getAbsolutePath(), true, new RequestCallBack<File>() {
				//下载成功调用
				@Override
				public void onSuccess(ResponseInfo<File> responseInfo) {
					Log.v("wang","下载成功");
					Toast.makeText(MainActivity.this, "下载成功", 0).show();
				}
				//下载失败调用
				@Override
				public void onFailure(HttpException error, String msg) {
					// TODO Auto-generated method stub
					
				}
			});
	}
	/**
	 * 获取网络地址
	 * @return  返回网络地址
	 */
	public String getUrlPath(){
		return "http://10.140.0.186:8080/resource.rar";
	}
	/**
	 * 根据网络地址切割返回需要下载的文件名
	 * @param name 网络资源地址
	 * @return	
	 */
	public String getFileName(String name){
		return name.substring(name.lastIndexOf("/")+1);
	}

}

 

标签:混淆,xUtils,开源,master,import,android,com,下载
From: https://blog.51cto.com/u_13355654/6173769

相关文章

  • 最新版本 Stable Diffusion 开源 AI 绘画工具之使用篇
    目录......
  • 使用 kubeadm 安装单 master kubernetes 集群
    配置要求检查centos/hostname检查网络安装docker及kubelet初始化master节点初始化worker节点获得join命令参数初始化worker常见错误原因移除worker节点并重试检查初始化结果安装IngressController配置要求对于Kubernetes初学者,在搭建K8S集群时,推荐在阿里云或......
  • 从master创建新分支
    从master创建新分支1.切换到master分支gitcheckoutmaster2.拉取最新版本到本地gitpull3.从当前分支复制新分支,新分支名称:new-branchgitcheckout-bnew-branch4.把新建的分支push到远程仓库gitpushoriginnew-branch5.关联远程仓库gitbranch--set-upstream-to=......
  • Wikijs简介-强大&可扩展的开源维基软件
    Wikijs-最强大最可扩展的开源维基软件使用wiki.js美丽直观的界面,让文档成为写作的乐趣!优点......
  • 推荐三个不错的开源项目
    阅读文本大概需要2分钟。新的一周,给大家推荐三个最近发现的不错的开源项目,相信你会用的上的。1. VasSonicVasSonic是腾讯SNG增值产品部QQ会员部门研发的一个轻量级的高性能的Hybrid框架,专注于提升页面首屏加载速度,完美支持静态直出页面和动态直出页面,兼容离线包等方案。......
  • 成为钢铁侠!只需一块RTX3090,微软开源贾维斯(J.A.R.V.I.S.)人工智能AI助理系统
    梦想照进现实,微软果然不愧是微软,开源了贾维斯(J.A.R.V.I.S.)人工智能助理系统,贾维斯(jarvis)全称为JustARatherVeryIntelligentSystem(只是一个相当聪明的人工智能系统),它可以帮助钢铁侠托尼斯塔克完成各种任务和挑战,包括控制和管理托尼的机甲装备,提供实时情报和数据分析,帮助托......
  • neondatabase 开源的k8s postgres autoscaling 工具
    autoscalingneondatabase开源的pg扩展工具(核心是解决neondatabase的一些问题),但是设计上有不少值得学习参考的地方参考架构  说明autoscaling设计上实现了自己的一个vm(支持在线迁移业务影响小),实现了自己的scheduler,也算是一个不错的k8s扩展开发参考项目参考资料......
  • 开源 文本到视频:Tune-A-Video 本周 star 增长数:1,050+,主语言:Python
    开源不到48小时获35kstar的推荐算法「GitHub热点速览转载自己笔记备用 非公开  原作者博客园 本周的热点除了GPT各类衍生品之外,还多了一个被马斯克预告过、在愚人节开源出来的推特推荐算法,开源不到2天就有了35k+的star,有意思的是,除了推荐算法本身之外,阅......
  • 开源好物推荐:全栈测试平台RunnerGo
    做软件测试的同学在工作时应该都碰到过这种情况:接口管理、接口测试用postman、Apipost等接口管理工具,性能测试用jmeter、loadrunner等性能测试工具,接口自动化则是jmeter脚本或者python脚本配合jenkins使用。这种情况极大的降低了研发效率,今天给大家推荐一款入选GiteeGVP的开源测......
  • 开源好物推荐:全栈测试平台RunnerGo
    做软件测试的同学在工作时应该都碰到过这种情况:接口管理、接口测试用postman、Apipost等接口管理工具,性能测试用jmeter、loadrunner等性能测试工具,接口自动化则是jmeter脚本或者python脚本配合jenkins使用。这种情况极大的降低了研发效率,今天给大家推荐一款入选GiteeGVP的开源......