ftp下载

This commit is contained in:
AriaLyy
2017-07-25 18:29:24 +08:00
parent b987c3fcfa
commit 665cc48867
30 changed files with 948 additions and 802 deletions

View File

@ -32,6 +32,7 @@
<activity android:name=".download.HighestPriorityActivity"/>
<activity android:name=".test.TestMutilTaskSysDownload"/>
<activity android:name=".download.group.DownloadGroupActivity"/>
<activity android:name=".download.FtpDownloadActivity"/>
<service android:name=".download.service_download.DownloadService"/>
</application>

View File

@ -5,7 +5,7 @@
<download>
<!--设置下载线程线程下载数改变后新的下载任务才会生效如果任务大小小于1m该设置也不会生效-->
<threadNum value="4"/>
<threadNum value="3"/>
<!--设置下载队列最大任务数, 默认为2-->
<maxTaskNum value="4"/>

View File

@ -23,6 +23,7 @@ import butterknife.OnClick;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityMainBinding;
import com.arialyy.simple.download.DownloadActivity;
import com.arialyy.simple.download.FtpDownloadActivity;
import com.arialyy.simple.download.group.DownloadGroupActivity;
import com.arialyy.simple.test.TestMutilTaskSysDownload;
import com.arialyy.simple.upload.UploadActivity;
@ -44,7 +45,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
}
@OnClick({R.id.download, R.id.upload, R.id.download_task_group})
@OnClick({R.id.download, R.id.upload, R.id.download_task_group, R.id.ftp})
public void funcation(View view){
switch (view.getId()){
case R.id.download:
@ -56,6 +57,9 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
case R.id.download_task_group:
startActivity(new Intent(this, DownloadGroupActivity.class));
break;
case R.id.ftp:
startActivity(new Intent(this, FtpDownloadActivity.class));
break;
}
}

View File

@ -0,0 +1,106 @@
/*
* 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.download;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.util.CommonUtil;
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.ActivityFtpDownloadBinding;
import java.io.File;
/**
* Created by Aria.Lao on 2017/7/25.
* Ftp下载测试
*/
public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding> {
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
Aria.download(this).register();
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(this)
//.load("172.18.104.129", "21", "cd.mp3")
.load("172.18.104.129", "21", "gg.png")
.login("lao", "123456")
.setDownloadPath("/mnt/sdcard/tt.png")
.charSet("gbk")
.start();
break;
case R.id.stop:
break;
case R.id.cancel:
break;
}
}
@Download.onPre() protected void onPre(DownloadTask task) {
L.d(TAG, "ftp pre");
}
@Download.onTaskPre() protected void onTaskPre(DownloadTask task) {
L.d(TAG, "ftp task pre");
getBinding().setFileSize(task.getConvertFileSize());
}
@Download.onTaskStart() void taskStart(DownloadTask task) {
L.d(TAG, "ftp task start");
}
@Download.onTaskRunning() protected void running(DownloadTask task) {
getBinding().setProgress(task.getPercent());
getBinding().setSpeed(task.getConvertSpeed());
}
@Download.onTaskResume() void taskResume(DownloadTask task) {
L.d(TAG, "ftp task resume");
}
@Download.onTaskStop() void taskStop(DownloadTask task) {
L.d(TAG, "ftp task stop");
getBinding().setSpeed("");
}
@Download.onTaskCancel() void taskCancel(DownloadTask task) {
getBinding().setSpeed("");
getBinding().setProgress(0);
}
@Download.onTaskFail() void taskFail(DownloadTask task) {
L.d(TAG, "ftp task fail");
}
@Download.onTaskComplete() void taskComplete(DownloadTask task) {
getBinding().setProgress(100);
Log.d(TAG, "md5 ==> " + CommonUtil.getFileMD5(new File(task.getDownloadPath())));
T.showShort(this, "FTP下载完成");
}
@Override protected int setLayoutId() {
return R.layout.activity_ftp_download;
}
}

View File

@ -38,9 +38,6 @@ import java.util.List;
*/
public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBinding> {
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@Bind(R.id.cancel) Button mCancel;
@Bind(R.id.child_list) SubStateLinearLayout mChildList;
List<String> mUrls;

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name="fileSize"
type="String"
/>
<variable
name="speed"
type="String"
/>
<variable
name="progress"
type="int"
/>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<include layout="@layout/layout_bar"/>
<include
layout="@layout/content_single"
bind:fileSize="@{fileSize}"
bind:progress="@{progress}"
bind:speed="@{speed}"
/>
</LinearLayout>
</layout>

View File

@ -33,5 +33,13 @@
style="?buttonBarButtonStyle"
/>
<Button
android:id="@+id/ftp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="FTP 下载"
style="?buttonBarButtonStyle"
/>
</LinearLayout>
</layout>