android获取互联网图片android网络编程,是我们学习网络开发的重要课程,在此小弟今天学习了一下,从互联网上获取图片与门户网的源代码。大家肯定很急了吧,先让我们看一下效果先,大家还是很感兴趣的。 如图: HYPERLINK "http://img1.51cto.com/attachment/201102/213002648.jpg" \t "_blank" 我的宝马牛吧,虚拟的,真的就好了。 让我们看一下原代码是如何写。这可是我的原创哦 1. package com.smart.net.activity; 2....
android网络编程,是我们学习网络开发的重要课程,在此小弟今天学习了一下,从互联网上获取图片与门户网的源代码。大家肯定很急了吧,先让我们看一下效果先,大家还是很感兴趣的。 如图: HYPERLINK "http://img1.51cto.com/attachment/201102/213002648.jpg" \t "_blank" 我的宝马牛吧,虚拟的,真的就好了。 让我们看一下原代码是如何写。这可是我的原创哦 1. package com.smart.net.activity; 2. 3. import android.app.Activity; 4. import android.content.Intent; 5. import android.graphics.Bitmap; 6. import android.graphics.BitmapFactory; 7. import android.os.Bundle; 8. import android.util.Log; 9. import android.view.View; 10. import android.widget.Button; 11. import android.widget.EditText; 12. import android.widget.ImageView; 13. import android.widget.Toast; 14. 15. import com.smart.net.utils.NetTool; 16. 17. public class DataActivity extends Activity { 18. private EditText imagePathText; 19. private static final String TAG="DataActivity"; 20. private ImageView imageView; 21. 22. @Override 23. public void onCreate(Bundle savedInstanceState) { 24. super.onCreate(savedInstanceState); 25. setContentView(R.layout.main); 26. imagePathText = (EditText) findViewById(R.id.imagepath); 27. imageView=(ImageView)findViewById(R.id.imageView); 28. 29. //获取我的宝马车图片 30. Button button = (Button) findViewById(R.id.button); 31. button.setOnClickListener(new View.OnClickListener() { 32. 33. @Override 34. public void onClick(View v) { 35. String path = imagePathText.getText().toString(); 36. try { 37. 38. byte[] data=NetTool.getImage(path); 39. Bitmap bm=BitmapFactory.decodeByteArray(data, 0, data.length); 40. imageView.setImageBitmap(bm); 41. } catch (Exception e) { 42. Log.i(TAG, e.toString()); 43. Toast.makeText(DataActivity.this, "获得图片失败", 1).show(); 44. } 45. } 46. }); 47. 48. // 获取网页源代码 49. Button sinaButton = (Button) findViewById(R.id.sinaButton); 50. sinaButton.setOnClickListener(new View.OnClickListener() { 51. 52. @Override 53. public void onClick(View v) { 54. Intent intent=new Intent(DataActivity.this,SinaActivity.class); 55. startActivity(intent); 56. } 57. }); 58. 59. } 60. } 网页类 1. package com.smart.net.activity; 2. 3. import com.smart.net.utils.NetTool; 4. 5. import android.app.Activity; 6. import android.os.Bundle; 7. import android.util.Log; 8. import android.widget.EditText; 9. import android.widget.ImageView; 10. import android.widget.TextView; 11. import android.widget.Toast; 12. 13. public class SinaActivity extends Activity { 14. private TextView textView; 15. private static final String TAG="SinaActivity"; 16. // 获取网页源代码 17. public void onCreate(Bundle savedInstanceState) { 18. super.onCreate(savedInstanceState); 19. setContentView(R.layout.sina); 20. 21. textView=(TextView)this.findViewById(R.id.sina); 22. try { 23. String html=NetTool.getHtml("http://www.sina.com.cn","GBK"); 24. textView.setText(html); 25. } catch (Exception e) { 26. Log.i(TAG, e.toString()); 27. Toast.makeText(SinaActivity.this, "获得网页失败", 1).show(); 28. } 29. } 30. } 方法实现类 1. package com.smart.net.utils; 2. 3. import java.io.ByteArrayOutputStream; 4. import java.io.File; 5. import java.io.FileOutputStream; 6. import java.io.InputStream; 7. import java.net.HttpURLConnection; 8. import java.net.URL; 9. 10. 11. public class NetTool { 12. /** 13. * 获得url代码数据 14. * */ 15. 16. public static String getHtml(String path,String encoding) throws Exception { 17. URL url = new URL(path); 18. HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 19. conn.setRequestMethod("GET"); 20. conn.setConnectTimeout(6 * 1000); 21. // 别超过10秒。 22. System.out.println(conn.getResponseCode()); 23. if(conn.getResponseCode()==200){ 24. InputStream inputStream=conn.getInputStream(); 25. byte[] data=readStream(inputStream); 26. return new String(data,encoding); 27. } 28. return null; 29. } 30. 31. /** 32. * 获取指定路径,的数据。 33. * 34. * **/ 35. public static byte[] getImage(String urlpath) throws Exception { 36. URL url = new URL(urlpath); 37. HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 38. conn.setRequestMethod("GET"); 39. conn.setConnectTimeout(6 * 1000); 40. // 别超过10秒。 41. if(conn.getResponseCode()==200){ 42. InputStream inputStream=conn.getInputStream(); 43. return readStream(inputStream); 44. } 45. return null; 46. } 47. 48. /** 49. * 读取数据 50. * 输入流 51. * 52. * */ 53. public static byte[] readStream(InputStream inStream) throws Exception { 54. ByteArrayOutputStream outstream=new ByteArrayOutputStream(); 55. byte[] buffer=new byte[1024]; 56. int len=-1; 57. while((len=inStream.read(buffer)) !=-1){ 58. outstream.write(buffer, 0, len); 59. } 60. outstream.close(); 61. inStream.close(); 62. 63. return outstream.toByteArray(); 64. } 65. }
本文档为【android获取互联网图片】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。