android Service 下载文件
来源:互联网 发布:win7软件联网慢 编辑:程序博客网 时间:2024/04/27 20:45
我们知道在android中,activity 不能完成长时间的任务,activity调用service是在同一个线程内的,service是可以完成长时间的任务,但它一定要运行在线程中,不能阻塞UI线程,在之前写了一个例子是播放音乐的,表面好似没有用到线程,但在播放音乐时,它里面是用到线程的。所以在下载文件时,要在线程中来完成。这一点要注意,否则理解service会有一定的困难。
看看service中的代码怎么来写:
public class DownService extends Service {
@Override
public void onCreate() {
}
class ThreadDemo extends Thread{
@Override
public void run() {
String urlStr="http://192.168.1.105:8080/test/down.txt";
try {
/*
* 通过URL取得HttpURLConnection
* 要网络连接成功,需在AndroidMainfest.xml中进行权限配置
* <uses-permission android:name="android.permission.INTERNET" />
*/
URL url=new URL(urlStr);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
//取得inputStream,并进行读取
InputStream input=conn.getInputStream();
BufferedReader in=new BufferedReader(new InputStreamReader(input));
String line=null;
StringBuffer sb=new StringBuffer();
while((line=in.readLine())!=null){
sb.append(line);
}
System.out.println("data:"+sb.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.out.println("****start********");
new ThreadDemo().start();
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}
剩下的就在activity中直接启动服务即可了,startservice()。
- android Service 下载文件
- android--利用Service进行文件下载
- Android实现Service下载文件,Notification显示下载进度
- Android Service下载文件并自定义通知提示下载
- Android Service下载文件并自定义通知提示下载
- android service探究(附:使用服务功能下载文件)
- Android 后台Service下载
- android Service实现后台下载
- Android通过后台service下载
- android开发----service下载图片
- Android学习笔记:通过Android之Service实现文件断点续传下载
- 【No3.】实现使用Service下载APK文件
- web service文件下载与上传有价值。
- Spring Boot Rest Service 下载文件
- HttpURLConnection实现文件下载,Service加Notification实现后台下载
- Android实现Service后台下载Notification进度条
- BlackBerry Enterprise Service 10 for Android下载
- Android实现Service后台下载Notification进度条
- BNU 29045 Party Games - from lanshui_Yang
- 平面分割问题
- 专业-房地产行业公司呼叫中心客户服务系统软件解决方案
- static_cast、dynamic_cast reinterpret_cast和const_
- PHPNOW-1.5.6安装Memcached扩展及相关下载
- android Service 下载文件
- 单链表中删除重复值
- 八字易经算法之用JAVA实现二十八星宿算命
- 删除单链表中特定值
- Remove Classic Shell with WindowsUninstaller.Org Removal Tips
- 校园APP项目之路
- 关于如何重写hashCode的方法
- 访问 IIS 元数据库失败。
- VS2010 visual assist x中文注释错误解决