@author ringle-android @date 19-2-12 @since 1.0.0
| 53 | * @since 1.0.0 |
| 54 | */ |
| 55 | public class MainActivity extends AppCompatActivity { |
| 56 | private RecyclerView mRecyclerView; |
| 57 | private ArrayList<DownloadBean> mDownloadTasks = new ArrayList<DownloadBean>(); |
| 58 | private static final String TAG = MainActivity.class.getSimpleName(); |
| 59 | |
| 60 | @Override |
| 61 | protected void onCreate(@Nullable Bundle savedInstanceState) { |
| 62 | super.onCreate(savedInstanceState); |
| 63 | setContentView(R.layout.activity_native_download); |
| 64 | createDatasource(); |
| 65 | final NativeDownloadAdapter downloadAdapter = new NativeDownloadAdapter(); |
| 66 | mRecyclerView = this.findViewById(R.id.download_recyclerview); |
| 67 | mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); |
| 68 | mRecyclerView.setItemAnimator(new DefaultItemAnimator()); |
| 69 | mRecyclerView.setAdapter(downloadAdapter); |
| 70 | FileDownloader.setup(this.getApplicationContext()); |
| 71 | this.findViewById(R.id.resumeAllBtn).setOnClickListener(new View.OnClickListener() { |
| 72 | @Override |
| 73 | public void onClick(View v) { |
| 74 | // if (DownloadImpl.getInstance(getApplicationContext()).pausedTasksTotals() > 0) { |
| 75 | // DownloadImpl.getInstance(getApplicationContext()).resumeAll(); |
| 76 | //// downloadAdapter.notifyDataSetChanged(); |
| 77 | // } |
| 78 | /** |
| 79 | * URI 数据协议下载 |
| 80 | */ |
| 81 | DownloadImpl.getInstance(MainActivity.this) |
| 82 | .url("data:application/vnd.ms-excel;base64,PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiAKICB4bWxuczp4PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCIgCiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPgogIDxoZWFkPjxtZXRhIGNoYXJzZXQ9IlVURi04Ij48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD48eDpFeGNlbFdvcmtib29rPjx4OkV4Y2VsV29ya3NoZWV0cz48eDpFeGNlbFdvcmtzaGVldD4KICAgIDx4Ok5hbWU+MjAyMeW5tDEy5pyIMTXml6XlupPlrZjpooTorablr7zlh7rmlbDmja48L3g6TmFtZT4KICAgIDx4OldvcmtzaGVldE9wdGlvbnM+PHg6RGlzcGxheUdyaWRsaW5lcy8+PC94OldvcmtzaGVldE9wdGlvbnM+PC94OkV4Y2VsV29ya3NoZWV0PgogICAgPC94OkV4Y2VsV29ya3NoZWV0cz48L3g6RXhjZWxXb3JrYm9vaz48L3htbD48IVtlbmRpZl0tLT4KICAgIDwvaGVhZD48Ym9keT48dGFibGU+PHRyPjx0ZD7lkI3np7AJPC90ZD48dGQ+5bqT5a2YCTwvdGQ+PHRkPuWNleS9jQk8L3RkPjx0ZD7liIbnsbsJPC90ZD48dGQ+5bqT5a2Y5LiK6ZmQCTwvdGQ+PHRkPuW6k+WtmOS4i+mZkAk8L3RkPjx0ZD7kvpvlupTllYYJPC90ZD48dGQ+6aKE6K2m57G75Z6LCTwvdGQ+PHRkPumihOitpuWAvAk8L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+6L6J54WM5o2u5LqG6KejCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij4wLjAwCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij43OTQ2CTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij7mtYvor5UxCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij4xMDAwMC4wMDAJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPjIuMDAwCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij4JPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPuW6k+WtmOS4jei2swk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+LTIuMDAwCTwvdGQ+PC90cj48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPua1i+ivlTEJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPi0xLjAwCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij7ljIUJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPua1i+ivlQk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+MjAuMDAwCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij41LjAwMAk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+CTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij7lupPlrZjkuI3otrMJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPi02LjAwMAk8L3RkPjwvdHI+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij42NWfniZvmtarmsYnniZvogonlubLvvIjpppnovqPvvIkJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPjAuMDAJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPuiiiwk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+5LyR6Zey6aOf5ZOBCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij4wLjAwMAk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+Mi4wMDAJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPuiHquiQpQk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+5bqT5a2Y5LiN6LazCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij4tMi4wMDAJPC90ZD48L3RyPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+NTBn5Y+v5q+U5YWL57qv5YiH55Wq6IyE5ZGzCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij43MC4wMAk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+5YyFCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij7mlaPnp7Dpo5/lk4EJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPjUwLjAwMAk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+MC4wMDAJPC90ZD48dGQgc3R5bGU9Im1zby1udW1iZXItZm9ybWF0OidAJzsiPuiHquiQpQk8L3RkPjx0ZCBzdHlsZT0ibXNvLW51bWJlci1mb3JtYXQ6J0AnOyI+5bqT5a2Y6L+H5YmpCTwvdGQ+PHRkIHN0eWxlPSJtc28tbnVtYmVyLWZvcm1hdDonQCc7Ij4yMC4wMDAJPC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4=") |
| 83 | .autoOpenIgnoreMD5() |
| 84 | .setEnableIndicator(true) |
| 85 | .enqueue(new DownloadListenerAdapter(){ |
| 86 | @Override |
| 87 | public boolean onResult(Throwable throwable, Uri path, String url, Extra extra) { |
| 88 | return super.onResult(throwable, path, url, extra); |
| 89 | } |
| 90 | }); |
| 91 | } |
| 92 | }); |
| 93 | this.findViewById(R.id.cancelAllBtn).setOnClickListener(new View.OnClickListener() { |
| 94 | @Override |
| 95 | public void onClick(View v) { |
| 96 | List<DownloadTask> downloadTasks = DownloadImpl.getInstance(getApplicationContext()).cancelAll(); |
| 97 | } |
| 98 | }); |
| 99 | // new Thread(new Runnable() { |
| 100 | // @Override |
| 101 | // public void run() { |
| 102 | // Context context = getApplicationContext(); |
| 103 | // /** |
| 104 | // * 文件同步下载 |
| 105 | // */ |
| 106 | // File file = DownloadImpl.getInstance(getApplicationContext()) |
| 107 | // .with("http://www.httpwatch.com/httpgallery/chunked/chunkedimage.aspx?0.04400023248109086") |
| 108 | // .target(context.getCacheDir().getAbsolutePath() + "/a/b/c/d/f/e/g.apk") |
| 109 | // .setDownloadListenerAdapter(new DownloadListenerAdapter() { |
| 110 | // @Override |
| 111 | // public void onProgress(String url, long downloaded, long length, long usedTime) { |
| 112 | // super.onProgress(url, downloaded, length, usedTime); |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…