`
hunankeda110
  • 浏览: 747104 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android自定义控件打包成jar文件

阅读更多

 

内容纲要

 

• Android自定义View封装的必要性

• Android自定义View难于封装成jar包的原因

• Android自动生成的R类简介

• Android打包R类的解决方案

 

• 用反射方式实现解决方案

• 注意事项

 

 

View封装必要性

 

• 封装是为了复用

• 封装是为了积累成果,避免“重复发明轮子”。

• 而做为手机客服端开发,视图界面的开发工作量已经是主要

工作类容之一。从而更显出View的封装的必要性,和实用性


难封装的原因

 

• 系统自动生成的R类如果被打到jar包中后,就失去了索引资源的作

用。导致封装成jar包的view无法获取对应资源。因为R类的属性值

是在应用编译打包时由系统自动分配的。

 


R类简介

 

• R是在程序编译时自动生成的,相当于资源字典或索引。

• R类结构示例如下图:

 

打包R类的解决方案

 

• 问题

R类打包之后失效,实际是因为R类的内部类里面的属性失效,因

为打包之后这些属性的值就固定了,但是实际项目中这些值是在编译

时有系统自动分配的,无法在编译前固定。

 

• 解决思路

如果能在view初始化(及程序运行时),执行一个初始化过程,

将此时项目中R内部类的对应值,复制给view jar包中的R内部类的对

应值,则能解决这个问题。由于各个View jar包中的R类内部类的属

性个数和属性名是不确定的,所以使用java反射机制来实现上述思路 。


解决方案


注意事项

分享到:
评论
1 楼 xxl6097 2013-06-20  
你的解决方案呢?为啥没写出来啊??

相关推荐

    Android 自定义组件成JAR包的实现方法

    本文将详细介绍如何将Android自定义组件打包成JAR文件,以便在各个项目间方便地共享和引用。 首先,我们需要理解自定义组件的基本概念。在Android中,自定义组件通常是对系统原有组件(如TextView、ImageView)的...

    android打包JAR,DEX

    在Android开发中,打包JAR和DEX文件是两个重要的步骤,它们涉及到应用的构建和运行。JAR(Java Archive)是Java平台上的一个文件格式,用于集合多个类文件和其他资源,便于分发和使用。而DEX(Dalvik Executable)是...

    打造Android通用的自定义AlertDialog提示框使用示例

    在Android开发中,自定义`AlertDialog`是一种常见的需求,它能帮助我们提供更丰富的用户交互体验,让应用的通知、确认或选择操作更加个性化。本文将深入探讨如何打造一个通用的自定义`AlertDialog`,并结合实际示例...

    安卓树形控件相关-Android任意层级树形控件无jar版.rar

    本资源"安卓树形控件相关-Android任意层级树形控件无jar版.rar"提供了一个无依赖jar包的树形控件实现,适用于那些希望自定义和控制底层逻辑的开发者。 在Android系统中,原生并未提供直接支持树形结构的控件,但...

    仿Iphone风格翻页控件,源码及Jar包毕业设计—(包含完整源码可运行).zip

    3. **自定义控件**:仿iPhone翻页控件是一个自定义视图,开发者通过继承Android的基础View或 ViewGroup 类,重写相关方法,实现特定的动画效果和交互逻辑。 4. **动画框架**:在Android中,可以使用`ObjectAnimator...

    仿Iphone风格翻页控件,源码及Jar包.rar

    在压缩包内的文件名称列表中,“仿Iphone风格翻页控件,源码及Jar包”可能包含以下内容: 1. **源码**:这部分通常会有一个或多个.java文件,包含了翻页控件的类和方法。开发者可以通过阅读源码了解控件的工作机制...

    夜间模式deme类型的jar

    这种格式便于模块化和分发代码,因为它可以把多个文件打包成一个单一的可执行文件。在这个场景中,".jar"文件包含了实现夜间模式功能的Java类和其他相关资源。 夜间模式的实现通常涉及以下几个关键知识点: 1. **...

    【计算机专业-Andorid项目源码100套之】仿Iphone风格翻页控件,源码及Jar包

    使用Jar包时,通常需要在项目的build.gradle文件中添加依赖,或者将Jar包放入项目的libs目录,并在Android Studio中进行配置。 标签中提到的“java”表明了这个翻页控件是基于Java语言实现的,而“Iphone”则意味着...

    android.support.design.jar-24.2.1(jar、doc、source)

    这是一个包含了`android.support.design`库所有编译后代码的二进制文件,开发者可以将其添加到项目的依赖库中,直接调用其中定义的类和方法,实现如悬浮动作按钮(FloatingActionButton)、导航抽屉(NavigationView)、...

    eclipse版vitamio问题解决jar

    至于"vitamio"这个文件,很可能是经过修改后的Vitamio库的打包文件,可能包含了解决上述问题的源码和编译后的jar包。在Eclipse中,开发者需要将这个jar包导入到项目的构建路径中,以便在代码中使用。 总结来说,...

    recyclerview.jar包

    `recyclerview.jar` 是一个Android开发中常用的库文件,它包含了`RecyclerView`组件的实现。`RecyclerView`是Google推出的一个高效、可复用的视图列表控件,它替代了传统的`ListView`,在处理大量数据时表现出更好的...

    android 打开pdf

    aar是Android库项目的打包格式,类似于Java中的JAR文件,但包含了更多的资源和元数据,如AndroidManifest.xml、res目录和编译后的Java字节码。aar文件通常用于模块化开发,使得开发者可以将可重用的代码和资源打包...

    三级联动省市区源码

    4. **aar文件**:Android Archive (AAR) 文件是Android库项目的标准打包格式,类似于Java的JAR文件,但包含了更多的资源和元数据。在这个案例中,编译产生的aar文件意味着开发者已经将源码打包成一个可以直接在其他...

    仿iPhone风格对话框示例,Jar包及源码(实用1).zip

    在这个案例中,提供的Jar包是一个预编译的二进制库,包含已经打包好的代码,可以直接在Android项目中引用,以实现仿iPhone风格的对话框功能。将Jar包添加到项目的libs目录下,并在构建路径中配置,就可以在代码中...

    新版Android开发教程.rar

    Android 的 App Market 模式,软件开发者获得 7 成收入, 3 成用于系统维护。难点在于位置营销。 设备商通过卖设备、内置特色应用来获得盈利。也可以兼职专业软件开发者进行赢利。 Google 自身通过基于统一平台为...

    AnimateCheckBox.zip

    总的来说,AnimateCheckBox.zip是一个学习Android自定义组件和动画效果的好资源。开发者可以通过这个项目了解如何将动画集成到UI控件中,提高应用的用户体验。在实际使用时,需要根据自身的开发环境和需求进行适当的...

    RecyclerView使用需要的jar包

    首先,RecyclerView是Android SDK中的一个视图组件,它取代了ListView作为显示大量数据的标准控件。RecyclerView的优势在于其强大的复用机制,它可以有效地减少内存消耗和提高滚动性能。为了在项目中使用...

    ANDROID 开发文档.pdf

    - **概述**:讲解如何在Android项目中引入第三方库以及打包项目为jar文件。 - **应用场景**:方便模块化开发,提高代码复用率。 **27. Android添加鼠标、键盘应用** - **概述**:实现外接鼠标和键盘的功能。 - **...

    Android开发SDK文档

    在SDK中,`build-tools`目录下的工具则用于构建和打包应用,例如`aapt`(Android Asset Packaging Tool)处理资源文件,`dx`转换Java字节码为Dalvik格式,`apktool`用于反编译和重新打包APK,以及Gradle插件用于自动...

    android应用源码企业通用公司宣传应用源码.zip

    RAR是一种常见的压缩格式,通常包含多个文件和目录,如源代码文件(.java或.kt)、资源文件(.xml、.png等)、构建脚本(build.gradle)以及可能的库文件(.jar或.aar)。解压后,开发者可以深入研究每个部分来了解...

Global site tag (gtag.js) - Google Analytics