Tour de Flex 移动开发的更新
2011年01月30日
Tour de Flex(桌面与web版本)今天新增了一个展示使用Flex 4.5 SDK(hero)开发的范例的区块。同时添加了下载Flash Builder Burrito(Preview) ,Adobe AIR Launchpad ,Tour de Mobile Flex 和其他能够帮助你们快速提高Flex和mobile开发速度的资源的链接。
每个移动端范例包含有主要的MXML文档,主页view code(Flex 4.5 SDK下新加)和所需的应用描述符的更新(包括Android manifest所需的permissions)。你可以直接复制黏贴代码到你的Flash Builder Burrito程序里,使用Flash Builder Burrito附带的模拟器或者你自己的个人设备来直接运行和调试。这些范例还能够用Adobe AIR Lauchpad (免费的AIR应用)直接在一个程序里生成,如果你想快速的使用多个范例,不妨记住这一点。
======================
I've been doing software development since 1996 with experience working for various Fortune 500 companies all the way down to a start-up. My experience is primarily in OO languages but I enjoy constantly learning new things and I'm always up for a challenge. I also really enjoy participating and helping out in the developer community as much as possible, and have met some really great developers in the process! You can find me on LinkedIn to read more about my work experience.
最近在玩Nexus S,于是就想搞搞android开发试试,因为有些功能就是找不到满意的实现。
之前用iPhone,一直懒得去研究Object C,现在是java了,这玩意咱熟啊。没想到也是步步惊心,还好多数陷阱狗哥都能解决,直到遇到这个。
先说下需求,我这个小应用的功能是接收其它Activity发送过来的Intent,例如在浏览器里面发送链接与标题(Share Page),这时候会弹出个对话框让你选择你希望用哪个应用来接收数据,我做的这个小玩意就是干这个接收数据的活的。
也就是使用的android.intent.action.SEND,这玩意可是Activity Only啊。
要求是不弹出任何activity,直接在后台处理。
我的思路是创建个隐形的activity,在这里面接收Intent之后做一些处理,然后直接扔到一个新创建service里面处理,然后关闭这个activity,处理完毕该Service自己关闭。
问题就出在这个隐形的activity上面了,无论怎么搞屏幕上都会闪一下,虽然很快也让我不爽,为啥Read It Later就可以呢?
放狗查了半天也没查到解决办法,大家好像都没有这类需求 反正都是回答:为啥不用service。。。
后来没办法,直接上apktool反编译了Read It Later,发现解决办法真tmd简单,就是给activity上个全透明的style,会者不难啊。
styles.xml:
<style name="Theme.Transparent" parent="@android:style/Theme"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:backgroundDimEnabled">false</item> </style>
AndroidManifest.xml:
<activity android:name="XXOO" android:theme="@style/Theme.Transparent" android:noHistory="true" android:label="@string/send_activity_name" android:excludeFromRecents="true"> <intent-filter> <action android:name="android.intent.action.SEND"></action> <data android:mimeType="text/plain"></data> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> </activity>
O了。
关键字: android activity 透明 隐藏
在Objective-c中,当一个类需要引用另一个类,即建立复合关系的时候,需要在类的头文件中建立被引用类的指针。 如:
Car.h
@interface Car:NSObject
{
Tire *tires[4];
Engine *engine;
}
…
实现类我们先省略,如果你直接这么编译,编译器会报错,告诉你它不知道Tire和Engine是什么。
这时候有两个选择,一个是import这两个被引用类的头文件,另一个是使用@class声明Tire和Engine是类名。 二者的区别在于:
所以,一般来说,@class是放在interface中的,只是为了在interface中引用这个类,把这个类作为一个类型来用的。 在实现这个接口的实现类中,如果需要引用这个类的实体变量或者方法之类的,还是需要import在@class中声明的类进来.
如:
a.h
@interface A : NSObject {
…
}
a.m
@implementation A
…