(android 实战总结)android第三方组件实现总结

本文总结了Android开发中创建组件层面第三方包的多种方式,包括导出jar文件、项目library引用及具体平台组件实现方式,并分析了它们各自的优缺点。同时,详细阐述了当前平台组件实现方式,特别关注了资源封装与导入策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前沿:

在android开发过程中,往往会需要创建组件层面的第三方包,下面将对android对第三方包支持的方式种类,各试用范围,优缺点进行总结。最后分析当前开发过程中,一些大的平台的组件实现方式。

 1.  导出jar文件方式,实现第三方组件

1.1.        实现过程:

    选择项目--> 点击右键,菜单,选择Exportà选择java/JAR -->选择类和资源文件(推荐只选择类文件)-->选择导出文件路径,导出JAR文件。

 

1.2.        适用范围:

  合适创建无资源的第三方组件。

 

补充说明

  包含资源的第三方组件也可以实现,但实现的方式比较繁琐,且不是标准做法,一般不建议这么做,如需实现,一般用以下两种方式

  【1】  资源放到组件包JAR文件中,类中访问资源时,通过获取组件资源的方式

      例:ImageIcon image = new ImageIcon(this.class.getResource("icons/logo.gif"));

           java.net.URL imgURL = GUITest.class.getResource("/images/Snap1.jpg");

  【2】  资源放到组件包JAR文件外,在组件中访问资源,通过获取运行环境中的R资源的名称方式获取(注意如果直接用组件项目中R类获取资源的方式时,会有问题,运行    环境会根据资源的int值,在运行的项目中找对应的资源)

 

 

1.3.  优缺点:

  优点:实时过程简单,快捷,符合第三方组件的封装特点

     缺点:不能很好的支持资源的封装

 

 2.   项目library引用方式

  2.1.  实现过程:

  选择项目--》 点击右键,菜单,选择Properties--》选择Android --》右下方的Library--》选择Add,添加现有的项目。

 

  2.2.   适用范围:

     在大的项目实施过程中,共享工程中设置资源文件供项目调用

        

2.3.        优缺点:

 优点:

   支持资源共享

    在Library方式下,组件中的资源会自动生成R文件,在应用项目中,可以直接通过R文件对资源进行引用

缺点:

   需要项目之间应用,不适合项目封装

3.    当前第三方平台组件实现方式

3.1.    CNZZ移动统计客户端组件实现方式:

通过jar文件方式生成组件,在组件中不包含资源文件

 

3.2.  Admob广告客户端组件实现方式:

通过jar文件方式生成组件,对涉及到的窗体布局资源,通过代码强写完成。

 

3.3.    微云游戏平台组件实现的方式:

通过jar文件方式生成组件,资源通过外部导入引用项目中的方式实现。(过程用到了批处理,比较复杂)。

 

4.    当前我们平台的组件实现的方式

通过jar文件方式,资源也封装到组件中,通过包的方式去读取资源。

 

这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源组件: 网络请求库android-async-http 图片异步加载库universal-image-loader Sqlite数据库操作ormlite-android 社会化分享ShareSDK+短信验证码 Zxing二维码库 百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持多种接口回调 SOAP协议通信工具类(ToolSOAP.java),基于异步回调请求WebService接口 Sqlite数据库操作工具类(ToolDatabase.java),获取DAO、创建表、删除表等API 提示信息对话框工具类(ToolAlert.java),已集成泡泡、土司、对话框三种提示 文件操作工具类(ToolFile.java),assets/raw/xml/shrePerface/等文件读写API 地图定位工具类(ToolLocation.java),读取GPS状态、请求定位、获取经纬度等方法 社会化分享工具类(ToolShareSDK.java),各大开发平台分享API操作 短信验证码工具类(ToolMSM.java),移动/联通/电信三网发送手机短信验证码、异步回调验证结果 字符串操作工具类(ToolString.java),生成UUID、非空非NULL逻辑判断、生成MD5等常用共通方法 数据操作工具类(ToolData.java),自动递归获取表单数据封装成Map、本地数据分页共通方法等 图片操作工具类(ToolPicture.java),生成二维码、验证码、灰度、合成、圆角、水印等操作 读取本地资源工具类(ToolResource.java),反射本地资源文件API,避免依赖R文件,方便jar形式发布 Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络操作工具类(ToolNetwork.java),获取网络信息、更改切换网络等相关操作 日期操作工具类(ToolDateTime.java),获取日期、日期加减、格式化日期、日期转换等操作 XML操作工具类(ToolXml.java),基于DOM/XMLPullPaser模式解析、生成XML操作 XMPP操作工具类(ToolXMPP.java),基于XMPP协议的相关API操作 适配字体工具类(ToolAutoFit.java),代码根据设备密度自动缩放View的字体大小 LOG相关工具类(ToolLog.java) 功能待续-->切入记录异常日志,并存储文件或上传至服务器 已封装/收集自定义控件: 兼容低版本的SwitchButton 追加自定义属性Value的CheckBox/RadioButton/RadioGroup/SingleSpinner 圆角提示信息TipsView 圆角图片RoundImageView 自定义样式风格ProgressDialog 自定义样式WebView 圆形进度条(RoundProgressBar)、垂直进度条(VerticalProgressBar) 开源优秀自定义控件:imageindicator(图片轮播/引导界面)、pulltorefresh、XListView、TableFixHeaders(水平+垂直滚动+首行+首列冻结表格)、ViewPager
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值