zoukankan      html  css  js  c++  java
  • Android 利用Service实现下载网络图片至sdk卡

     1 package com.example.myapp5;
     2 
     3 import android.app.Activity;
     4 import android.content.Intent;
     5 import android.os.Bundle;
     6 import android.view.View;
     7 import android.widget.Button;
     8 /**
     9  * Android 利用service实现下载图片功能
    10  * @author shaobn
    11  * @date 2015-9-14
    12  * @packege com.example.myapp5.MyApp5
    13  */
    14 public class MainActivity extends Activity {
    15     private Button button;
    16     @Override
    17     protected void onCreate(Bundle savedInstanceState) {
    18         super.onCreate(savedInstanceState);
    19         setContentView(R.layout.activity_main);
    20         button = (Button) this.findViewById(R.id.button1);
    21         button.setOnClickListener(new View.OnClickListener() {
    22             
    23             @Override
    24             public void onClick(View arg0) {
    25                 // TODO Auto-generated method stub
    26                 Intent intent = new Intent(MainActivity.this,MyService.class);
    27                 startService(intent);
    28             }
    29         });
    30     }    
    31 }
     1 package com.example.myapp5;
     2 
     3 import java.io.File;
     4 import java.io.FileOutputStream;
     5 
     6 import org.apache.http.HttpResponse;
     7 import org.apache.http.client.HttpClient;
     8 import org.apache.http.client.methods.HttpGet;
     9 import org.apache.http.impl.client.DefaultHttpClient;
    10 import org.apache.http.util.EntityUtils;
    11 
    12 import android.app.Service;
    13 import android.content.Intent;
    14 import android.os.Environment;
    15 import android.os.Handler;
    16 import android.os.IBinder;
    17 import android.os.Message;
    18 import android.widget.Toast;
    19 
    20 public class MyService extends Service {
    21     private final static String IMAGEPAH = "https://www.baidu.com/img/bd_logo1.png";
    22     @Override
    23     public void onCreate() {
    24         // TODO Auto-generated method stub
    25         super.onCreate();
    26     }
    27     @Override
    28     public IBinder onBind(Intent arg0) {
    29         // TODO Auto-generated method stub
    30         return null;
    31     }
    32 
    33     @Override
    34     public int onStartCommand(Intent intent, int flags, int startId) {
    35         // TODO Auto-generated method stub
    36         final Handler handler = new Handler(){
    37             
    38             public void handleMessage(android.os.Message msg) {
    39                 if(msg.what==1){
    40                     Toast.makeText(getApplicationContext(), "关闭了", 1).show();
    41                     stopSelf();
    42                 }        
    43             };
    44             
    45         };
    46         new Thread(new Runnable() {
    47             
    48             @Override
    49             public void run() {
    50                 // TODO Auto-generated method stub
    51                 HttpClient httpClient = new DefaultHttpClient();
    52                 HttpGet httpGet = new HttpGet(IMAGEPAH);
    53                 HttpResponse httpResponse = null;
    54                 File file = Environment.getExternalStorageDirectory();
    55                 File file2 = null;
    56                 FileOutputStream fos = null;
    57                 try {
    58                 httpResponse =httpClient.execute(httpGet);
    59                 if (httpResponse.getStatusLine().getStatusCode()==200) {
    60                     byte[] num = EntityUtils.toByteArray(httpResponse.getEntity());
    61                     if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    62                         file2 = new File(file, "/Movies/a.jpg");
    63                         file2.createNewFile();
    64                         fos = new FileOutputStream(file2);
    65                         fos.write(num);
    66                         Message message = Message.obtain();
    67                         message.what = 1;
    68                         handler.sendMessage(message);
    69                     }
    70                 }
    71                     
    72                 } catch (Exception e) {
    73                     e.printStackTrace();// TODO: handle exception
    74                 }finally{
    75                     if(fos!=null){
    76                         try {
    77                             fos.close();
    78                         } catch (Exception e2) {
    79                             // TODO: handle exception
    80                             e2.printStackTrace();
    81                         }
    82                     }
    83                 
    84                 }
    85                 
    86             }
    87         }).start();
    88         return super.onStartCommand(intent, flags, startId);
    89     }
    90     @Override
    91     public void onDestroy() {
    92         // TODO Auto-generated method stub
    93         super.onDestroy();
    94     }
    95 }


               
         

  • 相关阅读:
    C# 一个用到WPF 和 反射的例子.
    Html 效果之 A 标签.
    HttpModule 的权限管理
    C# 入门经典示例.
    CSS 圆角边框
    .NET 平台文件去除行号
    C#调用WinApi关闭电脑屏幕含自动监视有无输入活动检测
    还是XP好啊
    SQL执行效率测试语句
    自用SqlHelper
  • 原文地址:https://www.cnblogs.com/assassin666/p/4808537.html
Copyright © 2011-2022 走看看