火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4120|回复: 2
打印 上一主题 下一主题

十分钟学会用火山开发特价机票cha询

[复制链接]

9

主题

30

帖子

220

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
220
QQ
跳转到指定楼层
楼主
发表于 2019-4-18 14:14:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zye7504 于 2019-4-18 14:33 编辑

     刚开始本来是想做个列车时刻cha询,经过分析,列车时刻cha询数据太多,而在该页面又同时查出一个特价机票信息,机票信息相对较少,所以就改成特价机票cha询,反正方法是一样的,原理是一样的,废话少说,上图:    第一步:在谷歌浏览器中找到url地址和post数据的格式,然后定义机票查询类,将url和post定义成常量
查询地址: https://trains.ctrip.com/TrainBooking/Search.aspx?from=hengyang&to=beijing&day=2019-04-19&number=&fromCn=%25E8%25A1%25A1%25E9%2598%25B3&toCn=%25E5%258C%2597%25E4%25BA%25AC&mkt_header=bdkx

post数据格式:value:
{"IsBus":false,"Filter":"0","Catalog":"","IsGaoTie":false,"IsDongChe":false,"CatalogName":"","DepartureCity":"hengyang","ArrivalCity":"beijing","HubCity":"","DepartureCityName":"衡阳","ArrivalCityName":"北京","DepartureDate":"2019-04-19","DepartureDateReturn":"2019-04-21","ArrivalDate":"","TrainNumber":""}




第二步:定义一个查询结果类。为什么定义成一个类?体现面向对象的思想嘛

第三步:编写查询方法。因为post数据的格式为:value={json对象},所以这里面主要用到“安卓网络操作类”和json相关操作类。查询时间我写死在json当中了,懒得写代码,要用的话自己改一下即可。


第四步:
经测试发现,网站查询时主要是根据起始站和终点站名称的拼音进行查询,而火山中没有将汉字转换成拼音的相关类,也可能是我没有找到。所以百度找到一个汉字转拼音的jar包,然后测试并封装到火山中。jar名称为:pinyin4j-2.5.0.jar   pinyin4j-2.5.0.jar (184.49 KB, 下载次数: 4)




用下面的方式也可以,二选一,反正是学习,所以两种方法我都测试了一下,都是ok的


第五步:
可以测试了,哈哈








是不是很简单,当然,我写出来只用了不到十分钟,但研究出来我花了半个上午,毕竟火山我也不熟,好在有企鹅这些好老师们。


回复

使用道具 举报

9

主题

30

帖子

220

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
220
QQ
沙发
 楼主| 发表于 2019-4-18 16:28:16 | 只看该作者
刚才又看了帮助,http读文件2()要放在子线程中,我上线的例程是在主线程中,这地方需要改进。
回复

使用道具 举报

6

主题

25

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
板凳
发表于 2019-4-18 22:38:39 来自手机 | 只看该作者
厉害,,!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-28 07:38 , Processed in 0.096220 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表