1 compile 'org.xutils:xutils:3.4.0'
1 import org.xutils.x;
2 class Xutilsinit extends Application {
3 @Override
4 public void onCreate() {
5 super.onCreate();
6 x.Ext.init(this);
7 x.Ext.setDebug(true);//是否输出Debug日志
8 }
9 }
<uses-permission android:name="android.permission.INTERNET" />
="android.permission.WRITE_EXTERNAL_STORAGE" />
1 /设置需要访问的URL
2 String url="http://193.112.87.88/library/user_login.php";
3
4
5 设置post表单数据,以键值对设置
6 RequestParams params =new RequestParams(url);
7 params.addBodyParameter("account","164" 8 params.addBodyParameter("password","dong" 9
10 简单的加载提示框
11 final ProgressDialog dia=new ProgressDialog(MainActivity.12 dia.setMessage("东小东加载中……"13 dia.show();
14
15 开始网络访问
16 如果是get请求,则x.http().get(params,new Callback.CommonCallback<String>() 即可
17 x.http().post(params,new Callback.CommonCallback<String>() {
18 19 onSuccess(String result) {
20 访问成功时进入,得到访问返回的数据
21 Toast.makeText(x.app(),"东小东提示获取的数据为:"+ result,Toast.LENGTH_LONG).show();
22 System.out.println("获取到的数据是"+result);
23
24 25
26 27 void onError(Throwable ex,1)">boolean isOnCallback) {
28 请求错误进入
29 Toast.makeText(x.app(),"东小东提示:请求错误",1)">30
31 32
33 34 onCancelled(Callback.CancelledException cex) {
35 ////主动调用取消请求的回调方法
36 37
38 39 onFinished() {
40 访问结束时进入,停止加载框
41 dia.dismiss();
42 43 });
1 设置需要访问的URL
2 String url="http://193.112.87.55/file1.php" 5 6 RequestParams params = 7 params.setMultipart(true 8 params.addBodyParameter("yzm","112233"File filex= new File(Environment.getExternalStorageDirectory()+"/东小东.jpg");
params.addBodyParameter("img",filex,"multipart/form-data","dongxiaodong.jpg");其中dongxiaodong.jpg为重命名
12
13 生成文件对象,需要绝对路径
14 File filex= new File(Environment.getExternalStorageDirectory()+"/gg.mp3"15 params.addBodyParameter("img","multipart/form-data");保留文件原名
16
17
18 19 20 dia.setMessage("东小东加载中……"21 dia.show();
22
23 开始网络访问
24 x.http().post(params,1)">25 @Override
26 27 28 Toast.makeText(x.app(),1)">29 System.out.println("获取到的数据是"+30
}
34 35 36 Toast.makeText(x.app(),1)">39
40 41 42 43 Toast.makeText(x.app(),"东小东提示:已取消请求"44 45
46 47 48 49 Toast.makeText(x.app(),"东小东提示:完成请求"50 dia.dismiss();
51 52 });
private downloadUpdateApk() {
2 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
4 5 6 dia.setMessage("东小东马上下载中........" 7 dia.show();
8
9 下载地址
10 RequestParams requestParams = new RequestParams("http://193.112.87.88/filexxx/gg.mp3"11 文件下载后的保存路径及文件名
12 requestParams.setSaveFilePath(Environment.getExternalStorageDirectory()+"/dongxiaodong/东小东.mp3"13 下载完成后自动为文件命名
14 requestParams.setAutoRename(false15 下载请求
16 x.http().get(requestParams,1)">new Callback.ProgressCallback<File> @Override
19 onSuccess(File result) {
20 倒数第二调用
21 Toast.makeText(MainActivity.this,"下载完成"22 System.out.println("---------------下载完成---------------------------"23 dia.setMessage("东小东下载完成**" }
27 28 Toast.makeText(MainActivity.29 System.out.println("---------------下载失败---------------------------"34 onCancelled(CancelledException cex) {
35
36 Toast.makeText(MainActivity.37 System.out.println("---------------取消下载---------------------------"41 42 最后调用
43 Toast.makeText(MainActivity.44 System.out.println("---------------下载结束---------------------------"45 dia.dismiss();
46
47 48
49 50 onWaiting() {
51 最开始调用
52 Toast.makeText(MainActivity.53 System.out.println("---------------等待下载---------------------------"54
55 56
57 58 onStarted() {
59 第二调用
60 Toast.makeText(MainActivity.61 System.out.println("---------------开始下载---------------------------"62 dia.setMessage("东小东下载开始----"63 64
65 66 void onLoading(long total,1)">long current,1)"> isDownloading) {
67 当前的下载进度和文件总大小
68 下载的时候不断回调的方法
69 参数:总大小,已经下载的大小,是否正在下载
70 System.out.println("***"+total+"********"+current+"****************"+isDownloading+"**********"71 百分比为整数
72 System.out.println("下载进度为:"+(int)(((float)current/total)*100)+"%"73 百分比为小数
74 dia.setMessage("东小东下载进度为:"+((float)current/total)*100+"%"75
76 77 });
78 79
80 }
android.widget.ImageView;
2 org.xutils.common.util.DensityUtil;
3 org.xutils.image.ImageOptions;
4 5
6 /**
* Created by 东东 on 2018/12/29.
8 */
9 class ShowImage {
10
11 显示默认图片,参数(图片控件,图片地址),地址可为网络或本地地址
12 static displaydDfault(ImageView imageView,String iconUrl) {
13 ImageOptions imageOptions = ImageOptions.Builder()
14 .setIgnoreGif(false)是否忽略gif图。false表示不忽略。不写这句,默认是true
.setImageScaleType(ImageView.ScaleType.CENTER_CROP)
16 .setIgnoreGif(是否忽略gif图,false表示不忽略,不写这句,默认是true
17 .setUseMemCache(true)是否支持缓存
18 .setFailureDrawableId(R.mipmap.ic_launcher)设置加载失败显示的图片
19 .setLoadingDrawableId(R.mipmap.ic_launcher)设置加载中显示的图片
20 .build();
x.image().bind(imageView,iconUrl,imageOptions);
22 24 显示圆角图片,参数(图片控件,圆角半径,图片地址),地址可为网络或本地地址
25 圆角半径,100为圆形
26 void displayCutR(ImageView imageView,1)">int radius,1)">27 ImageOptions imageOptions = 28 .setSize(DensityUtil.dip2px(120),DensityUtil.dip2px(120))图片大小
29 30 .setRadius(DensityUtil.dip2px(radius))
31 .setIgnoreGif(32 .setCrop(是否对图片进行裁剪
.setFailureDrawableId(R.mipmap.ic_launcher)
34 .setLoadingDrawableId(R.mipmap.ic_launcher)
35 37 38
40 显示圆形图片,参数(图片控件,图片地址),地址可为网络或本地地址
41 displayRoundness(ImageView imageView,1)">42 ImageOptions imageOptions = 43 44 .setCircular(显示圆形,半径根据控件控制
45 .setCrop()
46 .setIgnoreGif(48 52 }
图片地址
2 String urlx="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1546085784363&di=8ab50ca92e77dcc09ef658b636872f51&imgtype=0&src=http%3A%2F%2Fi0.bbs.fd.zol-img.com.cn%2Ft_s800x5000%2Fg5%2FM00%2F0D%2F05%2FChMkJlnHskGIC8gjAAJBAWB0pxwAAgwNgI_jqMAAkEZ946.jpg"找到imgview控件
5 main_img1=(ImageView)findViewById(R.id.main_img1);
传递参数,显示图片到控件上
ShowImage.displaydDfault(main_img1,urlx);
8
9 main_img2=(ImageView)findViewById(R.id.main_img2);
10 ShowImage.displayCutR(main_img2,3011
12
13 main_img3=(ImageView)findViewById(R.id.main_img3);
14 ShowImage.displayRoundness(main_img3,urlx);