今天剛剛搞定了老師給的綜合性實驗,做的是一個手機的桌面背景設置程序。大概具體花了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();
}
}
}
}
最後,如果大家想看看我的程序的話,我這裏提供了一個下載的地址,不用積分就可以了,希望可以跟大家交流一下。點擊打開鏈接