您的位置:首页 > 理论基础 > 计算机网络

android通过网络下载图片并设置为桌面

2013-09-12 11:17 405 查看
android通过网络下载图片并设置为桌面
package irdc.pingmu;

/* import相关class */
import irdc.pingmu.R;
importjava.io.IOException;

import java.net.URL;

import java.net.URLConnection;
import java.net.URLConnection;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageView; 

 
public class pingmuextends Activity

{

  /* 变量声明 */

  private Button mButton1;

  private Button mButton2;

  private EditText mEditText;

  private ImageView mImageView;

  private Bitmap bm;

  private Button mButton3;
  @Override

  public void onCreate(Bundle savedInstanceState)

  {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    /* 初始化对象 */

    mButton1 =(Button) findViewById(R.id.myButton1);

    mButton2 =(Button) findViewById(R.id.myButton2);

    mButton3=(Button) findViewById(R.id.myButton3);

    mEditText = (EditText) findViewById(R.id.myEdit);

    mImageView = (ImageView) findViewById(R.id.myImage);

    mButton2.setEnabled(false);

    /* 预览图片的Button */

    mButton1.setOnClickListener(new Button.OnClickListener()

    {

      @Override

      public void onClick(View v)

      {

        Stringpath=mEditText.getText().toString();

        if(path.equals(""))

        {

          showDialog("网址不可为空白!");

        }

        else

        {

          /* 传入type=1为预览图片 */

          setImage(path,1);

        }

      }

    });
    /* 将图片设为桌面的Button */

    mButton2.setOnClickListener(new Button.OnClickListener()

    {

      @Override

      public void onClick(View v)

      {

        try

        {

          Stringpath=mEditText.getText().toString();

          if(path.equals(""))

          {

           showDialog("网址不可为空白!");

          }

          else

          {

            /* 传入type=2为设置桌面 */

           setImage(path,2);

          }

        }

        catch (Exception e)

        {

          showDialog("读取错误!网址可能不是图片或网址错误!");

          bm = null;

         mImageView.setImageBitmap(bm);

         mButton2.setEnabled(false);

          e.printStackTrace();

        }

      }

    });

   

    /*将图片还原为默认桌面*/

    mButton3.setOnClickListener(new OnClickListener(){
     @Override

      public void onClick(View v)

      {

        try

        {

         pingmu.this.clearWallpaper();//清楚已有的手机屏幕

          showDialog("取消桌面设置,恢复默认桌面!");

        } catch (IOException e)

        {

          e.printStackTrace();

        }

       

      }

     

    });

  }
  /* 将图片抓下来预览或并设置为桌面的方法 */

  private void setImage(String path,int type)

  {

    try

    {

      URL url = new URL(path);

      URLConnection conn = url.openConnection();

      conn.connect();

      if(type==1)

      {

        /* 预览图片 */

        bm =BitmapFactory.decodeStream(conn.getInputStream());

        mImageView.setImageBitmap(bm);

        mButton2.setEnabled(true);

      }

      else if(type==2)

      {

        /* 设置为桌面 */

       pingmu.this.setWallpaper(conn.getInputStream());

        bm = null;

        mImageView.setImageBitmap(bm);

        mButton2.setEnabled(false);

        showDialog("桌面背景设置完成!");

      }

    }

    catch (Exception e)

    {

      showDialog("读取错误!网址可能不是图片或网址错误!");

      bm = null;

      mImageView.setImageBitmap(bm);

      mButton2.setEnabled(false);

      e.printStackTrace();

    }

  }
  /* 跳出Dialog的方法 */

  private void showDialog(String mess){

    newAlertDialog.Builder(pingmu.this).setTitle("Message")

    .setMessage(mess)

    .setNegativeButton("确定", new DialogInterface.OnClickListener()

    {

      public void onClick(DialogInterface dialog, intwhich)

     {         

  
4000
    }

    })

    .show();

  }

}
 
 
————————————————————————————————————万恶的下划线———————————————————————————————————
 
<main.xml>
 
<?xmlversion="1.0" encoding="utf-8"?>

< AbsoluteLayout

  android:id="@+id/layout1"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:background="@drawable/white"

  xmlns:android="http://schemas.android.com/apk/res/android"

>

  <ImageView

    android:id="@+id/myImage"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_x="20px"

    android:layout_y="152px"

  >

  </ImageView>
  <Button

      android:id="@+id/myButton1"

      android:layout_width="80px"

      android:layout_height="45px"

      android:layout_x="42dp"

      android:layout_y="101dp"

      android:text="@string/str_button1"/>
  <Button

      android:id="@+id/myButton2"

      android:layout_width="80px"

      android:layout_height="45px"

      android:layout_x="116dp"

      android:layout_y="101dp"

      android:text="@string/str_button2"/>
  <EditText

      android:id="@+id/myEdit"

      android:layout_width="280px"

      android:layout_height="wrap_content"

      android:layout_x="54dp"

      android:layout_y="28dp"

      android:ems="10"

      android:text="@string/wangzhi"

      android:textSize="12sp" >
     <requestFocus />

  </EditText>
  <TextView

      android:id="@+id/myText"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:layout_x="101dp"

      android:layout_y="8dp"

      android:text="@string/str_title"

      android:textColor="@drawable/black"

      android:textSize="16sp" />
  <Button

      android:id="@+id/myButton3"

      android:layout_width="80px"

      android:layout_height="45px"

      android:layout_x="190dp"

      android:layout_y="103dp"

      android:text="@string/str_button3"/>
</AbsoluteLayout>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: