当前位置:   article > 正文

android---利用android-async-http开源项目实现网络图片查看器_图片查看器 android 开源

图片查看器 android 开源

1.   导包:导入android-async-http开源项目的最新版本的包

2.简单的搭建一个网络图片查看器的界面

 

相关的界面搭建代码:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. tools:context="${packageName}.${activityClass}" >
  6. <ImageView
  7. android:id="@+id/iv_img"
  8. android:layout_width="wrap_content"
  9. android:layout_height="300dp"
  10. android:layout_alignParentLeft="true"
  11. android:layout_alignParentRight="true"
  12. android:layout_alignParentTop="true"
  13. android:src="@drawable/ic_launcher" />
  14. <EditText
  15. android:id="@+id/et_url"
  16. android:layout_width="match_parent"
  17. android:layout_height="wrap_content"
  18. android:layout_alignParentBottom="true"
  19. android:layout_alignParentLeft="true"
  20. android:layout_marginBottom="60dp"
  21. android:inputType="textUri"
  22. android:text="@string/et_url"/>
  23. <Button
  24. android:id="@+id/btn_img"
  25. android:layout_width="match_parent"
  26. android:layout_height="wrap_content"
  27. android:layout_alignParentBottom="true"
  28. android:layout_alignParentLeft="true"
  29. android:onClick="sendGetImg"
  30. android:text="@string/btn_img" />
  31. </RelativeLayout>


这只是一种方法,还可以运用绝对布局,或者相对布局进行布局。

3.设置网络权限

<uses-permission android:name="android.permission.INTERNET"/>

 

4.创建异步客户端对象

5.获取uri网络路径

6.执行get请求

   a)      如果成功创建工厂对象

   b)     工厂对象的decodeByteArray把字节转换成Bitmap对象

   c)     设置图片

7.项目分析:

点击查看网络图片,便可将你所填写的地址的图片查看出来。

相关的程序代码:

  1. package www.csdn.net.lesson05_02;
  2. import org.apache.http.Header;
  3. import android.app.Activity;
  4. import android.graphics.Bitmap;
  5. import android.graphics.BitmapFactory;
  6. import android.os.Bundle;
  7. import android.view.View;
  8. import android.widget.EditText;
  9. import android.widget.ImageView;
  10. import android.widget.Toast;
  11. import com.loopj.android.http.AsyncHttpClient;
  12. import com.loopj.android.http.AsyncHttpResponseHandler;
  13. public class MainActivity extends Activity {
  14. private EditText et_url;
  15. private ImageView iv_img;
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. et_url=(EditText) findViewById(R.id.et_url);
  21. iv_img=(ImageView) findViewById(R.id.iv_img);
  22. }
  23. public void sendGetImg(View v){
  24. int id=v.getId();
  25. switch(id){
  26. case R.id.btn_img:
  27. //获取网络路径
  28. String url=et_url.getText().toString();
  29. //创建客户端对象
  30. AsyncHttpClient client=new AsyncHttpClient();
  31. client.get(url, new AsyncHttpResponseHandler(){
  32. @Override
  33. public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
  34. if(statusCode==200){
  35. BitmapFactory factory=new BitmapFactory();
  36. Bitmap bitmap=factory.decodeByteArray(responseBody, 0, responseBody.length);
  37. iv_img.setImageBitmap(bitmap);
  38. }
  39. }
  40. @Override
  41. public void onFailure(int statusCode, Header[] headers,
  42. byte[] responseBody, Throwable error) {
  43. error.printStackTrace();
  44. }
  45. });
  46. break;
  47. default:
  48. break;
  49. }
  50. }
  51. }

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/601492
推荐阅读
相关标签
  

闽ICP备14008679号