当前位置: 编程技术>移动开发
本页文章导读:
▪res与res-auto的差别 res与res-auto的区别
通常我们在布局文件中使用自定义属性的时候会这样写xmlns:app="http://schemas.android.com/apk/res/包路径"但如果你当前工程是做为lib使用,那么你如上所写 ,会出现找不到自定.........
▪ 关于Starling中ATF的应用 关于Starling中ATF的使用
大体就两种写法,和普通图片资源一样一种就是Embed编译到文件里
[Embed(source="starling.atf", mimeType="application/octet-stream")]
public static const CompressedData:Class;
这种方法new Comp.........
▪ smali资料对比java文件 smali文件对比java文件
smali文件对比java文件:
.class :类名
.super :父类
.source :源文件名
.implements :继承的接口
.field :类成员变量
.method :类方法
.........
[1]res与res-auto的差别
来源: 互联网 发布时间: 2014-02-18
res与res-auto的区别
通常我们在布局文件中使用自定义属性的时候
会这样写
xmlns:app="http://schemas.android.com/apk/res/包路径"
但如果你当前工程是做为lib使用,那么你如上所写 ,会出现找不到自定义属性的错误 。
这时候你就必须 写成
xmlns:app="http://schemas.android.com/apk/res-auto/包路径"
通常我们在布局文件中使用自定义属性的时候
会这样写
xmlns:app="http://schemas.android.com/apk/res/包路径"
但如果你当前工程是做为lib使用,那么你如上所写 ,会出现找不到自定义属性的错误 。
这时候你就必须 写成
xmlns:app="http://schemas.android.com/apk/res-auto/包路径"
[2] 关于Starling中ATF的应用
来源: 互联网 发布时间: 2014-02-18
关于Starling中ATF的使用
大体就两种写法,和普通图片资源一样
一种就是Embed编译到文件里
这种方法new CompressedData()得到的就是一个ByteArray;
另一种就是外部加载
但是这里面还是遇到了些问题
就是,ATF文件加载有时候会报错
分别那我自己的实验了下(不一定代表所有,至少我的是这样)
图片用工具转成ATF文件
只要是没选mipmap的,图像都显示不了,不报错,不知道为啥
选了mipmap的 单独生成IOS平台的文件,加载时会报编码错误,所以只好选mipmap并且全平台的才好用,不过图片体积大了好多
大体就两种写法,和普通图片资源一样
一种就是Embed编译到文件里
[Embed(source="starling.atf", mimeType="application/octet-stream")] public static const CompressedData:Class;
这种方法new CompressedData()得到的就是一个ByteArray;
另一种就是外部加载
var url : URLRequest = new URLRequest(path); var loader : URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, onCompleteHandler); loader.load(url); function onCompleteHandler(e : Event) : void{ var bytearray : ByteArray = e.target.data; var test : Texture = Texture.fromAtfData(byteArray); }
但是这里面还是遇到了些问题
就是,ATF文件加载有时候会报错
分别那我自己的实验了下(不一定代表所有,至少我的是这样)
图片用工具转成ATF文件
只要是没选mipmap的,图像都显示不了,不报错,不知道为啥
选了mipmap的 单独生成IOS平台的文件,加载时会报编码错误,所以只好选mipmap并且全平台的才好用,不过图片体积大了好多
[3] smali资料对比java文件
来源: 互联网 发布时间: 2014-02-18
smali文件对比java文件
smali文件对比java文件: .class :类名 .super :父类 .source :源文件名 .implements :继承的接口 .field :类成员变量 .method :类方法 .parameter :函数参数 p1,p2... .locals x :局部变量(个数) const/16 v0, 0x64 :int v0 = 0x64 const/high16 v0, 0x7f03 :高16赋值 const-wide v0, 0x4024051eb851eb85L const-string v0, "1111" :字符串 add-int v0, p0, p1 :v0 = p0 + p1(static函数参数 从p0 开始) sub-int v0, p1, p2 :v0 = p1 + p2(普通成员函数参数从 p1 开始) mul-int v0, p1, p2 :v0 = p1 * p2 div-int v0, p1, p2 :v0 = p1 / p2 add-int/2addr v0, v1 :v0+v1放到 v0所在的地址 sub-int/2addr v0, p2 :v0-p2放到 v0所在的地址 if-ne :if(x != y) iput-object v0, p0, Lcom/xyz/smali/SmaliActivity;->string:Ljava/lang/String; :成员变量 v0 = string; iget-object v0, p0, Lcom/xyz/smali/SmaliActivity;->mBtn:Landroid/widget/Button; :关联成员变量 sput v0, Lcom/xyz/smali/SmaliActivity;->OK:I :sput 给static变量赋值 sput-wide v0, Lcom/xyz/smali/SmaliActivity;->dou:D :sput-wide 给static的宽字节变量赋值 sput-object v0, Lcom/xyz/smali/SmaliActivity;->sss:Ljava/lang/String; sget v1, Lcom/xyz/smali/SmaliActivity;->OK:I :关联static变量 invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V : this.super.onCreate(); invoke-static {p1, p2}, Lcom/xyz/smali/SmaliActivity;->add(II)I :调用静态函数 add(p1, p2) invoke-virtual {v0, p0}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V :调用虚函数 move-result v0 :前面调用函数后,把结果放到 v0 move-result-object v0 :前面调用函数返回的对象给 v0 check-cast v0, Landroid/widget/Button; :强制类型转换 mBtn = (Button) findViewById(R.id.btn); return-void :return ;
最新技术文章: