EX08_10.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex08_10; 
  2. /* import相关class */
  3. import java.net.URL; 
  4. import java.net.URLConnection; 
  5. import android.app.Activity; 
  6. import android.app.AlertDialog;
  7. import android.content.DialogInterface;
  8. import android.graphics.Bitmap; 
  9. import android.graphics.BitmapFactory; 
  10. import android.os.Bundle; 
  11. import android.view.View; 
  12. import android.widget.Button; 
  13. import android.widget.EditText;
  14. import android.widget.ImageView;  
  15. public class EX08_10 extends Activity 
  16.   /* 变量声明 */
  17.   private Button mButton1;
  18.   private Button mButton2;
  19.   private EditText mEditText;
  20.   private ImageView mImageView; 
  21.   private Bitmap bm;
  22.   @Override 
  23.   public void onCreate(Bundle savedInstanceState) 
  24.   { 
  25.     super.onCreate(savedInstanceState); 
  26.     setContentView(R.layout.main); 
  27.     /* 初始化对象 */
  28.     mButton1 =(Button) findViewById(R.id.myButton1);
  29.     mButton2 =(Button) findViewById(R.id.myButton2);
  30.     mEditText = (EditText) findViewById(R.id.myEdit);
  31.     mImageView = (ImageView) findViewById(R.id.myImage);
  32.     mButton2.setEnabled(false);
  33.     /* 预览图片的Button */
  34.     mButton1.setOnClickListener(new Button.OnClickListener() 
  35.     { 
  36.       @Override 
  37.       public void onClick(View v)
  38.       {
  39.         String path=mEditText.getText().toString();
  40.         if(path.equals(""))
  41.         {
  42.           showDialog("网址不可为空白!");
  43.         }
  44.         else
  45.         {
  46.           /* 传入type=1为预览图片 */
  47.           setImage(path,1);
  48.         }
  49.       } 
  50.     });
  51.     /* 将图片设为桌面的Button */
  52.     mButton2.setOnClickListener(new Button.OnClickListener() 
  53.     { 
  54.       @Override 
  55.       public void onClick(View v) 
  56.       { 
  57.         try
  58.         {
  59.           String path=mEditText.getText().toString();
  60.           if(path.equals(""))
  61.           {
  62.             showDialog("网址不可为空白!");
  63.           }
  64.           else
  65.           {
  66.             /* 传入type=2为设置桌面 */
  67.             setImage(path,2);
  68.           }
  69.         }
  70.         catch (Exception e)
  71.         {
  72.           showDialog("读取错误!网址可能不是图片或网址错误!");
  73.           bm = null;
  74.           mImageView.setImageBitmap(bm);
  75.           mButton2.setEnabled(false);
  76.           e.printStackTrace();
  77.         }
  78.       } 
  79.     }); 
  80.   }
  81.   /* 将图片抓下来预览或并设置为桌面的方法 */
  82.   private void setImage(String path,int type)
  83.   {
  84.     try 
  85.     {
  86.       URL url = new URL(path); 
  87.       URLConnection conn = url.openConnection(); 
  88.       conn.connect();
  89.       if(type==1)
  90.       {
  91.         /* 预览图片 */
  92.         bm = BitmapFactory.decodeStream(conn.getInputStream());
  93.         mImageView.setImageBitmap(bm);
  94.         mButton2.setEnabled(true);
  95.       }
  96.       else if(type==2)
  97.       {
  98.         /* 设置为桌面 */
  99.         EX08_10.this.setWallpaper(conn.getInputStream());
  100.         bm = null;
  101.         mImageView.setImageBitmap(bm);
  102.         mButton2.setEnabled(false);
  103.         showDialog("桌面背景设置完成!");
  104.       }
  105.     }
  106.     catch (Exception e) 
  107.     {
  108.       showDialog("读取错误!网址可能不是图片或网址错误!");
  109.       bm = null;
  110.       mImageView.setImageBitmap(bm);
  111.       mButton2.setEnabled(false);
  112.       e.printStackTrace(); 
  113.     } 
  114.   }
  115.   /* 跳出Dialog的方法 */
  116.   private void showDialog(String mess){
  117.     new AlertDialog.Builder(EX08_10.this).setTitle("Message")
  118.     .setMessage(mess)
  119.     .setNegativeButton("确定", new DialogInterface.OnClickListener()
  120.     {
  121.       public void onClick(DialogInterface dialog, int which)
  122.       {          
  123.       }
  124.     })
  125.     .show();
  126.   }
  127. }