Main3Activity.java 3.43 KB
package com.sunvote.udptest;

import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class Main3Activity extends AppCompatActivity implements FileReciverInterface{

    private TextView serverIp;
    private TextView port;
    private TextView keyid;
    private TextView state;

    private View start;
    private View stop ;
    private Handler handler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        serverIp = findViewById(R.id.server_ip);
        port = findViewById(R.id.server_port);
        keyid = findViewById(R.id.key_id);
        state = findViewById(R.id.state);

        start = findViewById(R.id.start);
        stop = findViewById(R.id.stop);

        handler = new Handler();

        start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DownloadFileModule.getInstance().setFileReciverInterface(Main3Activity.this);
                DownloadFileModule.getInstance().downloadFile(serverIp.getText().toString(),
                Integer.parseInt(port.getText().toString()),Integer.parseInt(keyid.getText().toString()));
                Toast.makeText(Main3Activity.this,"开始下载!",Toast.LENGTH_SHORT).show();
            }
        });

        stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DownloadFileModule.getInstance().clean();
                Toast.makeText(Main3Activity.this,"停止下载!",Toast.LENGTH_SHORT).show();
                setState("准备就绪");
            }
        });
    }

    public void setState(final String msg){
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                state.setText(msg);
            }
        });
    }

    @Override
    public void onConnectServerError() {
        setState("连接服务器失败");
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                setState("准备就绪");
            }
        },1000);
    }

    @Override
    public void onDownloadDataError() {
        setState("下载失败");
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                setState("准备就绪");
            }
        },1000);
    }

    @Override
    public void onDownload(long percent) {
        setState("下载" + percent + "%");
    }

    @Override
    public void onDownloadUserStop() {
        setState("下载取消");
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                setState("准备就绪");
            }
        },1000);
    }

    @Override
    public void onDownloadSuccess() {
        setState("下载成功");

        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                setState("准备就绪");
            }
        },1000);

    }

    @Override
    public void onUnzipError() {
        setState("解压错误");
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                setState("准备就绪");
            }
        },1000);
    }
}