android控件之DowloadManager
来源:互联网 发布:linux虚拟机共享文件 编辑:程序博客网 时间:2024/06/06 05:58
package com.lan.www;
import java.io.File;
import android.app.Activity;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class DowloadManagerActivity extends Activity {
/** Called when the activity is first created. */
TextView tv;
Button btDel;
DownloadManager dm;
long downloadId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
btDel = (Button) findViewById(R.id.button2);
btDel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//这个方法是变参,可以有多个参数
dm.remove(downloadId);//删除
}
});
//得到系统的DownloadManager
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
public void doClick(View v)
{
DownloadManager.Request dmReq =
//转化成Uri的格式
new DownloadManager.Request(Uri.parse("http://127.0.0.1:8080/tomServer/file/db.zip"));
dmReq.setTitle("db.zip");//设置标题
dmReq.setDescription(" downloading!");//设置工作状态
Uri.fromFile(new File(
//设置公共路径
Environment.getExternalStoragePublicDirectory(
//设置文件
Environment.DIRECTORY_DOWNLOADS
).getAbsoluteFile()
+".zip")
));
//放到一个队列里,队列里系统里会给一个Id;
downloadId = dm.enqueue(dmReq);
//设置过虑器,用系统给的就可以,可以添加多外过虑器,添加多个用add
IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
//注册广播
registerReceiver(thereReceiver, filter);
tv.setText(tv.getText().toString()+" download started : id = "+downloadId);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
//解除注册广播
unregisterReceiver(thereReceiver);
}
public BroadcastReceiver thereReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle extras = intent.getExtras();
long doneId = extras.getLong(DownloadManager.EXTRA_DOWNLOAD_ID);
tv.setText(tv.getText().toString()+" \nfinish "+doneId);
}
};
}
import java.io.File;
import android.app.Activity;
import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class DowloadManagerActivity extends Activity {
/** Called when the activity is first created. */
TextView tv;
Button btDel;
DownloadManager dm;
long downloadId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
btDel = (Button) findViewById(R.id.button2);
btDel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//这个方法是变参,可以有多个参数
dm.remove(downloadId);//删除
}
});
//得到系统的DownloadManager
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
public void doClick(View v)
{
DownloadManager.Request dmReq =
//转化成Uri的格式
new DownloadManager.Request(Uri.parse("http://127.0.0.1:8080/tomServer/file/db.zip"));
dmReq.setTitle("db.zip");//设置标题
dmReq.setDescription(" downloading!");//设置工作状态
//禁止发出通知,既后台下载 down.setShowRunningNotification(false);
//不显示下载界面 down.setVisibleInDownloadsUi(false);
//设置下载方式,(这里设置的是3G和WIFI)
dmReq.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE|DownloadManager.Request.NETWORK_WIFI);
//dmReqi.setDestinationUri整合了下面两种方法
//dmReq.setDestinationInExternalFilesDir(context, dirType, subPath);//设置下载后文件存放的位置
// dmReq.setDestinationInExternalPublicDir(dirType, subPath); //公共路径
Uri.fromFile(new File(
//设置公共路径
Environment.getExternalStoragePublicDirectory(
//设置文件
Environment.DIRECTORY_DOWNLOADS
).getAbsoluteFile()
+".zip")
));
//放到一个队列里,队列里系统里会给一个Id;
downloadId = dm.enqueue(dmReq);
//设置过虑器,用系统给的就可以,可以添加多外过虑器,添加多个用add
IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
//注册广播
registerReceiver(thereReceiver, filter);
tv.setText(tv.getText().toString()+" download started : id = "+downloadId);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
//解除注册广播
unregisterReceiver(thereReceiver);
}
public BroadcastReceiver thereReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle extras = intent.getExtras();
long doneId = extras.getLong(DownloadManager.EXTRA_DOWNLOAD_ID);
tv.setText(tv.getText().toString()+" \nfinish "+doneId);
}
};
}
android设置配置文件
添加下面两条权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
- android控件之DowloadManager
- android控件之DowloadManager
- Android 控件之对话框
- Android 控件之ListView
- Android 控件之Spinner
- Android 控件之GridView
- Android 控件之GridView
- android控件之Textview
- android控件之EditText
- Android控件之ExpandableListView
- Android控件之ExpandableListView
- android控件之SeekBar
- Android控件之ListView
- Android控件之ListView
- Android控件之ExpandableListView
- android控件之imageView
- android控件之progressbar
- android控件之gallery
- 均线
- 将EXCEL 中的数据导入,转化为DataTable
- tslib移植
- TTF文件的制作——打造属于自己的字体
- android:ellipsize省略文字用法
- android控件之DowloadManager
- “懒惰” Linux 管理员的 10 个关键技巧
- 使用python-libvirt API 迁移
- MPEG简介 + 如何计算CBR/VBR MP3的播放时间 - 1
- Web地图比较器(Swipe Tool)和三向地图查看器
- 不支持尝试执行的操作
- 【android】scaleType属性与ImagView中图片的显示的关系
- Matlab将图片转换成asc码txt文本格式
- ubuntu中apt-get的默认安装路径