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等方法设置 文字 背景 展望资源。

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

  • 相关阅读:
    搜索回车跳转页面
    登录验证码
    【排序算法】排序算法之插入排序
    PAT 乙级 1044 火星数字 (20 分)
    PAT 甲级 1035 Password (20 分)
    PAT 甲级 1041 Be Unique (20 分)
    PAT 甲级 1054 The Dominant Color (20 分)
    PAT 甲级 1027 Colors in Mars (20 分)
    PAT 甲级 1083 List Grades (25 分)
    PAT 甲级 1005 Spell It Right (20 分)
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4650803.html
Copyright © 2011-2022 走看看