java如何写安卓接口文档_android、java制作sdk以及自动生成文档

最近一直在做android开发,昨天经理让我写个接口SDK做个接口文档,以便后面的开发。

这让我很焦灼,SDK怎么做?要是只有敲代码还好。可是那个接口文档!!!文档这东西最讨厌了,头都大了

后来查了下资料,JDK有个自带的Javadoc,可以根据代码中的注释自动生成文档。一下子世界变亮了有木有!!

文档可以自动生成,那生成文档我依据是什么?

查下资料发现,只要在类、变量、方法上加注释,就能自动生成文档了。这些注释有自己的规范,可以先看看下面这篇博文

文档的事情搞定了,接下来就是SDK了。还没开始制作就遇到一个问题:

我是要新建Android工程、还是Java工程?

考虑到我只要实现网络数据的请求,不需要提供任何界面,这里就选择了Java工程。

(需要提供界面的会遇到解决资源文件不能打包的问题,这里有篇博文需要的同学可以去看看

首先学会怎么将工程打包成一个jar包(记得学java的第一节课上过)

1、在Eclipse中右击需要打包的工程,选择export

0818b9ca8b590ca3270a3433284dd417.png

2 在export中展开java,选择JAR file,点击next

0818b9ca8b590ca3270a3433284dd417.png

3 选择需要导出的工程、导出路径以及jar包的名字,点击finish

0818b9ca8b590ca3270a3433284dd417.png

这样就能在改路径下找到我们生成的jar包了

jar包搞定了,接下来就轮到文档了

根据文章开头的Javadoc语法编辑工程后,就可以生成文档了,步骤如下:

1 右击工程,选择export

0818b9ca8b590ca3270a3433284dd417.png

2 在export中展开java 选择Javadoc,点击next

0818b9ca8b590ca3270a3433284dd417.png

3 在接下来的页面中:

Javadoc command 中选择jdk安装路径下的javadoc.exe

Select types for which Javadoc will begenerated 选择生成doc的工程

User standard doclet   选择doc的路径

点击next

0818b9ca8b590ca3270a3433284dd417.png

4 使用默认设置,点击next

0818b9ca8b590ca3270a3433284dd417.png

5 点击finish,就能在对应的目录下找到生成的doc

0818b9ca8b590ca3270a3433284dd417.png

打开对应的文件夹能看到

0818b9ca8b590ca3270a3433284dd417.png

打开 index,就能在浏览器中看到刚刚生成的文档了

0818b9ca8b590ca3270a3433284dd417.png

是不是很眼熟!!!

似曾相识。。。

跟api文档好像

在生成文档的时候可能会看到这样的提示

“错误 编码 GBK 的不可映射字符”

说明注释中有中文。解决方法:在生成文档的最后一步Vm  options中输入 -encodingutf-8 -charset utf-8  就可以了

0818b9ca8b590ca3270a3433284dd417.png

就这样搞定了。

知道做法以后生活是不是一下子就美好了!!!

乖乖做SDK去。。。

参考博文:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转载]jquery cookie的用法

