微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一步步教你为网站开发Android客户端

一步步教你为网站开发Android客户端

时间:10-08 来源:互联网 点击:

个HTML。发现,如果totalTrs=3就表示没结果。

//只要有书目结果totalTrs必定大于3,于是

if(totalTrs > 3)

for(int i = 0;i totalTrs – 3;i++)

{

//观察HTML,从第i+2个tr开始,包含的才是我们要的书目信息

//我们从每个tr中选出td标签元素群

Elements tds = trs.get(i + 2).select(td);

//得到每个tr中td的个数

int totalTds = tds.size();

//一个临时的HashMap,里面是String-Object键值对

Map

//j是一个标识数

for(int j =0;j totalTds ;j++)

{

switch (j) {

//0表示第一个,即书名

//put方法即向map加入一条键值对

//html()方法就得到标签括起来的内容

case 0:

map.put(book_title, tds.get(j).html().toString());

break;

case 1:

//1表示第二个,即作者

map.put(book_author, tds.get(j).html().toString());

break;

case 2:

//2表示第三个,即出版信息

map.put(book_press, tds.get(j).html().toString());

break;

case 3:

//3表示第四个,即页数

map.put(book_page, tds.get(j).html().toString());

break;

case 4:

//4表示第五个,即价格

map.put(book_price, tds.get(j).html().toString());

break;

case 5:

//5表示第六个,即索取号

map.put(book_noFor, tds.get(j).html().toString());

break;

case 6:

//6表示第七个,即那段网址

//那段网址td中又包含一个a标签,a标签的href属性的值就是网址

//attr(“href”)可以返回href属性的值

map.put(book_detail, tds.get(j).select(a).attr(href).toString());

break;

default:

break;

}

}

list.add(map);

}

list就是我们需要的ArrayList啦

上面所有代码调通后,我们只需一些简单的复制粘贴,就可以放在我们的Android工程中,加上一段简单的代码就可以让ListView显示这个ArrayList。(由于没有任何技术含量,以及该项目暂未上线,此段代码不予以展示,敬请谅解)

接下来,我们一个页面最多只包含10个书目信息,而我们校图书馆,光以”Java”为关键字的书就超过1000本,怎么来显示完全呢,一次显示所有的书肯定不现实。首先数据量太大,手机无法承受;消耗流量过大,用户体验极差。所以,我们就需要ListView能够动态加载数据,即一开始显示十项,如果用户此时拉动ListView显示完十项之后,自动联网,再加载十项(如果还有十项的话),这样的用户体验会非常顺畅。

这个功能的核心是,我们的ListView需要实现OnScrollListener接口。

如果你的ListView所在的Activity继承的是ListActivity的话,只需在extends ListActivity后面加上implements OnScrollListener,这时你需要复写onScroll和onScrollStateChanged。如果你的ListView是从XMLgetView 得到的,你只需为它setOnScrollListener,也会需要你复写onScroll和onScrollStateChanged。

不管你用哪种方法,我们只用修改onScroll方法

@Override

public void onScroll(AbsListView view, int firstVisibleItem,

int visibleItemCount, int totalItemCount) {

// TODO Auto-generated method stub

//关键的判断代码,这句话表示用户将ListView拉至最底部

if(firstVisibleItem + visibleItemCount == totalItemCount)

//你只需要把继续得到下面十项的代码写在这里,就可以实现上述功能了。

//同样再使用一次POST方法,不再赘述

//代码由于同样原因不予以展示,敬请谅解

至此,文章开头的几个知识点已经全部讲解完毕,时间仓促,事物繁忙,可能会影响文章质量,还请大家多多包涵。 如果有问题,可以直接回帖、发论坛信息或通过Email:anliupeinye@gmail.com联系我。

项目成品展示:

看看这些信息是不是就是上面用网页以android为关键字搜索到的?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top