一种Android平台工程的开发方法及系统技术方案

技术编号:7350196 阅读:182 留言:0更新日期:2012-05-18 17:48
本发明专利技术属于计算机通讯领域,尤其涉及一种Android平台工程的开发方法及系统。该Android平台工程的开发方法包括:定义资源属性类,生成公用的资源属性ID(IDentity,识别码);根据资源属性ID组织资源文件,将资源文件单独生成资源应用包;将资源应用包设置成应用程序的资产文件,生成应用程序包;程序运行时:应用程序包中的应用程序解析资产文件中的资源应用包,导出资源内容;通过公用的资源属性ID,读取相应的资源文件,设置给应用程序包中应用程序使用。本发明专利技术的有益效果在于:在用户换肤或定制自己的界面时,只需要编译资源应用包,不用再关心代码,在没有源码的情况下,也可以修改资源文件,实现换肤。

【技术实现步骤摘要】

本专利技术属于通信
,尤其涉及一种Android平台工程的开发方法及系统
技术介绍
Android(一种手机操作系统)应用程序一般包含在一个单一的文件夹中,即每一个Android应用程序是一个独立的工程,其包括:AndroidManifest.xml,Java源代码、资源文件和资产文件。AndroidManifest.xml为工程描述文件,位于每个应用程序的根目录下,它是Android的描述文件,提供应用程序的基本信息。Java源代码是按照Java包的方式来组织目录结构,包括各个Java类的源代码。资源文件包含XML文件、图片文件、原始数据文件等,独立于程序代码而存在,被放置在Android应用程序包的子目录res/中,在编译时编入应用程序,通过R类被使用或访问。资产文件放置在子目录assets/中,不经常使用,因为它们的应用程序很少,仅在需要读取原始字节流时才需要保存数据为资产,必须使用AssetManager类来读取资产文件。因此,一般应用程序只包含AndroidManifest.xml、Java源代码和资源文件。这种三位一体的思想体现了GUI(图形用户界面)的设计思想,描述文件负责宏观框架,Java负责逻辑,资源文件负责外观,通过控制资源文件可以达到不同的界面效果。虽然这种通过R类来读取自带的资源是挺方便的,但如果应用做得比较复杂,使用起来就不方便了。例如,应用想做几套皮肤,因为res/drawable/这个目录名称是固定的,不能在应用中自定义目录结构,不容易实现换肤功能。如果想换肤只能修改资源文件,重新编译生成应用程序包,如果没有源码也就无法实现换肤了。另外,对于切换界面的语言,虽然可以通过res/values-zh/定义描述资源,但必须通过系统的设置来选择语言,而不能通过用户在应用里的语言设置功能来改变语言。造成上述缺陷的原因在于:资源res中的目录名是固定的,而且只能根据系统的设置来控制选择,不能通过应用来选择目录名。
技术实现思路
本专利技术提供了一种Android工程的开发方法,旨在解决现有技术中换肤或定制自己的界面时需要重新编译生成应用程序包或修改应用程序包,且在没有源码或没有应用程序安装包的情况下,无法实现换肤的问题。本专利技术是这样实现的,一种Android工程的开发方法,包括:将资源文件单独生成资源应用包;将资源应用包设置成应用程序的资产文件,生成应用程序包;程序运行时:应用程序包中的应用程序解析资产文件中的资源应用包,导出资源内容;读取相应的资源文件,设置给应用程序包中应用程序使用。本专利技术的开发方法技术方案中,所述资源文件单独生成资源应用包之前,定义资源属性类,生成公用的资源属性ID(IDentity,识别码);根据所述资源属性ID组织资源文件,再将资源文件单独生成资源应用包;所述读取相应的资源文件是通过公用的资源属性ID进行读取。本专利技术的开发方法技术方案还包括:所述步骤根据资源属性ID组织资源文件,将资源文件单独生成资源应用包,具体包括:步骤b1:将源程序部分的工程描述文件和资源文件分别经过打包工具进行处理;步骤b2:将处理后的工程描述文件放置到根目录;步骤b3:将处理后的资源文件放置到res目录;步骤b4:将资产文件放置到assets目录;步骤b5:生成资源应用包。本专利技术的开发方法技术方案还包括:在所述步骤生成应用程序包,并将资源应用包设置成应用程序的资产文件,包括:步骤c1:将源程序部分的源码经过处理,生成Dex字节码,并将Dex字节码放置到根目录;步骤c2:将源程序部分的工程描述文件经过打包工具进行处理,将处理后的工程描述文件放置到根目录;步骤c3:将资源应用包设置成资产文件放置到assets目录;步骤c4:生成应用程序包。本专利技术的开发方法技术方案还包括:所述步骤c1具体包括:将源程序部分的源码通过编译器进行编译,生成Class字节码;将Class字节码经过处理,生成Dex字节码;将Dex字节码放置到根目录。本专利技术的开发方法技术方案还包括:所述源码为Java源码,所述Java源码通过Java编译器进行编译。本专利技术采取的另一技术方案为:一种Android工程的开发系统,包括资源应用包生成模块、应用程序包生成模块、解析模块和资源文件读取模块;所述资源应用包生成模块用于将资源文件单独生成一个资源应用包;所述应用程序包生成模块用于生成应用程序包,并将资源应用包设置成应用程序包的资产文件;所述解析模块用于解析资产文件中的资源应用包,导出资源内容;所述资源文件读取模块用于读取相应的资源文件,设置给应用程序包中应用程序使用。本专利技术的开发系统技术方案还包括资源属性生成模块,用于定义资源属性类,生成公用的资源属性ID;所述资源应用包生成模块用于根据资源属性ID组织资源文件;所述资源文件读取模块用于通过公用的资源属性ID,读取相应的资源文件。本专利技术的开发系统技术方案还包括:所述资源应用包生成模块具体工作方式为:将源程序部分的工程描述文件和资源文件分别经过打包工具进行处理;将处理后的工程描述文件放置到根目录;将处理后的资源文件放置到res目录;将资产文件放置到assets目录;生成资源应用包。本专利技术的开发系统技术方案还包括:所述应用程序包生成模块具体工作方式为:将源程序部分的源码通过编译器进行编译,生成Class字节码;将Class字节码经过处理,生成Dex字节码;将源程序部分的工程描述文件经过打包工具进行处理;将Dex字节码放置到根目录;将处理后的工程描述文件放置到根目录;将资源应用包设置成资产文件放置到assets目录;生成应用程序包。本专利技术的开发系统技术方案还包括:所述源码为Java源码,所述Java源码通过Java编译器进行编译。本专利技术的技术方案具有如下优点或有益效果:本专利技术的方法及系统将资源文件与应用程序源码分离,在用户换肤或定制自己的界面时,只需要编译资源应用包,不用再关心程序源代码,在没有程序源代码的情况下,也可以通过修改资源文件,实现换肤;并且可以支持多个资源包,在不同资源应用包间进行切换,轻松实现换肤和多语言等功能;另外,资源包可随着需要安装或卸载,使用户可以很好的管理自己的系统资源。附图说明附图1是本专利技术Android平台工程的开发的方法的流程图;附图2是本专利技术Android平台工程的开发的方法的交互框图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Android平台工程的开发方法,包括:
将资源文件单独生成资源应用包;
将资源应用包设置成应用程序的资产文件,生成应用程序包;
程序运行时:应用程序包中的应用程序解析资产文件中的资源应用包,导
出资源内容;
读取相应的资源文件,设置给应用程序包中应用程序使用。
2.根据权利要求1所述的Android平台工程的开发方法,其特征在于,所
述资源文件单独生成资源应用包之前,定义资源属性类,生成公用的资源属性
ID(IDentity,识别码);根据所述资源属性ID组织资源文件,再将资源文件
单独生成资源应用包;所述读取相应的资源文件是通过公用的资源属性ID进行
读取。
3.根据权利要求1或2所述的Android平台工程的开发方法,其特征在于,
所述步骤根据资源属性ID组织资源文件,将资源文件单独生成资源应用包,包
括:
步骤b1:将源程序部分的工程描述文件和资源文件分别经过打包工具进行
处理;
步骤b2:将处理后的工程描述文件放置到根目录;
步骤b3:将处理后的资源文件放置到res目录;
步骤b4:将资产文件放置到assets目录;
步骤b5:生成资源应用包。
4.根据权利要求1或2所述的Android平台工程的开发方法,其特征在于,
在所述步骤生成应用程序包,并将资源应用包设置成应用程序的资产文件,包
括:
步骤c1:将源程序部分的源码经过处理,生成Dex字节码,并将Dex字节
码放置到根目录;
步骤c2:将源程序部分的工程描述文件经过打包工具进行处理,将处理后
的工程描述文件放置到根目录;
步骤c3:将资源应用包设置成资产文件放置到assets目录;
步骤c4:生成应用程序包。
5.根据权利要求4所述的Android平台工程的开发方法,其特征在于,所
述步骤c1具体包括:将源程序部分的源码通过编译器进行编译,生成Class字
节码;将Class字节码经过...

【专利技术属性】
技术研发人员:詹红艳袁英灿
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术