Android小应用----背景图片设置器

        今天刚刚搞定了老师给的综合性实验,做的是一个手机的桌面背景设置程序。大概具体花了3、4天来完成这份东西,由于是初次接触Android,所以才花了这么久,想跟大家分享一下遇到的问题,大家互相学习与进步:

1、如何解析特定网站的URL:

我的这个程序是要从特定的网站通过解析它的HTML从而返回到图片的URL

在这里,我通过了构建Document对象,然后再用到解析HTML的方法,先把图片找出来,再通过一个JSoup点击打开链接的方法把图片URL解析出来。这里要注意:要从官网下载相应的.jar包才能使用.


2、下载图片:

这里我的做法就是通过新建了一个Connection来实现数据的传输,大家看看代码:

try{
							URL aryURI = new URL(url);
							URLConnection conn = aryURI.openConnection();
							conn.connect();
							InputStream is = conn.getInputStream();
							
							bm=BitmapFactory.decodeStream(is);
							
							is.close();
							iv1.setImageBitmap(bm);
							Npbk_MainActivity.this.setWallpaper(bm);
						}
						
						catch(Exception e){e.printStackTrace();}
						// TODO Auto-generated method stub
						
					}}

首先通过新建的一个URL对象来放置对应的URL地址,然后新建一个Connection新建连接,这样就能得到该网站资源,然后用一个Bitmap来接收数据流,并设置成背景,Android的背景图片的设置直接调用一个方法就可以解决了,这里就感觉比较方便。

3、开启相机照相并设置为背景:

这里用到了一个的方法,主要是启动相机并返回数据。

				
				Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
				
				startActivityForResult(intent,100);
				
		
然后还要重载一个方法,这样我们就可以在手机里调用到相机照相了。

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent photo) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, photo);
		
		if(resultCode != RESULT_OK){
			return ;
		}
		
		if(requestCode == 100){
				Bitmap bm = photo.getParcelableExtra("data");
				if(bm != null){
					iv1 = (ImageView) findViewById(R.id.iv1);
					iv1.setImageBitmap(bm);
					try {
						Npbk_MainActivity.this.setWallpaper(bm);
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
		}
		
	}

最后,如果大家想看看我的程序的话,我这里提供了一个下载的地址,不用积分就可以了,希望可以跟大家交流一下。点击打开链接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章