ftp断点上传
This commit is contained in:
Aria/src/main/java/com/arialyy/aria
core
Aria.javaAriaManager.java
command
common
AbsFileer.javaAbsThreadTask.javaIUtil.javaProxyHelper.javaQueueMod.javaRequestEnum.javaStateConstance.javaSubThreadConfig.java
download
BaseGroupTarget.javaBaseListener.javaDownloadEntity.javaDownloadGroupTask.javaDownloadListener.javaDownloadReceiver.javaDownloadTarget.javaDownloadTask.java
downloader
inf
AbsNormalEntity.javaAbsTarget.javaAbsTaskEntity.javaAbsUploadTarget.javaIDownloadListener.javaIEventListener.javaITarget.javaIUploadListener.java
queue
upload
util
app/src/main
aria/src/main/java/com/arialyy/aria/core
@ -26,7 +26,7 @@ import com.arialyy.simple.download.DownloadActivity;
|
||||
import com.arialyy.simple.download.FtpDownloadActivity;
|
||||
import com.arialyy.simple.download.group.DownloadGroupActivity;
|
||||
import com.arialyy.simple.download.group.FTPDirDownloadActivity;
|
||||
import com.arialyy.simple.test.TestMutilTaskSysDownload;
|
||||
import com.arialyy.simple.upload.FtpUploadActivity;
|
||||
import com.arialyy.simple.upload.UploadActivity;
|
||||
|
||||
/**
|
||||
@ -45,8 +45,10 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
|
||||
return R.layout.activity_main;
|
||||
}
|
||||
|
||||
@OnClick({ R.id.download, R.id.upload, R.id.download_task_group, R.id.ftp, R.id.ftp_dir })
|
||||
public void funcation(View view) {
|
||||
@OnClick({
|
||||
R.id.download, R.id.upload, R.id.download_task_group, R.id.ftp_download,
|
||||
R.id.ftp_dir_download, R.id.ftp_upload
|
||||
}) public void funcation(View view) {
|
||||
switch (view.getId()) {
|
||||
case R.id.download:
|
||||
startActivity(new Intent(this, DownloadActivity.class));
|
||||
@ -57,12 +59,15 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
|
||||
case R.id.download_task_group:
|
||||
startActivity(new Intent(this, DownloadGroupActivity.class));
|
||||
break;
|
||||
case R.id.ftp:
|
||||
case R.id.ftp_download:
|
||||
startActivity(new Intent(this, FtpDownloadActivity.class));
|
||||
break;
|
||||
case R.id.ftp_dir:
|
||||
case R.id.ftp_dir_download:
|
||||
startActivity(new Intent(this, FTPDirDownloadActivity.class));
|
||||
break;
|
||||
case R.id.ftp_upload:
|
||||
startActivity(new Intent(this, FtpUploadActivity.class));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ public class DownloadModule extends BaseModule {
|
||||
String path = Environment.getExternalStorageDirectory() + "/download/" + name + ".apk";
|
||||
DownloadEntity entity = new DownloadEntity();
|
||||
entity.setFileName(name);
|
||||
entity.setDownloadUrl(downloadUrl);
|
||||
entity.setUrl(downloadUrl);
|
||||
entity.setDownloadPath(path);
|
||||
return entity;
|
||||
}
|
||||
|
@ -87,9 +87,9 @@ public class HighestPriorityActivity extends BaseActivity<ActivityHighestPriorit
|
||||
List<DownloadEntity> temp = Aria.download(this).getSimpleTaskList();
|
||||
if (temp != null && !temp.isEmpty()) {
|
||||
for (DownloadEntity entity : temp) {
|
||||
if (entity.getDownloadUrl().equals(DOWNLOAD_URL)) continue;
|
||||
if (entity.getUrl().equals(DOWNLOAD_URL)) continue;
|
||||
mData.add(entity);
|
||||
mRecord.add(entity.getDownloadUrl());
|
||||
mRecord.add(entity.getUrl());
|
||||
}
|
||||
}
|
||||
mAdapter = new DownloadAdapter(this, mData);
|
||||
@ -112,7 +112,7 @@ public class HighestPriorityActivity extends BaseActivity<ActivityHighestPriorit
|
||||
case R.id.add_task:
|
||||
List<DownloadEntity> temp = getModule(DownloadModule.class).getHighestTestList();
|
||||
for (DownloadEntity entity : temp) {
|
||||
String url = entity.getDownloadUrl();
|
||||
String url = entity.getUrl();
|
||||
if (mRecord.contains(url)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
|
||||
msg = "一些小知识点:\n"
|
||||
+ "1、你可以在注解中增加链接,用于指定被注解的方法只能被特定的下载任务回调,以防止progress乱跳\n"
|
||||
+ "2、当遇到网络慢的情况时,你可以先使用onPre()更新UI界面,待连接成功时,再在onTaskPre()获取完整的task数据,然后给UI界面设置正确的数据\n"
|
||||
+ "3、你可以在界面初始化时通过Aria.download(this).load(DOWNLOAD_URL).getPercent()等方法快速获取相关任务的一些数据";
|
||||
+ "3、你可以在界面初始化时通过Aria.download(this).load(URL).getPercent()等方法快速获取相关任务的一些数据";
|
||||
showMsgDialog("tip", msg);
|
||||
break;
|
||||
case R.id.speed_0:
|
||||
@ -188,13 +188,13 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
|
||||
//String text = ((TextView) view).getText().toString();
|
||||
//if (text.equals("重新开始?") || text.equals("开始")) {
|
||||
// Aria.download(this)
|
||||
// .load(DOWNLOAD_URL)
|
||||
// .load(URL)
|
||||
// .addHeader("groupName", "value")
|
||||
// .setDownloadPath(Environment.getExternalStorageDirectory().getPath() + "/test.apk")
|
||||
// .setFileName("hehe.apk")
|
||||
// .start();
|
||||
//} else if (text.equals("恢复")) {
|
||||
// Aria.download(this).load(DOWNLOAD_URL).resume();
|
||||
// Aria.download(this).load(URL).resume();
|
||||
//}
|
||||
Aria.download(this)
|
||||
.load(DOWNLOAD_URL)
|
||||
|
@ -58,7 +58,7 @@ public class DownloadAdapter extends AbsRVAdapter<AbsEntity, DownloadAdapter.Sim
|
||||
|
||||
private String getKey(AbsEntity entity) {
|
||||
if (entity instanceof DownloadEntity) {
|
||||
return ((DownloadEntity) entity).getDownloadUrl();
|
||||
return ((DownloadEntity) entity).getUrl();
|
||||
} else if (entity instanceof DownloadGroupEntity) {
|
||||
return ((DownloadGroupEntity) entity).getGroupName();
|
||||
}
|
||||
@ -73,7 +73,7 @@ public class DownloadAdapter extends AbsRVAdapter<AbsEntity, DownloadAdapter.Sim
|
||||
|
||||
public void addDownloadEntity(DownloadEntity entity) {
|
||||
mData.add(entity);
|
||||
mPositions.put(entity.getDownloadUrl(), mPositions.size());
|
||||
mPositions.put(entity.getUrl(), mPositions.size());
|
||||
}
|
||||
|
||||
@Override public int getItemViewType(int position) {
|
||||
|
@ -3,7 +3,7 @@ package com.arialyy.simple.test;
|
||||
import android.os.Environment;
|
||||
import android.view.View;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.arialyy.aria.core.QueueMod;
|
||||
import com.arialyy.aria.core.common.QueueMod;
|
||||
import com.arialyy.simple.R;
|
||||
import com.arialyy.simple.base.BaseActivity;
|
||||
import com.arialyy.simple.databinding.TestActivityMultiBinding;
|
||||
|
@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.arialyy.simple.upload;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import com.arialyy.annotations.Upload;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.arialyy.aria.core.upload.UploadTask;
|
||||
import com.arialyy.frame.util.show.L;
|
||||
import com.arialyy.frame.util.show.T;
|
||||
import com.arialyy.simple.R;
|
||||
import com.arialyy.simple.base.BaseActivity;
|
||||
import com.arialyy.simple.databinding.ActivityFtpUploadBinding;
|
||||
|
||||
/**
|
||||
* Created by Aria.Lao on 2017/7/28.
|
||||
* Ftp 文件上传demo
|
||||
*/
|
||||
public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
|
||||
private final String FILE_PATH = "/mnt/sdcard/王者军团.apk";
|
||||
private final String URL = "ftp://172.18.104.129:21/upload/";
|
||||
|
||||
@Override protected void init(Bundle savedInstanceState) {
|
||||
super.init(savedInstanceState);
|
||||
Aria.upload(this).register();
|
||||
}
|
||||
|
||||
@Override protected int setLayoutId() {
|
||||
return R.layout.activity_ftp_upload;
|
||||
}
|
||||
|
||||
public void onClick(View view) {
|
||||
switch (view.getId()) {
|
||||
case R.id.start:
|
||||
Aria.upload(this).loadFtp(FILE_PATH).setUploadUrl(URL).login("lao", "123456").start();
|
||||
break;
|
||||
case R.id.stop:
|
||||
Aria.upload(this).loadFtp(FILE_PATH).stop();
|
||||
break;
|
||||
case R.id.cancel:
|
||||
Aria.upload(this).load(FILE_PATH).cancel();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Upload.onPre public void onPre(UploadTask task) {
|
||||
getBinding().setFileSize(task.getConvertFileSize());
|
||||
}
|
||||
|
||||
@Upload.onTaskPre public void taskPre(UploadTask task) {
|
||||
L.d(TAG, "fileSize = " + task.getConvertFileSize());
|
||||
}
|
||||
|
||||
@Upload.onTaskStart public void taskStart(UploadTask task) {
|
||||
|
||||
}
|
||||
|
||||
@Upload.onTaskStop public void taskStop(UploadTask task) {
|
||||
getBinding().setSpeed("");
|
||||
Log.d(TAG, "停止上传");
|
||||
}
|
||||
|
||||
@Upload.onTaskCancel public void taskCancel(UploadTask task) {
|
||||
getBinding().setSpeed("");
|
||||
Log.d(TAG, "取消上传");
|
||||
}
|
||||
|
||||
@Upload.onTaskRunning public void taskRunning(UploadTask task) {
|
||||
getBinding().setProgress(task.getPercent());
|
||||
getBinding().setSpeed(task.getConvertSpeed());
|
||||
}
|
||||
|
||||
@Upload.onTaskComplete public void taskComplete(UploadTask task) {
|
||||
getBinding().setProgress(100);
|
||||
getBinding().setSpeed("");
|
||||
T.showShort(this, "上传完成");
|
||||
}
|
||||
}
|
@ -29,14 +29,13 @@ import com.arialyy.frame.util.show.L;
|
||||
import com.arialyy.frame.util.show.T;
|
||||
import com.arialyy.simple.R;
|
||||
import com.arialyy.simple.base.BaseActivity;
|
||||
import com.arialyy.simple.databinding.ActivityUploadMeanBinding;
|
||||
import com.arialyy.simple.databinding.ActivityUploadBinding;
|
||||
import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
/**
|
||||
* Created by Aria.Lao on 2017/2/9.
|
||||
*/
|
||||
public class UploadActivity extends BaseActivity<ActivityUploadMeanBinding> {
|
||||
public class UploadActivity extends BaseActivity<ActivityUploadBinding> {
|
||||
private static final String TAG = "UploadActivity";
|
||||
@Bind(R.id.pb) HorizontalProgressBarWithNumber mPb;
|
||||
private static final int START = 0;
|
||||
@ -74,7 +73,7 @@ public class UploadActivity extends BaseActivity<ActivityUploadMeanBinding> {
|
||||
};
|
||||
|
||||
@Override protected int setLayoutId() {
|
||||
return R.layout.activity_upload_mean;
|
||||
return R.layout.activity_upload;
|
||||
}
|
||||
|
||||
@Override protected void init(Bundle savedInstanceState) {
|
||||
|
Reference in New Issue
Block a user