java动态生成sdk_android、java制作sdk以及自动生成文档

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

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

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

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

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

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

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

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

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

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

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

0c0b025aef19b7d1172c4349bfe92b74.png

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

bb3350f558b35ab040c44c239f348816.png

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

6b1d5ec488ea5ede1219fb7204e0c0d7.png

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

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

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

1 右击工程,选择export

2661be10aba4162e13de9411b6599e5a.png

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

232407aa8033bd57b431e7e875d106d3.png

3 在接下来的页面中:

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

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

User standard doclet   选择doc的路径

点击next

8794e075adb18a1a289edc73690ceece.png

4 使用默认设置,点击next

c6bbd89c1e4a85de28069a8615a674b3.png

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

63e72161b692b41c2c74a59044e775ff.png

打开对应的文件夹能看到

eb84025933601a66da70f389a7085709.png

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

a02d1e24bbd4d8d9ef33cecc194471d5.png

是不是很眼熟!!!

似曾相识。。。

跟api文档好像

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

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

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

11ed546e27adc50f7fce592a1910d648.png

就这样搞定了。

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

乖乖做SDK去。。。

参考博文:

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

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

相关文章

利用 Selenium 自动化 web 测试

Selenium 是一个健壮的工具集合,跨很多平台支持针对基于 web 的应用程序的测试自动化的敏捷开发。它是一个开源的、轻量级的自动化工具,很容易集成到各种项目中,支持多种编程语言,比如 .NET、Perl、Python、Ruby 和 Java™ 编程语…

Python3异常处理

Python3异常处理 一. 简介 在编程过程中为了增加友好性,在程序出现Bug时一般不会直接将错误信息展示给用户,而是提供一个友好的输出提示。 二. 使用 1. 异常基础 常用结构: 1234try:passexcept Exception,ex:pass其他结构: 123456…

php 正则替换style,php正则去除js,class,id,style标签代码

在写xml的时候,文档要求内容里面只要图片和段落就可以了,其他的css,js什么的都不需要。所以,在输出的时候,就要用正则去过滤掉不需要的标签代码。第一种:php正则去除js标签代码。$preg "/$content preg_replace…

Flex 序列化自定义类 解决 sharedObject 保存自定义对象

问题我想把自定义类实例存储到LSO解决办法使用flash.net.registerClassAlias( )方法保留类型信息并把类实例添加到共享对象的data属性上。讨论LSOs 使用特殊的二进制格式,Action Message Format (AMF),当要在LSO中存储类实例时,实例会被编码为…

js禁止页面滚动

1.申明函数&#xff1a; function preventBackgroundScroll(e: React.WheelEvent){ const target e.currentTarget if ( (e.deltaY < 0 && target.scrollTop < 0) || (e.deltaY > 0 && target.scrollHeight - target.clientHeight - target.scrollTo…

当老虎来临时

两个人在森林里&#xff0c;遇到了一只大老虎。A就赶紧从背后取下一双更轻便的运动鞋换上。B急死了&#xff0c;骂道&#xff1a;“你干嘛呢&#xff0c;再换鞋也跑不过老虎啊&#xff01;” A说&#xff1a;“我只要跑得比你快就好了。” 心得&#xff1a;二十一世纪&am…

R学习-小白笔记05

----回归诊断----#样本是否符合正态分布假设&#xff1f;#是否存在离群值导致模型产生较大误差&#xff1f;#线性模型是否合理&#xff1f;#误差是否满足独立性&#xff0c;等方差&#xff0c;正态分布等假设条件&#xff1f;#是否存在多重共线性&#xff1f; ----正态分布检验…

入门笔记(启动篇)

linux启动过程&#xff1a; bios自检&#xff0d;&#xff0d;&#xff1e;MRB&#xff0d;&#xff0d;&#xff1e;GRUB&#xff0d;&#xff0d;&#xff1e;内核加载&#xff0d;&#xff0d;&#xff1e;INIT&#xff0d;&#xff0d;&#xff1e; /etc/i…

乌班图 之 常用操作命令(二)

一、tree命令 tree [目录名]  以树状图列出文件目录 -d 只显示目录&#xff0c;不显示文件。 二、cp命令 cp即copy   cp 源文件 目标文件 -i  重名自动 覆盖 加了 -i 提示   y/n -r  复制目录及该目录下所有字目录和文件&#xff0c;目标文件必须是一个目录名。 三、…

