`

Android第三方包组件实现总结

 
阅读更多

前沿:

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文件方式,资源也封装到组件中,通过包的方式去读取资源。

分享到:
评论

相关推荐

    SlidingMenuLib布局的两个第三方包

    在Android开发中,为了实现丰富的用户界面和交互效果,开发者经常需要借助第三方库。SlidingMenuLib是一个流行的库,它提供了侧滑菜单的功能,类似易信应用中的菜单设计。这个库使得开发者能够轻松地在主界面和侧滑...

    HarmonyOsRefresh是一个鸿蒙版的刷新组件,超简单使用,支持下拉刷新和上拉加载.zip

    HarmonyOsRefresh是专为鸿蒙系统设计的一个刷新组件,它使得在鸿蒙应用中实现下拉刷新和上拉加载功能变得极其简单。本文将深入探讨HarmonyOsRefresh的核心特点、使用方法以及它如何助力鸿蒙应用开发。 1. **...

    UI,提供 android 折现图、图形图,扇形图,渐变图等常用报表 ui,功能强大,一个报表一个类,代码十分简单,易修改易维护,绘制性能高效,库没有导入其他的第三方包,干净整洁。 主要是: 承办单位、承办单位、承办单位.zip

    综上所述,这个开源项目为Android开发者提供了一套强大的图表UI解决方案,包括折线图、图形图、扇形图和渐变图等,具有代码简洁、易维护、高性能以及无第三方依赖的特点。通过UI-master这个压缩包,开发者可以轻松...

    高职竞赛移动互联网应用软件开发第三方插件

    移动应用的开发通常涉及到Android和iOS两大主流平台,而第三方插件是这两个平台广泛应用的工具,它们能够帮助开发者快速实现特定功能,节省开发时间和成本。 在Android开发中,第三方插件主要体现在各种Library(库...

    android-2.1-src.zip

    - **otherpkg**:表示其他第三方包或非标准库,可能包含Android系统为特定应用或服务提供的扩展支持。 - **org**:通常包含开源组织的代码,比如Apache或Mozilla等,这些代码可能被Android系统所引用或集成。 - *...

    Android代码混淆的写法总结

    此外,保持第三方包不混淆也可以通过 `-keep` 指令来实现,例如保持支付宝包不混淆。 在实际开发中,Android 代码混淆是非常重要的一步,可以保护代码的安全和 prevents 反编译。但是,需要注意的是,混 淆后代码的...

    android-1.5-cupcake-src.zip

    "other"可能包含一些辅助工具或脚本,"otherpkg"和"otherpackage"可能指的是其他第三方包或自定义组件。 4. **org、javax**:这两个目录通常表示Java的包结构。"org"可能是开源组织或项目的包,而"javax"则是Java...

    um详解 pdf格式

    在标题“um详解 pdf格式”和描述“android开发 um第三方分享详解 pdf格式 需要第三方包”中,我们可以看到涉及到的是关于友盟(Umeng)第三方分享组件的开发文档,这是面向Android开发者的详细教程,用于在他们的...

    侧滑菜单MyLeftMenu

    描述中提到的“没有使用任何第三方包”,意味着开发者可能使用了原生的Android SDK组件和方法来构建这个侧滑菜单。这涉及到以下几个关键的技术点: 1. **布局设计**:侧滑菜单的实现首先需要一个布局文件,通常是一...

    RealThinClientSDK_v763_D101_Starter(无连接数限制).zip

    主包提供了SDK的核心组件,而第三方包则可能包含了额外的库和插件,这些扩展了SDK的功能,使其能够更好地适应不同项目的特定需求。 总的来说,RealThinClientSDK_v763_D101_Starter为Delphi开发者提供了一套全面的...

    中兴u830 中文recovery0410及root工具

    2. **卡刷第三方包**:卡刷是指通过SD卡来刷入新的系统或应用程序。用户可以通过Recovery模式来实现这个过程,这使得用户能够尝试不同的Android定制版本,如LineageOS,或者安装特定的MOD和补丁。 3. **Root工具**...

    详解Android代码混淆实战

    默认情况下,如果启用了混淆,Proguard会尝试对所有类和第三方包进行混淆。但是,一些关键类和第三方库可能需要被排除在混淆之外,这就需要开发者根据应用的具体需求,编写特定的混淆规则文件(proguard-rules.pro)...

    Flutter architectural overview.pdf

    9. 第三方包生态:作为一个开源框架,Flutter拥有一个充满活力的第三方包生态系统,这些包补充了核心库的功能,提供丰富的扩展功能,以满足开发者不同的需求。 从Flutter的架构设计上,可以看出其对性能和开发效率...

    RTC SDK 7.13(D7-XE8)

    主包可能包含RTC的核心组件,而第三方包可能包含了与RTC集成的其他库或工具。 6. **Readme.txt**:这是非常重要的文件,通常会包含安装指南、系统需求、兼容性信息、已知问题以及解决方法等关键信息。安装RTC SDK...

    当你开始学习Flutter时,以下是一些基本的入门知识和步骤,可以帮助你快速入门: 1. **Flutter是什么?**

    ### Flutter入门知识与步骤详解 ...- **探索第三方库**:了解并使用Flutter生态中的第三方包和库,可以极大提高开发效率。 通过以上的步骤和指南,你可以开始你的Flutter旅程,逐步提升自己的移动应用开发技能。

    Flutter完整开发实战详解系列.pdf

    需要注意的是,国内用户可能需要配置Flutter的代理,并且在搜索Flutter第三方包时,需要在***中查找。 二、快速开发实战篇 本部分将介绍如何快速从零开始开发一个完整的Flutter应用,并且配备高完成度的开源项目...

    flutter.zip

    Flutter的生态系统中有大量的插件和第三方包,例如网络请求库dio、图片加载库image_picker等,它们扩展了Flutter的功能,加速了开发进程。 8. **国际化**: Flutter提供了`intl`包,支持应用的多语言国际化。 9....

    TakeAndPickPicDemo:简单的照片小demo

    9. **第三方库**: 项目描述中提到需要导入第三方包,可能是用于图片处理、权限管理或者其他辅助功能。具体依赖需要查看项目的`build.gradle`文件。 10. **Android生命周期**: 在Activity的生命周期方法中,如`...

    flutter_kart:基于udmey教程的示例flutter项目

    7. **Package 使用**:Flutter 社区提供了大量的第三方包,如 http 用于网络请求,shared_preferences 用于本地数据存储等。`flutter_kart` 项目可能使用了其中的一些包来扩展功能。 【Android 和 iOS 平台兼容性】...

    getting started with meteor

    通过使用Meteor的命令行工具,开发者可以轻松地管理第三方包。Meteor的社区活跃,提供了大量现成的包供开发者使用,从而加速开发过程。 知识点四:Meteor的命令行工具 Meteor的命令行工具是其生态系统中的核心组件...

Global site tag (gtag.js) - Google Analytics