使用afinal框架实现简单的下载
来源:互联网 发布:网络诈骗主题班会记录 编辑:程序博客网 时间:2024/05/22 21:33
这是一只小菜鸟的日常笔记,希望得到大神指点........
public class MainActivity extends Activity implements OnClickListener {
private Button mBtn_Start;
private Button mBtn_Pause;
private ProgressBar mProgressBar;
private TextView mDTextView;
private HttpHandler<File> handler;
private Button mBtn_Pause;
private ProgressBar mProgressBar;
private TextView mDTextView;
private HttpHandler<File> handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
/**
* 初始化控件
*/
private void initView() {
* 初始化控件
*/
private void initView() {
mBtn_Start = (Button) findViewById(R.id.btn_start);
mBtn_Pause = (Button) findViewById(R.id.btn_pause);
mDTextView = (TextView) findViewById(R.id.tv_download);
mProgressBar = (ProgressBar) findViewById(R.id.pb_progressbar);
mBtn_Pause = (Button) findViewById(R.id.btn_pause);
mDTextView = (TextView) findViewById(R.id.tv_download);
mProgressBar = (ProgressBar) findViewById(R.id.pb_progressbar);
mBtn_Start.setOnClickListener(this);
mBtn_Pause.setOnClickListener(this);
mBtn_Pause.setOnClickListener(this);
}
@Override
public void onClick(View v) {
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start:
Toast.makeText(this, "开始下载", Toast.LENGTH_SHORT).show();
case R.id.btn_start:
Toast.makeText(this, "开始下载", Toast.LENGTH_SHORT).show();
// 请求网络,下载文件
downLoad();
downLoad();
break;
case R.id.btn_pause:
case R.id.btn_pause:
Toast.makeText(this, "暂停", Toast.LENGTH_SHORT).show();
// 调用stop()方法暂停下载
handler.stop();
break;
handler.stop();
break;
}
}
/**
* 下载文件
*/
private void downLoad() {
* 下载文件
*/
private void downLoad() {
FinalHttp finalHttp = new FinalHttp();
// 下载路径
String url = "http://192.168.101.144:8080/360MobileSaf.apk";
// 保存到本地的路径
String target = "/mnt/sdcard/MobileSaf.apk";
// 下载路径
String url = "http://192.168.101.144:8080/360MobileSaf.apk";
// 保存到本地的路径
String target = "/mnt/sdcard/MobileSaf.apk";
handler = finalHttp.download(url, target, true,
new AjaxCallBack<File>() {
new AjaxCallBack<File>() {
@Override
public int getRate() {
return super.getRate();
}
public int getRate() {
return super.getRate();
}
@Override
public void onLoading(long count, long current) {
super.onLoading(count, current);
System.out.println("开始下载");
mProgressBar.setVisibility(View.VISIBLE);
mProgressBar.setProgress((int) current);
mProgressBar.setMax((int) count);
public void onLoading(long count, long current) {
super.onLoading(count, current);
System.out.println("开始下载");
mProgressBar.setVisibility(View.VISIBLE);
mProgressBar.setProgress((int) current);
mProgressBar.setMax((int) count);
mDTextView.setVisibility(View.VISIBLE);
// 把long转化为MB
String progress = Formatter.formatFileSize(
MainActivity.this, current);
String total = Formatter.formatFileSize(
MainActivity.this, count);
String progress = Formatter.formatFileSize(
MainActivity.this, current);
String total = Formatter.formatFileSize(
MainActivity.this, count);
mDTextView.setText("已下载:" + progress + "总共:" + total);
// mDTextView.setText("速度"+getRate());
}
// mDTextView.setText("速度"+getRate());
}
@Override
public void onSuccess(File t) {
super.onSuccess(t);
System.out.println("下载完成");
Toast.makeText(MainActivity.this, "下载完成",
Toast.LENGTH_SHORT).show();
mProgressBar.setVisibility(View.GONE);
mDTextView.setVisibility(View.GONE);
public void onSuccess(File t) {
super.onSuccess(t);
System.out.println("下载完成");
Toast.makeText(MainActivity.this, "下载完成",
Toast.LENGTH_SHORT).show();
mProgressBar.setVisibility(View.GONE);
mDTextView.setVisibility(View.GONE);
}
@Override
public void onFailure(Throwable t, String strMsg) {
super.onFailure(t, strMsg);
Toast.makeText(MainActivity.this, "下载失败",
Toast.LENGTH_SHORT).show();
}
public void onFailure(Throwable t, String strMsg) {
super.onFailure(t, strMsg);
Toast.makeText(MainActivity.this, "下载失败",
Toast.LENGTH_SHORT).show();
}
});
}
}
下面贴出布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_start"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="开始下载" />
android:id="@+id/btn_start"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="开始下载" />
<Button
android:id="@+id/btn_pause"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="暂停下载" />
</LinearLayout>
android:id="@+id/btn_pause"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="暂停下载" />
</LinearLayout>
<ProgressBar
android:id="@+id/pb_progressbar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="20dp"
android:visibility="gone" />
android:id="@+id/pb_progressbar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="20dp"
android:visibility="gone" />
<TextView
android:id="@+id/tv_download"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="已下载xxM,总共xxM"
android:visibility="gone" />
android:id="@+id/tv_download"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="已下载xxM,总共xxM"
android:visibility="gone" />
</LinearLayout>
0 0
- 使用afinal框架实现简单的下载
- Afinal框架的使用
- android---Afinal开源框架的使用
- Xutil跟AFinal框架的使用
- Android - (Afinal)框架使用
- Android Afinal简单使用
- Android利用afinal框架进行软件的更新下载
- Android afinal注解的使用与实现
- afinal框架的Demo
- afinal logoAndroid的快速开发框架 afinal
- Afinal 框架 Afinal DB的学习
- Afinal框架afinal.jar包的导入
- afinal logoAndroid的快速开发框架 afinal
- android -- 框架 使用android快速开发框架afinal的FinalBitmap
- 使用AFinal框架实现HTTP请求从网络获取数据
- 基于Afinal框架的更强大的xUtils的使用
- 【Android实战】Afinal框架的使用大全案例
- Afinal开源框架中FinalActivity的使用
- Action配置
- 顺序串的实现(插入、截取、匹配)
- PHP原生态记录Log函数
- mfc 单文档显示当前系统时间
- 分数修改
- 使用afinal框架实现简单的下载
- 八皇后问题
- 学习YAML
- JavaScript 中判断对象的类型
- Show me the code之Python练习册 Q11~12 关键词过滤
- SQL的插入语句insert
- AS主题+配置备份+Logcat颜色配置
- 使用chrome的xpath工具
- android studio api 23 android 6.0 requires android.permission.READ_CONTACTS or android.permiss