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

来源:互联网 发布:姚明奥运会数据 编辑:程序博客网 时间:2024/06/04 23:31

        今天刚刚搞定了老师给的综合性实验,做的是一个手机的桌面背景设置程序。大概具体花了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);
然后还要重载一个方法,这样我们就可以在手机里调用到相机照相了。

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent photo) {// TODO Auto-generated method stubsuper.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 blocke.printStackTrace();}}}}

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

0 0