• 利用开源框架Volley来下载文本和图片。


    Android Volley是Android平台上很好用的第三方开源网络通信框架。使用简单,功能强大。

    下载连接地址:http://download.csdn.net/detail/zhangphil/9053413

    使用方法:下载Volley.jar后,直接放到Eclipse工程的libs目录下,刷新,然后就可以调用Android Volley了。

    代码如下:

     1 package com.lixu.load_txt_image;
     2 
     3 import com.android.volley.RequestQueue;
     4 import com.android.volley.Response.ErrorListener;
     5 import com.android.volley.Response.Listener;
     6 import com.android.volley.VolleyError;
     7 import com.android.volley.toolbox.ImageRequest;
     8 import com.android.volley.toolbox.StringRequest;
     9 import com.android.volley.toolbox.Volley;
    10 
    11 import android.app.Activity;
    12 import android.graphics.Bitmap;
    13 import android.graphics.Bitmap.Config;
    14 import android.os.Bundle;
    15 import android.text.method.ScrollingMovementMethod;
    16 import android.widget.ImageView;
    17 import android.widget.TextView;
    18 import android.widget.Toast;
    19 
    20 public class MainActivity extends Activity {
    21     private TextView tv;
    22     private ImageView iv;
    23 
    24     @Override
    25 
    26     protected void onCreate(Bundle savedInstanceState) {
    27         super.onCreate(savedInstanceState);
    28         setContentView(R.layout.activity_main);
    29 
    30         tv = (TextView) findViewById(R.id.tv);
    31       
    32
    33 34 iv = (ImageView) findViewById(R.id.iv); 35 // 文本和图片的网络地址 36 String url1 = "http://www.baidu.com"; 37 38 String url2 = "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1183223528,3058066243&fm=116&gp=0.jpg"; 39 40 loadtxt(url1); 41 42 loadimage(url2); 43 44 } 45 46 private void loadtxt(String url1) { 47 // 从Volley中获取RequestQueue 对象 48 RequestQueue queue = Volley.newRequestQueue(getApplicationContext()); 49 50 // 创建StringRequest 51 StringRequest sr = new StringRequest(url1, new Listener<String>() { 52 // 获取成功后得到String类型的文本 53 @Override 54 public void onResponse(String response) { 55 tv.setText(response); 56 } 57 }, new ErrorListener() { 58 // 获取失败后进入 59 @Override 60 public void onErrorResponse(VolleyError error) { 61 Toast.makeText(getApplicationContext(), "错误!!", 0).show(); 62 } 63 }); 64 // 将StringRequest添加到RequestQueue中 65 queue.add(sr); 66 } 67 68 private void loadimage(String url2) { 69 RequestQueue queue = Volley.newRequestQueue(getApplicationContext()); 70 71 ImageRequest ir = new ImageRequest(url2, new Listener<Bitmap>() { 72 // 获取成功后得到Bitmap类型的图片。 0, 0, 设置图片大小为实际大小,ARGB_8888,设置图片格式为高清大图 73 @Override 74 public void onResponse(Bitmap response) { 75 iv.setImageBitmap(response); 76 } 77 }, 0, 0, Config.ARGB_8888, new ErrorListener() { 78 // 获取失败后进入 79 @Override 80 public void onErrorResponse(VolleyError error) { 81 Toast.makeText(getApplicationContext(), "错误!!", 0).show(); 82 } 83 }); 84 // 将StringRequest添加到RequestQueue中 85 queue.add(ir); 86 } 87 88 }

    xml文件:

     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:id="@+id/LinearLayout1"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     android:orientation="vertical" >
     7 
     8     <ScrollView
     9         android:layout_width="match_parent"
    10         android:layout_height="match_parent"
    11         android:layout_weight="1" >
    12 
    13         <TextView
    14             android:id="@+id/tv"
    15             android:layout_width="match_parent"
    16             android:layout_height="match_parent" />
    17     </ScrollView>
    18 
    19     <ImageView
    20         android:id="@+id/iv"
    21         android:layout_width="match_parent"
    22         android:layout_height="match_parent"
    23         android:layout_weight="1" />
    24 
    25 </LinearLayout>

    运行效果图:

  • 相关阅读:
    Pycharm配置支持vue语法
    HTTP请求方式
    ModelSerializer Meta设置
    Serializer fields
    django-rest-framework配置json web token
    rest_framework_extensions实现缓存
    手把手搭建K3cloud插件开发环境
    Microsoft Visual Studio 2010(vs10)安装与使用
    spring boot mapper层传参数是用main的arg0(第一个参数),arg1(第二个参数)
    spring boot不要放在tomcat下启动,因为自身就带了集成tomcat
  • 原文地址:https://www.cnblogs.com/labixiaoxin/p/4988675.html
Copyright © 2020-2023  润新知