Android如何使用API
本文针对Android开发如何使用API文档进行一些经验分享。
1、为什么需要掌握API的使用。
也许你需要完成一个功能时很多时候你在网上google一番,因为很可能找到有用的代码片段,甚至不用关心具体实现的原理就可以直接拿来用。你可能遇到过搜出来的结果不太令人满意,尤其是你需要完成的功能比较新颖,demo比较少。
这个时候开发最好最快的途径就是用好API,掌握好API的使用也是程序开发的必修课。
2、API的重要性。
其实很多初学者都没有查|API的习惯,原因很简单:API仅仅是对一些类库、方法的介绍,很少有Sample,对于开发者来说是很难掌握的。首先你得清楚一点,所有的sample都源自于API,即使是你参考别人的sample其实也是间接的参考API。个人认为在软件开发过程中API的重要性仅次于软件设计,它是编码的基础,所以你不得不掌握API的使用,不是每次google都有你满意的demo。
3、如何使用API。
其实至于如何使用API可以根据个人习惯来定。今天我和大家分享我使用API的方法。具体还是来一个具体点的例子:使用http提交一个表单,打印出返回值。
看到这个例子的时候我们应该知道一般的网络访问的步骤(如果不知道那你就得补习相关的知识),或者至少你应该知道android系统中访问网络的方式。此处我们采用HttpClient,下面我们正式开始使用API(假如我以前没有接触过这个类)。
① 在doc上找到HttpClient这个类。
这是个interface,所以你还得找到它的一个实现,我们看到它有三个子类,当你再去看看这三个子类分别做了什么
很明显,AbstractHttpClient是不能直接用的,因为是个抽象类。不过他有个子类DefaultHttpClient,这个子类之前看到过了吧。
再看看AndroidHttpClient 会发现它的API level 8,而DefaultHttpClient的API level 1,当然你可以随意选择一个类来使用,考虑到向下兼容的问题。所以选用DefaultHttpClient。
② 在doc上找DefaultClient这个类。
这个类自己并没有public方法,所以看看它继承的方法。
简单的结合方法说明,可以看到,它需要执行execute方法就得到服务器的返回值,再看方面里面的参数我们注意到HttpUriRequest 这个类,返回值是HttpResponse。所以先看看HttpUriRequest,再看HttpResponse。
③ 在doc上找HttpUriRequest 这个类。
它是个接口,但是有很多实现。如果你了解http相关知识的话那么你应该从名字可以知道他们大体的使用方向了(如果不了解的话那么只有一个一个的去了解这个类的功能)。当我每个类都看了了以后我发现HttpGet类可以满足我的需求,那么它的实现就选用HttpGet。
④ 在doc上找HttpGet这个类。
它的构造函数很简单,而且除了getMethod就没有其他的方法了。(所以这个类算是很简单了。)看看它的构造函数:
至于你选用哪一个方法就看个人选择了。我选择String参数的构造方法。
⑤ 在doc上找HttpResponse这个类。
⑥ 其实就是反复的查找api中的参数和返回值的一个过程。剩下的就省略了。
⑦ 完整的步骤。
到此为止查找API就结束了,整理一下查找的结果。
HttpClient client = new DefaultHttpClient();
HttpUriRequest request = new HttpGet("http://www.baidu.com");
HttpResponse response = client.execute(request);
InputStream ins = response.getEntity().getContent();
ins就是返回值,以流的形式返回的,你需要把它转化成ByteArrayInputStream就可以得到里面的内容了(这里的原因api里面并没有)。
4、总结。
其实API的使用是比较简单的,就是不停的查找,查参数,查返回值。方法大概如此,其他一般情况下没有我说的这个例子这么复杂,基本上查询一两次就搞定了。
PS:如果你有更好的方法,更快的方法,希望得到你的建议。欢迎交流。
转载于:https://www.cnblogs.com/vanezkw/archive/2012/07/03/2574559.html
Android如何使用API相关推荐
- Android中所有API和对应权限的数据结构构建
#写在前面的话 这是一篇有毒博客,我觉得,读者慎入. 我想说,那个最底下的广告怎么去,辣眼睛- T -T 当然,你也可以帮我点下我的,在这里跪谢大家 https://www.captainbed.ne ...
- Android 操作串口 (android serial port api)
Android 操作串口 (android serial port api)
- Android 2.3 API改变大全(转载)
遇到OOM问题,需要使用VMRuntime类的时候才发现,原来2.3被移除了,想知道它是否有替代类?留下脚印,再继续... Android 2.3 API改变大全 作者: Android开发网原创 时 ...
- android版本sdk api对应,Android API Level与sdk版本对照表
API等级1: Android 1.0 API等级2: Android 1.1 Petit Four 花式小蛋糕 API等级3: Android 1.5 Cupcake 纸杯蛋糕 API等级4: An ...
- android call require api level
android call require api level 5 等错误,需要在project -> android tools-> clear lint markers 来清楚 转载于 ...
- 我的Android进阶之旅------Android中高低API版本兼容使用@TargetApi或者@SuppressLint(NewApi)...
Android中高低API版本兼容使用@TargetApi或者@SuppressLint("NewApi") 例如:AndroidManifest.xml中,我们配置了sdk版本的 ...
- 利用java实现android项目结构API文档
利用java实现android项目结构API文档 2012-11-16 快速生成API文档列表 在android项目中的.CLASSPATH文件里添加android.jar路径 例如: <cla ...
- Android 5.1 API 22 所有sdk文件下载地址
开源中国的 IT 公司开源软件整理计划介绍 https://dl-ssl.google.com/android/repository/docs-22_r01.zip http://dl.google. ...
- Android 5.0 API 的变化——开发人员注意
Android 5.0 API变化 译自 http://developer.android.com/intl/zh-cn/about/versions/android-5.0.html -- By N ...
- android targetapi版本低,我的Android进阶之旅------Android中高低API版本兼容使用@TargetApi或者@SuppressLint(NewApi)...
Android中高低API版本兼容使用@TargetApi或者@SuppressLint("NewApi") 例如:AndroidManifest.xml中,我们配置了sdk版本的 ...
最新文章
- Jenkins构建Docker容器
- 磁盘文件整理工具,让你的电脑清清爽爽的!
- 系统管理-第1部分 系统的易管理性
- ML之DT:利用DT(DTC)实现对iris(鸢尾花)数据集进行分类并可视化DT结构
- ESP8266编译环境 对于习惯Ubuntu默认桌面的用户非常好
- shell 判断字符串是否存在包含关系
- linux 组的管理,LINUX用户组管理各命令的使用
- Go的50度灰:Golang新开发者要注意的陷阱和常见错误
- pytorch: 在训练中保存模型,加载模型
- 第一个错误的版本_寻找第一个错误的版本
- jquery的扩展方法介绍
- HTTP协议状态码详解(HTTP Status Code)(转)
- 进程管理之工作管理详解(job control)
- 照片宽高比怎么设置_【经验分享】照片处理
- 翁恺老师Java进阶城堡游戏源码
- 如何识别媒体偏见_超越偏见:为什么我们不能仅仅“修正”面部识别
- 1231231312
- 360安全浏览器极速模式对rem失效
- 以计算为中心的下一代数据中心交换网络
- 科比投篮预测,可视化与探索性数据分析(二)