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>
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>
相关文章推荐
- Android--通过Http下载网络图片
- android通过NDK连接网络下载图片到本地
- [Android]通过setImageURI设置网络上面的图片
- android访问网络,下载图片,并设置UI
- [Android]通过setImageURI设置网络上面的图片
- Android 通过开源框架实现加载网络图片并下载到SD卡通知系统相册显示,(并实现分享图片功能)
- [Android]通过setImageURI设置网络上面的图片
- android 通过http网络下载图片 并
- Android 异步从网络上下载图片
- Android_OkHttp+Picasso+RecyclerView实现网络图片下载瀑布流
- Android开发实现加载网络图片并下载至本地SdCard的方法
- 关于android中网络图片下载中oom解决开源框架Afinal的探究
- android网络下载图片并且显示在图库中
- [android开发实例]通过Http协议下载图片简易版
- 写了一个小程序:定时从网上下载图片来设置桌面
- Android异步下载网络图片
- 通过setImageURI设置网络上面的图片
- Android异步下载网络图片(其一)
- 通过AFNetworking下载网络闪屏用的图片并存储到本地同时获取header头相关信息
- 通过Java HTTP连接将网络图片下载到本地