|
在谷歌浏览器中找到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
用下面的方式也可以,二选一,反正是学习,所以两种方法我都测试了一下,都是ok的
第五步:可以测试了,哈哈
http读文件2()要放在子线程中
|
|