2513天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】的ScrollView滚动布局获取数据基础方法

发布于 / 1313 次围观 / 0 条评论 / Android / 二呆 /

在手机端软件中常常会见到页面滚动效果,比如用浏览器浏览网页,这里就用到了ScrollView滚动布局,它的基本使用方法很简单,有几种方式,并且还可以结合ScrollView滚动布局将网页中数据滚动浏览。具体使用方法如下。

一、ScrollView滚动布局基本使用方法

  1. 第一种方法:在Android XML中直接显示ScrollView滚动布局。

    这里首先需要知道ScrollView是内嵌LinearLayout线性布局的,以下示例代码和样式图就拿ImageView为例。

  2. 第二种方法:在Activity中创建ScrollView滚动布局。同第一种方法,还是用ImageView为例,首先声明LinearLayout变量,通过循环滚动显示图片,代码和样式图如下。

二、使用ScrollView滚动布局获取网页数据

  1. 在介绍如何使用ScrollView滚动布局获取网页数据前,首先弹出进度对话框以增加用户体验,其代码和样式图如下,其中对话框的显示和关闭,分别使用

    dialog.show();

    dialog.dismiss();

    来控制。

  2. 之后跟往常一样还是首先将View视图显示出来,很简单,代码如下:
  3. 因为要获取网络上的数据,即网页数据,所以需要另外一个工具类HttpUtils,在这里贡献出来,代码如下:
    1. package com.example.layout.tools;
    2. import org.apache.http.HttpResponse;
    3. import org.apache.http.client.HttpClient;
    4. import org.apache.http.client.methods.HttpPost;
    5. import org.apache.http.impl.client.DefaultHttpClient;
    6. import org.apache.http.util.EntityUtils;
    7. public class HttpUtils {
    8.     public static String sendPostMethod(String path,String encoding){
    9.         String result="";
    10.         HttpClient httpClient=new DefaultHttpClient();
    11.         try {
    12.             HttpPost post=new HttpPost(path);
    13.             HttpResponse response=httpClient.execute(post);
    14.             if(response.getStatusLine().getStatusCode()==200){
    15.                 result=EntityUtils.toString(response.getEntity(),encoding);
    16.             }
    17.         } catch (Exception e) {
    18.             e.printStackTrace();
    19.         } finally{
    20.             httpClient.getConnectionManager().shutdown();
    21.         }
    22.         return result;
    23.     }
    24. }
  4. 然后再创建ScrollViewActivity后,创建一个子类继承异步任务抽象类AsyncTask,并重写onPreExecute、doInBackground、onPostExecute方法,这里需要注意2个知识点:

    ①在onPostExecute方法中,需要使用

    Spanned spanned=Html.fromHtml(result);

    textView.setText(spanned);

    从html页面中连带html标签获取到客户端中;

    ②并在客户端中需要处理HTML中超链接的事件,所以需要用到

    textView.setMovementMethod(new LinkMovementMethod());

    这样就可以在手机客户端中点击页面中的超链接了。

    具体这个子类MyTask的代码如下:

  5. 最后定义一个常量HTML_PATH设为网络中需要调用的网页信息地址,然后在onCreate中调用MyTask类中的execute方法,去显示HTML_PATH中的内容即可出现手机客户端的ScrollView滚动效果。具体代码如下。

注意事项

  • 异步任务抽象类AsyncTask是抽象的不能直接new,所以需要自定义一个实体类继承它,然后再重写相关方法。
  • ScrollView滚动控件是在LinearLayout线性布局中放置内容的。
sitemap