原文地址:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526663.html jQuery cookie是个很好的cookie插件,大概的使用方法如下 example $.cookie(’name’, ‘value’); 设置cookie的值,把name变量的值设为value example $.cookie(’name’…

21世纪的设计模式:抽象工厂模式

这是我的演讲的第二部分,“ 21世纪的设计模式” 。 此模式在Java代码中到处都有使用,尤其是在更多“企业”代码库中。 它涉及一个接口和一个实现。 该界面如下所示: public interface Bakery {Pastry bakePastry(Topping topping);Cake bak…

java textfield类方法_java.awt.TextField类

java.awt.TextField是一个文本框组件1.构造方法TextField():创建一个默认长度为一个机器字符长的文本框TextField(int n):创建一个指定长度为n个机器字符长的文本框TextField(String s):创建一个文本框,该文本框的初始字符串为sTe…

广东金融学院java实验报告_《大学计算机Ⅰ》实验报告实验三

广东金融学院实验报告课程名称:大学计算机Ⅰ实验编号 及实验名称 姓 名 实验地点 指导教师蔡文璇 12-204课室 伍春晖博士实验三 中文Excel 2007实验系 别 班 级 实验时数 成 绩财经传媒系 经济秘书(2)班6学 号 实验日期 同组其他成员111602242 2011年 12 月07 日无一…

Markdown会干掉Html吗?

Markdown会干掉Html吗? 很明显,MarkDown正在已一种比病毒还快的速度传播着,量子的机器人语言也是深受其启发,当然了,在这个东西没搞出来之前,MarkDown就能干很多事情,比如在线编辑。 有了它&…

java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...

1.什么是动态语言?程序运行时,可以改变程序的结构或者变量类型;如Python,javaScriptfunction(){var s"var a3;var b4;" evals(s);}在执行javascript代码的的过程中,可以改变变量的值或插入语句改变结构。但J…

java中的module是什么意思_Angular - 组件中module.id的含义是什么?

Update for (2017-03-13) :删除了所有提及的moduleId . “组件相对路径”cookbook已删除我们在我们推荐的SystemJS配置中添加了一个新的SystemJS插件(systemjs-angular-loader.js) . 此插件动态地将templateUrl和styleUrls中的“组件相对”路径转换为“绝对路径” .…

HTML跳转

Window.location.href"http://www.baidu.com/"转载于:https://www.cnblogs.com/hucaihao/p/3514165.html

Spring注释,我从来没有机会使用第1部分:@primary

今天,我想起了我的一个老朋友(primary),我们从教程到教程都遇到了他。 您知道在Spring Autowired批注中按类型工作,也就是说,如果Spring找到符合类型的匹配的合格bean,则会将其注入。让我们在示…

mysql构建栋_【转载】这次拆库 应是微服务化的拆分方式

一、现状现状.png我们将一个大而全的系统一拆为三,容器,发布,测试都已经独立出去,但是原始的数据库还是一套,现在需要将数据库做一个拆分,A、B、C三个系统有各自的数据库之后,我们的微服务化在现…

使用SharePoint 2010新增的文档集内容类型来管理文档

使用SharePoint 2010新增的文档集内容类型来管理文档 SharePoint 2010新增加的文档集功能是作为内容类型存在的,使用范围在网站集中,需要激活“文档集”功能到网站集才可以正常使用。文档集其实就是一个SharePoint产品增强的文件夹和内容类型的综合体现。…

如何使用Java 8流快速替换列表中的元素

假设您有一个项目清单&#xff1a; List<String> books Arrays.asList("The Holy Cow: The Bovine Testament","True Hip Hop","Truth and Existence","The Big Book of Green Design" );&#xff08;不要判断我。此随机书生成…

db2和mysql性能优化_DB2数据库性能调优的十个办法

这篇文章主要是针对e-business OLTP的10个性能方面的Tips。10. Monitor Switches打开Monitor Switch,才能获得性能方面的信息,命令如下db2 "update monitor switches using lock ON sort ON bufferpool ON uow ON table ON statement ON"9. Agents要保证有足够的agen…

处理远程通知的方法

IOS的一大特点就是可以随时向客户端push相关的信息。那么在客户端收到这些信息时&#xff0c;如何处理呢&#xff1f; 有两种情景需要处理&#xff0c; 一是&#xff1a;从状态栏下拉&#xff0c;点击通知栏里的一项&#xff0c;启动应用 二是&#xff1a;在锁屏界面&#xff0…

java merge into_Oracle merge into的使用

最近项目上使用Oracle的Merge&#xff0c;所以找来一下资料学习了解。该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中&#xff0c;使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了如下改动。特点&#xff1a;1、insert 和upd…

基于visual Studio2013解决算法导论之019栈实现(基于数组)

&#xfeff;&#xfeff;&#xfeff;题目用数组实现栈解决代码及点评#include <stdio.h> #include <stdlib.h> #include <time.h> #include <malloc.h> #include<assert.h>typedef struct Stack {int nTop;int nLen;int *pnArr; }Stack, *PSta…

关闭终端php就退出进程_解决windows下php-cgi进程经常自动关闭

php-cgi在linux中有fpm管理&#xff0c;Apache不是采用cgi这种模式&#xff0c;于是乎就出现了&#xff0c;在windows下&#xff0c;采用nginx时&#xff0c;开启的php-cgi监听非常不稳定&#xff0c;经常奔溃关闭。现在解决了这个问题。注意是win32位系统下解决的&#xff0c;…

九度OJ 1437 To Fill or Not to Fill -- 贪心算法

题目地址&#xff1a;http://ac.jobdu.com/problem.php?pid1437 题目描述&#xff1a; With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from …

php为什么获取不到id,微信小程序无法获取到unionId怎么办

UnionID机制说明如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序)&#xff0c;可通过unionid来区分用户的唯一性&#xff0c;因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序)&#xff0c;用户的unionid是唯一的。换句话说&#x…

不同类型的变量在内存中存储的详细情况

原文链接&#xff1a;http://blog.csdn.net/qingkong8832/article/details/6687793 一、int型变量在内存中存储详细情况 //By Richard #include <stdio.h> #include <math.h>int main() {int i10;int i21;int i3-1;int i4127;int i5-127;int i6128;int i7-128;int …