jar包添加javadoc注释文档.docx
《jar包添加javadoc注释文档.docx》由会员分享,可在线阅读,更多相关《jar包添加javadoc注释文档.docx(18页珍藏版)》请在冰豆网上搜索。
jar包添加javadoc注释文档
Android设置外源JAR包的说明文档
将已有项目注释
1注释文档的格式
1.1javadoc文档注视中用到的(前面加@符号)
author作者名
version标明该类模块的版本4.0
parameter对方法中某参数的说明
since最早使用该方法/类/接口的JDK版本
return对方法返回值的说明
throws异常类及抛出条件
deprecated引起不推荐使用的警告
seereference参考转向,也就是相关主题
override重写
当前用到的只有这些,更多请参考
1.2注释文档将用来生成HTML格式的代码报告,所以注释文档必须书写在类、域、构造函数、方法、定义之前。
注释文档由两部分组成——描述、块标记。
需注意:
写在目标之后的将无法自动生成对应的JAVADOC文件,即生成时报错。
例如:
/**
*ThedoGetmethodoftheservlet.
*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget.
*@paramrequest
*therequestsendbytheclienttotheserver
*@paramresponse
*theresponsesendbytheservertotheclient
*@throwsServletException
*ifanerroroccurred
*@throwsIOException
*ifanerroroccurred
*/
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}
前两行为描述,描述完毕后,由@符号起头为块标记注释。
2注释的种类
2.1文件头注释文件头注释以/*开始,以*/结束,需要注明该文件创建时间,文件名,命名空间信息。
例如:
/*
*Createdon2005-7-2
*/
2.2类、接口注释类、接口的注释采用/**…*/,描述部分用来书写该类的作用或者相关信息,块标记部分必须注明作者和版本。
说明:
公司的格式化规范里有这个,导入前可以自己修改作者名及当前版本号
/**
*com.example.androidjavadocexample.MainActivity
*@authorxiasiming
*@versionVersion1.00
*createat2012-11-9上午11:
04:
03
*/
2.3构造函数注释构造函数注释采用/**…*/,描述部分注明构造函数的作用,不一定有块标记部分。
例如:
/**
*默认构造函数
*/
又例如:
/**
*带参数构造函数,初始化模式名,名称和数据源类型
*@paramschema
*Ref模式名
*@paramname
*Ref名称
*@paramtype
*byVal数据源类型
*/
2.4域注释域注释可以出现在注释文档里面,也可以不出现在注释文档里面。
用/**…*/的域注释将会被认为是注释文档热出现在最终生成的HTML报告里面,而使用/*…*/的注释会被忽略。
例如:
/**
*TheX-coordinateofthecomponent.
*
*@see#getLocation()
*/
intx=1263732;
2.5方法注释方法注释采用/**…*/,描述部分注明方法的功能,块标记部分注明方法的参数,返回值,异常等信息。
例如:
/**
*设置是否有外码约束
*
*@paramconn
*Connection与数据库的连接
*/
2.6定义注释规则同域注释。
3注释块标记
3.1标记的顺序块标记将采用如下顺序:
…
*
*@param(classes,interfaces,methodsandconstructorsonly)
*@return(methodsonly)
*@exception(@throwsisasynonymaddedinJavadoc1.2)
*@author(classesandinterfacesonly,required)
*@version(classesandinterfacesonly,required.Seefootnote1)
*@see
*@since
*@serial(or@serialFieldor@serialData)
*@deprecated(seeHowandWhenToDeprecateAPIs)
*…
一个块标记可以根据需要重复出现多次,多次出现的标记按照如下顺序:
@author按照时间先后顺序(chronological)
@param按照参数定义顺序(declaration)
@throws按照异常名字的字母顺序(alphabetically)
@see按照如下顺序:
@see#field
@see#Constructor(Type,Type...)
@see#Constructor(Typeid,Typeid...)
@see#method(Type,Type,...)
@see#method(Typeid,Type,id...)
@seeClass
@seeClass#field
@seeClass#Constructor(Type,Type...)
@seeClass#Constructor(Typeid,Typeid)
@seeClass#method(Type,Type,...)
@seeClass#method(Typeid,Typeid,...)
@seepackage.Class
@seepackage.Class#field
@seepackage.Class#Constructor(Type,Type...)
@seepackage.Class#Constructor(Typeid,Typeid)
@seepackage.Class#method(Type,Type,...)
@seepackage.Class#method(Typeid,Type,id)
@seepackage
3.2标记介绍
3.2.1@param标记
@param后面空格后跟着参数的变量名字(不是类型),空格后跟着对该参数的描述。
在描述中第一个名字为该变量的数据类型,表示数据类型的名次前面可以有一个冠词如:
a,an,the。
如果是int类型的参数则不需要注明数据类型。
例如:
…
*@paramchthechar用用来……
*@param_imagetheimage用来……
*@param_num一个数字……
…
对于参数的描述如果只是一短语,最好不要首字母大写,结尾也不要句号。
对于参数的描述是一个句子,最好不要首字母大写,如果出现了句号这说明你的描述不止一句话。
如果非要首字母大写的话,必须用句号来结束句子。
(英文的句号)
公司内部添加ByRef和ByVal两个标记,例如:
*@param_imagetheimageByRef用来……
说明该参数是引用传递(指针),ByVal可以省略,表示是值传递。
3.2.2@return标记返回为空(void)的构造函数或者函数,@return可以省略。
如果返回值就是输入参数,必须用与输入参数的@param相同的描述信息。
必要的时候注明特殊条件写的返回值。
3.2.3@throws标记@throws以前使用的是@exception。
@throws的内容必须在函数的throws部分定义。
3.2.4@author标记类注释标记。
函数注释里面可以不出现@author。
3.2.5@version类注释标记。
函数注释里面可以不出现@version
3.2.6@since类注释标记。
标明该类可以运行的JDK版本
例如:
@sinceJDK1.2
3.2.7@deprecated由于某种原因而被宣布将要被废弃的方法。
/**
*@deprecatedAsofJDK1.1,replacedby
*setBounds
*@see#setBounds(int,int,int,int)
*/
3.2.8@link标记语法:
{@linkpackage.class#memberlabel}
Label为链接文字。
package.class#member将被自动转换成指向package.class的member文件的URL。
4HTML代码的使用在注释描述部分可以使用HTML代码。
表示段落
表示自动标号
5注释示例
/**
*Graphicsistheabstractbaseclassforallgraphicscontexts
*whichallowanapplicationtodrawontocomponentsrealizedon
*variousdevicesorontooff-screenimages.
*AGraphicsobjectencapsulatesthestateinformationneeded
*forthevariousrenderingoperationsthatJavasupports.This
*stateinformationincludes:
*
*
*(seesetXORMode)
*
*
*Coordinatesareinfinitelythinandliebetweenthepixelsofthe
*outputdevice.
*Operationswhichdrawtheoutlineofafigureoperatebytraversing
*alongtheinfinitelythinpathwithapixel-sizedpenthathangs
*downandtotherightoftheanchorpointonthepath.
*Operationswhichfillafigureoperatebyfillingtheinterior
*oftheinfinitelythinpath.
*Operationswhichrenderhorizontaltextrendertheascending
*portionofthecharactersentirelyabovethebaselinecoordinate.
*
*Someimportantpointstoconsiderarethatdrawingafigurethat
*coversagivenrectanglewilloccupyoneextrarowofpixelson
*therightandbottomedgescomparedtofillingafigurethatis
*boundedbythatsamerectangle.
*Also,drawingahorizontallinealongthesameycoordinateas
*thebaselineofalineoftextwilldrawthelineentirelybelow
*thetextexceptforanydescenders.
*Bothofthesepropertiesareduetothepenhangingdownandto
*therightfromthepaththatittraverses.
*
*Allcoordinateswhichappearasargumentstothemethodsofthis
*Graphicsobjectareconsideredrelativetothetranslationorigin
*ofthisGraphicsobjectpriortotheinvocationofthemethod.
*Allrenderingoperationsmodifyonlypixelswhichliewithinthe
*areaboundedbyboththecurrentclipofthegraphicscontext
*andtheextentsoftheComponentusedtocreatetheGraphicsobject.
*
*@authorSamiShaio
*@authorArthurvanHoff
*@version%I%,%G%
*@since1.0
*/
publicabstractclassGraphics{
/**
*Drawsasmuchofthespecifiedimageasiscurrentlyavailable
*withitsnorthwestcorneratthespecifiedcoordinate(x,y).
*Thismethodwillreturnimmediatelyinallcases,evenifthe
*entireimagehasnotyetbeenscaled,ditheredandconverted
*forthecurrentoutputdevice.
*
*Ifthecurrentoutputrepresentationisnotyetcompletethen
*themethodwillreturnfalseandtheindicated
*{@linkImageObserver}objectwillbenotifiedasthe
*conversionprocessprogresses.
*
*@paramimgtheimagetobedrawn
*@paramxthex-coordinateofthenorthwestcorner
*ofthedestinationrectangleinpixels
*@paramythey-coordinateofthenorthwestcorner
*ofthedestinationrectangleinpixels
*@paramobservertheimageobservertobenotifiedasmore
*oftheimageisconverted.Maybe
*null
*@returntrueiftheimageiscompletely
*loadedandwaspaintedsuccessfully;
*falseotherwise.
*@seeImage
*@seeImageObserver
*@since1.0
*/
publicabstractbooleandrawImage(Imageimg,intx,inty,
ImageObserverobserver);
/**
*Disposeofthesystemresourcesusedbythisgraphicscontext.
*TheGraphicscontextcannotbeusedafterbeingdisposedof.
*Whilethefinalizationprocessofthegarbagecollectorwill
*alsodisposeofthesamesystemresources,duetothenumber
*ofGraphicsobjectsthatcanbecreatedinshorttimeframes
*itispreferabletomanuallyfreetheassociatedresources
*usingthismethodratherthantorelyonafinalization
*processwhichmaynothappenforalongperiodoftime.
*
*Graphicsobjectswhichareprovidedasargumentstothepaint
*andupdatemethodsofComponentsareautomaticallydisposed
*bythesystemwhenthosemethodsreturn.Programmersshould,
*forefficiency,callthedisposemethodwhenfinishedusing
*aGraphicsobjectonlyifitwascreateddirectlyfroma
*ComponentoranotherGraphicsobject.
*
*@see#create(int,int,int,int)
*@see#finalize()
*@seeComponent#getGraphics()
*@seeComponent#paint(Graphics)
*@seeComponent#update(Graphics)
*@since1.0
*/
publicabstractvoiddispose();
/**
*Disposesofthisgraphicscontextonceitisnolonger
*referenced.
*
*@see#dispose()
*@since1.0
*/
publicvoidfinalize(){
dispose();
}
}
将带注释的项目生成javadoc
步骤
(1)在eclipse左侧工程列表中右键选中项目,选中Export,在其列表中点击Java-->Javadoc,如图,选中后点击NEXT
(2)进入下一页后,进行如下设置
(3)点击Next进入下一页,有需要的可以自行修改,没有的话点击下一页,在页面中进行中文注释的乱码处理,如图
(4)然后点击finished,会生成完成,完成后可以进入工程目录下的doc文件夹内进行查询,特别注意,当你的文档注释有错时,会在Concle下显示你的错误,错误严重的时候会不能生成javadoc,会在ddms下报错,自行查看。
你可以查询你的错误,然后去doc目录下的项目文件夹class-use下相应的文件进行修改
需说明,是HTML的格式。
个人建议:
找到错误去项目中修改原文件,然后清除doc文件夹下的内容重新进行生成,毕竟后期要做成jar包调用。
将项目打包成jar包
步骤
(1)在eclipse左侧工程列表中右键选中项目,选中Export,在其列表中点击Java---->JARfile,如图,选中后点击NEXT
(2)进入下一页后,进行如下设置,只保留你必要的文件,冗余的都去掉,不然后期JAR包调用速度会很慢,版本低还会报错,JARfile里填写你生成的jar包名称,然后选择你存放的路径,不能存放在当前默认项目下
(3)点击2次next,进入最后一页选择你程序的主入口,确认后点击完成,JAR包就生成完成。
(4)需注意:
当你想生成的程序自引用了其他包时需保留LIB文件夹,更多注意请参考
将生成的JAR包导进新建的项目中
新建一个Android工程
此处假定你的电脑已经装了Eclipse、AndroidSDK,而且你已经熟练使用他们了。
(1)首先点击File-->new-->AndroidProject创建一个工程,然后在该工程的AndroidManifest.xml文件中加入互联网访问权限
.....
name="android.permission.INTERNET"/>
如果你开发大屏幕的pad,可能需要在AndroidManifest.xml中配置如下参数,来适配屏幕。
.....
largeScreens="true"
android:
normalScreens="true"
android:
smallScreens="true"
android:
anyDensity="true"/>
为您的工程导入JAR包并添加javadoc文档注释
(1)打开工程的Properties选项卡,点击左侧菜单的JavaBuildPath选项,选择Labraries项,点击AddExternalJARs,选择你需要导入的JAR包,点击确定。
这样就为您的Android工程添加了平台提供了JAR包
(2)最需要注意的时,不能直接创建LIB文件夹然后直接copy进去,那样是不行的,因为那样不能添加文档注释,系统默认在你添加进去的时候就需要指定javadoc的加载路径,在你加载的当前页面点击你刚加进去的JAR包,如下图,选择Javadoclocation,点击修改路径
(3)点击后,需注意,如加载网络路径选择JavadocURL,本地路径