php 对比两个压缩包内容,php实现的zip文件内容比较类

本文实例讲述了php实现的zip文件内容比较类。是一个非常实用的PHP类文件。分享给大家供大家参考。具体分析如下&#xff1a;该php zip文件比较类主要实现比较两个zip文件的内容&#xff0c;返回新增&#xff0c;删除&#xff0c;及相同的文件列表。暂时只支持单层。需求&#x…

Exchange2010外部传输域的使用方法

安装好EX2010后并不能马上与外部邮件进行收发&#xff0c;需要进行以下几个配置&#xff1a; 1、配置接收连接器 2、配置接受域 3、配置发送连接器 可以参考这个链接&#xff1a;http://www.chinaemail.com.cn/server/xtfl/Exchange/201101/59114.html 下面以我的实例来说明一…

Shiro安全框架入门篇

一、Shiro框架介绍 Apache Shiro是Java的一个安全框架&#xff0c;旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证&#xff0c;授权&#xff0c;企业会话管理和加密等。Shiro的具体功能点如下&#xff1a; &#xff08;1&#xff09;…

php 京东首页分类导航,仿京东导航栏

摘要&#xff1a; 仿京东顶部导航栏 仿京东顶部导航栏*{margin:0px;padding:0px;}.header{width:100%;height:35px;background-color:#E3E4E5;}.header_content{width:1200px;height:35px;margin:auto;padding:0px;}.header_left{width:300px;height:35px;line-height:35px…

asp.net ajax1.0基础回顾(七):综合应用

本文将通过学生信息管理来介绍asp.net ajax的综合应用实例&#xff0c;包括“浏览”、“查询”、“添加”和“多选删除”功能&#xff0c;以及其它相关设计。 本示例源代码下载地址&#xff1a;http://down.51cto.com/data/220541 本示例中&#xff0c;程序架构参考Petshop&…

探讨程序员如何学习你不熟悉的技术,以及用什么样的方法去学习.

由于公司的业务拓展&#xff0c;有一部份的程序要用Delphi来实现&#xff08;基于原来的程序拓展&#xff09;现在需要学习Delphi&#xff0c;刚开始接手时感觉不知如何下手&#xff08;也许是本人才疏学浅&#xff09;&#xff0c;于是在网上找了很多资料&#xff0c;总是感觉…

转载:关于对REST的基本认识和理解

1.什么是 REST?REST 是属于 WEB 自身的一种架构风格&#xff0c;是在 HTTP 1.1 规范下实现的。Representational State Transfer 全称翻译为表现层状态转化。Resource&#xff1a;资源。比如 newsfeed&#xff1b;Representational&#xff1a;表现形式&#xff0c;比如用JSON…

php ajax取不到值,PHP没有从Ajax获取值

我一直在搜索所有的答案&#xff0c;但我无法让它工作。我想从ajax发送两个整数值到php。这是ajax部分&#xff1a;$(document).ready(function(){$(input[type"radio"]).click(function(){var id_user$(this).filter(:checked).val();var stringname$(this).attr(na…

ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)

http://blog.sina.com.cn/s/blog_6ad539a90100r469.html5.5 使用HTML帮助器来截短文字 使用我们的StoreManager控制器中的Index方法添加视图的时候&#xff0c;有一个潜在的问题。事实上&#xff0c;我们的书名与作者名属性的长度值可能超出页面上 所定义的这两个列的长度。我们…

SSL-ZYC 1760 商店选址问题

题目大意&#xff1a; 给出一个城市的地图&#xff0c;商店设在一点&#xff0c;使各个地方到商店距离之和最短。 思路&#xff1a; 这是一道最短路的问题。a[i][j]表示从i到j的最短路径&#xff0c;最终求出最小值并输出。 代码&#xff1a; #include <cstdio> #incl…

c++ java通信 protocol buffer,google protocol buffer (C++,Java序列化应用实例)

google protocol buffer (C,Java序列化使用实例)转载,请注明出处: http://blog.csdn.net/eclipser1987/article/details/8525383 (eclipser163.com)1.下载安装:google protocol buffer 的官网地址是:http://code.google.com/p/protobuf/建议下载稳定版本:protobuf-2.4.1 linu…