zoukankan      html  css  js  c++  java
  • Android 将Activity殴打jar包 对于由第三方使用 解决XML 图片 文本资源并不难过进入jar包装问题!

    做项目需要打包成jar文件供第三方使用项目要求(将图片 文字资源写到到jar包中,第三方调用时,仅须要在AndroidManifest.xml配置下对应的Activity通过StartActivity方式拉起Activity):在网上找了好久。并依靠查看Android源代码终于攻克了问题

    一:须要明确知识:

    1.APK中的Res文件夹无法通过EclipseExport方式导入到jar包中 Assert能够

    2.Android程序在编译成APK时须要通过aaptRes文件夹下的资源生成相应的Id Assert文件夹下的资源不会在R文件里生成Id

    XML资源学习:

    1.AssetManager中提供XmlResourceParseropenXmlResourceParser(String fileName)这种方法 能够讲编译后XML文件生成一个资源遍历对象 通过该对象能够获取一个整个布局的View

    2.通过 setContentView(view)能够设置在Oncrea方法中设置Activity的布局

    对图片资源学习:

    1.将非.9图片放入到Assert文件夹下 通过获取文件资源去生成Drawable对象 Button等其它空间的点击效果能够通过StateListDrawable来实现

    2..9图片进行处理 让须要先编译 去除掉上下左右的黑色的拉伸区域 显示区域的标记 用法与非.9图一致

    对字符学习

    1将字符写在Java文件里 ,写到一个静态的Map,通过kay_value能够再全局都获取到

     

    二:详细操作过程:

    1.先使用普通的方式 XML文件里设置你的布局 并在执行Activity查看界面效果

    2.删除你在XML文件里设置的图片,字体资源的属性。由于Res文件夹无法导入到Jar包中,无法在R文件里生成相应资源的Id,所以通过android:src="@drawable/uac_logo"此类方式设置的图片资源均不会被找到。在第三方获取编译后的XMLlayou文件时会抛出资源没有被照到的异常

    2.取出bin文件夹下已经编译好的APK文件,解压缩 取出编译好的XML文件 图片资源 放入到Assert文件夹下

    3.ActivityonCreat方法中使用XmlResourceParseropenXmlResourceParser(String fileName)方式获取Layout文件 通过setContentView(view)设置为整个Activity的布局  使用当中的控件(ButtonTextView) 仍能够通过R.id.XX的方式获取 此时通过解析XML文件,系统以及获取到你这个XMl中各个控件Id(此时的Id是否会与第三方资源Id冲突 这个问题我认为不会发生,毕竟findViewById()给出的定义是寻找该XML下的控件的Id 有哪位对这个毕竟清楚 请教下?)

    4.获取到控件之后,能够通过setTextsetBackground setImageDrawable等方法设置 文字 背景 展望资源。

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    弄明白python reduce 函数
    Python 2与Python 3兼容性的写法,需要一个特殊的包 from __future__ import print_function 用法
    人工智能数学参考---8、常用激活函数
    常用激活函数(激励函数)理解与总结
    人工智能数学参考---7、核函数应用
    [粘贴]环绕闸极不能让三星在3nm工艺领先台积电
    查看java所有的线程信息
    【转载】 Sqlserver使用Left函数从最左边开始截取固定长度字符串
    值初始化和默认初始化的区别
    map的综合例子
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4650803.html
Copyright © 2011-2022 走看看