使用MobAPi获得天气数据
来源:互联网 发布:广州汇丰软件 编辑:程序博客网 时间:2024/06/06 03:59
今天是自两个月自学之后第一次写博客,走过的大神不要喷我,但一定要给我建议啊!!! 之前在网上找到了一个开放平台--Mob,之后发现发现它的API用起来挺简洁的,而且客服也很有礼貌,哈哈!话不多说了,接下来介绍MobAPI的天气服务。(MobAPI的官网:http://www.mob.com/#/)主要步骤如下: 1.先导入jar包 ![三个jar包](http://img.blog.csdn.net/20160424212816167) 2.初始化
SDK`MobAPI.initSDK(MainActivity.this,APP_KEY_Mob);
第一个参数为context,第二个参数为申请的key 3.集成APICallback接口
`public class MainActivity extends AppCompatActivity implements APICallback`
4.获取工具类,每个工具类对应一个服务,例如Mobile:手机查询地址方面的服务,Wheather:查询天气的工具类。这里需先获取,之后使用工具类查询天气。
Weather api = (Weather) MobAPI.getAPI(Weather.NAME);
5.接下来就可以用该工具类实例化的对象进行查询各个地区的天气了(这也是我喜欢用这个SDK的原因,两个子--简单),第一个参数为要查询的天气,这里我把他写死了,方便查看效果;第二个参数为APICallback接口的实例,这里写this就好了啊
api.queryByCityName("香港", this);
6.当让Activity继承APICallback接口之后,会复写它的两个方法,一个是onSuccess,另一个是onError,具体意思也是它字面上的意思,就是查询成功后执行的方法,另一个是查询失败时的方法。
@Override public void onError(API api, int i, Throwable throwable) { Toast.makeText(this,"异常", Toast.LENGTH_SHORT).show(); }
@Override public void onSuccess(API api, int i, Map<String, Object> map) { switch (i) { case Weather.ACTION_QUERY: onWeatherDetailsGot(map); } }
这里的onSuccess里为什么要用switch语句呢?主要是因为(自己的猜想。。)MobAPI推荐的是一键式调用所有的API,所以这里的动作i可能会各不相同,但是都是相同的代码,继承接口使用工具类......所以用switch来区别各个操作吧。这里的onWheatherDetailGot(map)是对请求成功所获得的数据(map),进行相关的操作 7.我这里用这些天气数据做了一个动态改变RelativeLayout的背景,(方法比较简单粗俗,大神不要喷我),至于返回的map结构可以去mob官网看看
private void onWeatherDetailsGot(Map<String, Object> result) { RelativeLayout layout= (RelativeLayout) findViewById(R.id.menu_top); @SuppressWarnings("unchecked") ArrayList<HashMap<String, Object>> results = (ArrayList<HashMap<String, Object>>) result.get("result"); HashMap<String, Object> weather = results.get(0); String wheather_local=com.mob.tools.utils.R.toString(weather.get("weather")); if (wheather_local.contains("雨")){ if (layout != null) { layout.setBackgroundResource(R.drawable.xiayu); } } else if (wheather_local.contains("阴")){ if (layout != null) { layout.setBackgroundResource(R.drawable.yintian); } } txt_wheather.setText(wheather_local); }
2 0
- 使用MobAPi获得天气数据
- iOS MobAPI 使用姿势
- 使用ASIHTTPRequest获得天气信息
- 使用ASIHTTPRequest获得天气信息
- 使用ASIHTTPRequest获得天气信息
- android开发使用百度api获得天气情况
- 使用SmartWeatherAPI多线程并发获取天气数据
- Java 获得天气信息
- python获得天气
- php获得天气
- 获得当地实时天气
- 根据中国天气网,自动定位获得当地天气(数据是JSON的)---不过这个接口貌似不更新了
- Swift - 使用OpenWeatherMap获取天气的实时数据、预测数据
- android 获得城市天气码
- 使用JS获得串口数据
- 使用JS获得串口数据
- 使用NSURLConnection获得网络数据
- 使用JS获得串口数据
- java注解
- HDU 1001 Can you solve this equation?
- 数值算法
- BJTU 数学
- zoj 3946Highway Project(最短路改)
- 使用MobAPi获得天气数据
- 说说中断上下文的切换
- java.util包---LinkedHashMap
- UVA_10020_Minimal coverage
- Java编程基础--空指针异常
- 趣味素数-平方回文素数-java
- 树的存储结构
- set测试
- NOJ2102 帅神妹纸的生日礼物(双指针)