离线下载(MainActivity)
来源:互联网 发布:怎么刷新微信运动数据 编辑:程序博客网 时间:2024/05/29 04:45
package com.example.lixianxiazai;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Toast;import org.xutils.common.Callback;import org.xutils.common.task.PriorityExecutor;import org.xutils.http.RequestParams;import org.xutils.x;import java.io.File;import java.net.Authenticator;public class MainActivity extends AppCompatActivity { private Callback.Cancelable cancelable; private ConnectivitvBroadcastReceiver mconnectivitvBroadcastReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); mconnectivitvBroadcastReceiver = new ConnectivitvBroadcastReceiver(); registerReceiver(mconnectivitvBroadcastReceiver, filter); } public void goDown() { onClick(null); } public void onClick(View v) { //下载 RequestParams params = new RequestParams("http://tc.sinaimg.cn/maxwidth.800/tc.service.weibo.com/p3_pstatp_com/a0dc4efe4d9f66ea71dd1fee2691b6b6.jpg"); //设置保存路径 params.setSaveFilePath(getExternalCacheDir().getAbsolutePath() + "/bvhv.jpg"); Log.e("tag", "=====================" + getExternalCacheDir().getAbsolutePath()); //设置可以断点续传 params.setAutoRename(true); //设置一个线程池,有三个线程 params.setExecutor(new PriorityExecutor(3, true)); cancelable = x.http().get(params, new Callback.ProgressCallback<File>() { @Override public void onSuccess(File result) { Toast.makeText(MainActivity.this, "下载完成", Toast.LENGTH_SHORT).show(); } @Override public void onError(Throwable ex, boolean isOnCallback) { Toast.makeText(MainActivity.this, "下载onError", Toast.LENGTH_SHORT).show(); } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { Toast.makeText(MainActivity.this, "下载onFinished", Toast.LENGTH_SHORT).show(); } @Override public void onWaiting() { } @Override public void onStarted() { } @Override public void onLoading(long total, long current, boolean isDownloading) { } }); } //接受网咯状态的改变 public class ConnectivitvBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { //如果走到此处,说明网洛已经发生变化 ConnectivityManager manager = (ConnectivityManager) getSystemService(context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = manager.getActiveNetworkInfo(); if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) { if (ConnectivityManager.TYPE_WIFI == activeNetworkInfo.getType()) { goDown(); Toast.makeText(MainActivity.this, "wifi可用,下载吧", Toast.LENGTH_SHORT).show(); } else if (ConnectivityManager.TYPE_MOBILE == activeNetworkInfo.getType()) { Toast.makeText(MainActivity.this, "移动网络可用,下载吧", Toast.LENGTH_SHORT).show(); cancelable.cancel(); } else { Toast.makeText(MainActivity.this, "网络不可用", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(MainActivity.this, "网络不可用", Toast.LENGTH_SHORT).show(); } } } } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mconnectivitvBroadcastReceiver); }}
阅读全文
0 0
- 离线下载(MainActivity)
- 离线下载
- 离线下载
- 离线下载
- 离线下载
- 离线下载
- MainActivity
- mainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- MainActivity
- caffe之具体运行流程分析
- java学习笔记之线程2
- 打造一个简单的Java字节码反编译器
- 深入剖析Nginx时间缓存
- 最大化平均值
- 离线下载(MainActivity)
- XML 新手入门基础知识
- ZOJ 3494 AC自动机+数位DP
- 简易Vector
- 基于string的undered_map的实现
- string 一些
- mybatis查询缓存
- 对类的理解
- 数据结构和算法分析之排序篇--归并排序(Merge Sort)和常用排序算法时间复杂度比较(附赠记忆方法)