1、  获取最近联系人

思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人。

update时间在2种情况下会触发,一是gps,二是网络位置服务,这都要求手机里面必须开一个。注意gps在室内一般都没有信号。

部分开放平台已经开放相关api,服务器部分可不用自己写,研究下现有的开放api。

2、遍历文件夹里面的所有文件

  1. var file:File =File.applicationDirectory.resolvePath("guessing");
  2. this.pop(file);
  3. private  functionpop(file:File): void
  4. {
  5. if(file.isDirectory)
  6. { //指示是否为对目录的引用。如果 File 对象指向一个目录,则该值为 true;否则为 false
  7. vararr:Array=file.getDirectoryListing();//getDirectoryListing()返回与此 File 对象表示的目录下的文件和目录对应的 File 对象的数组。此方法不浏览子目录的内容。
  8. for  each(var file:File in arr){ //File 对象表示文件或目录的路径(既可以是文件也可以是路径)
  9. if(!file.isDirectory)
  10. {
  11. trace(file.nativePath,file.url)
  12. }else
  13. {
  14. pop(file);
  15. }
  16. }
  17. }
  18. }

如果想自选目录,用这样浏览,并侦听选择事件:

  1. file.browseForDirectory("请选择一个目录" );
  2. file.addEventListener(Event.SELECT,onSingleSelect);

3、Embed绑定任意类型文件

flex sdk Embed文件时会强制检测类型,例如jpg文件直接把扩展名改成swf,embed到代码中就会报 java.lang.NullPointerException错误

绑定文件的方法:

[Embed(source="asset.swf", symbol="swf中某个元件的类名",mimeType="类型")]

public var img01:Class;

如果要绑定特定的文件类型,指定mimeType,如果不配置mimeType,则会强制检测类型,并根据扩展名认定mimeType类型

[Embed(source="guessing/face/1.swf",mimeType="application/octet-stream")]

绑定任意类型文件设置mimeType=application/octet-stream,这样以二进制方式加载绑定文件,new出来后就是byteArray。

4、air加载远程文件

移动平台air 不论是android平台还是ios平台,都支持加载远程文件,但会有安全域问题

错误:

Error #2044: Unhandled IOErrorEvent:.text=Error #2036: Load Never Completed.

需要在服务器网站根目录下下配置crossdomain.xml 设置domain="*",允许所有外部请求。

特殊情况,如果服务器有防外链限制,则会报错,比如请求腾讯cdn文件,as项目就能正常加载,放air项目就不行,报Error #2044: Unhandled IOErrorEvent:.

5、发布apk文件失败

把很多零散文件打包成apk时,很容易出错,测试5千个文件,一直打包失败。解决方法是把零散小文件批量embed成一个素材包再进行apk打包。

发布apk时打包文件一定不要漏了文件,因为调试起来很麻烦,查找问题很不方便。

6、开发多个版本解决方案

如果想一个版本同时支持手机版、web版,甚至ios版,逻辑代码基本一样,只是UI不同,这是如果项目完全独立开发,可能维护成本比较高,建议采用一个版本的方式开发维护。

思路:程序代码用一份,UI分开,分别配置几个不同的工程区调用相同的源代码,不同的ui,生成不同的UI。

7、其他注意事项:

AIR 的 -app.xml 配置文件里,要把权限全部预定义好才行,否则可能没权限操作(比如写文件)或不响应某个功能的情况

8、AIR FOR IOS 生成的APP:

1. 远程更新在 iOS 上是不允许的, 它属于代码注入, 有安全隐患,但是将 swf打散成n个子 swf 模块, 封装到1个 IPA 里现在可以了,把所有要加载的 swf 封装到 IPA 内部, 并且定义到配置文件里。不带程序正常的swf能加载显示,并且里面所带的动画和视频声音播放都正常。

2. 测试了流式加载flv,flv视频的播放控制用AS3也是ok的,其他的视频格式没试过。

3. 测试了外部加载mp3格式的声音及声音播放控制也是ok的。

使用air进行移动app开发常见功能和问题(一)的更多相关文章

  1. 使用air进行移动app开发常见功能和问题(二)

    1.  Air如何判断android.ios 平台网络连接状态? Android,使用as3原生api: if(NetworkInfo.isSupported)//只有android支持 Networ ...

  2. 使用AIR进行移动APP开发常见功能和问题(下)

    1.  Air如何判断android.ios 平台网络连接状态? Android,使用as3原生api: if(NetworkInfo.isSupported)//只有android支持 Networ ...

  3. 使用AIR进行移动APP开发常见功能和问题(上)

    1.  获取最近联系人 思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人. update时间在2种情 ...

  4. APP测试常见功能测试点汇总

    本文总结了一些APP功能测试中经常遇见测试点,仅供参考,是好早以前看哪位前辈总结的,一直在使用,所以也稍微的修改了下放到自己的博客中,以备日后温习.1.安装和卸载安装和卸载是任何一款APP中都属于最基 ...

  5. pc蛋蛋app开发定制

    如今的pc蛋蛋app开发和pc蛋蛋软件开发互联网已经不再是一个新兴行业,对打仗的团队也要求更加正规化.对于产品技术运营市场等角色来说,如果每个人都能有比较全面的视野,那这个产业将是一个全新的趋势,单一 ...

  6. APP开发外包时常见的错误

    时代在发展,科技在进步,很多企业都想要开发出属于自己的一款APP.然而,不是每个企业都有开发团队或是专门雇一个技术人员来做的,有一个好方法就是把开发APP的工作外包出去,找一个比较好的外包公司根据自己 ...

  7. 如何用HMS Nearby Service给自己的APP开发一个名片交换功能?

      在工作和生活中,遇见新的同事或者合作伙伴,交换名片是一个常见的用户需求,纸质名片常忘带.易丢失,是客户的一个痛点.因此,市场上出现了很多交换电子名片的APP和小程序.那么,如何给自己的APP开发一 ...

  8. 关于手机APP开发的一些常见误解

    移动应用不适用于小型企业和创业公司 如果你想要开发一款移动APP,那么在前期开发一种偏见的态度并不是一个好主意.如果你认为移动APP只有跨国公司和大企业创业者才会去开发,那么你可能错过了成功的捷径.而 ...

  9. android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标。

    android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标. 今天来写主界面头信息的展示,也就是将第一天的写的layout中的item_main_top展示到主界 ...

随机推荐

  1. UVa 1393 (容斥原理、GCD) Highways

    题意: 给出一个n行m列的点阵,求共有多少条非水平非竖直线至少经过其中两点. 分析: 首先说紫书上的思路,编程较简单且容易理解.由于对称性,所以只统计“\”这种线型的,最后乘2即是答案. 枚举斜线包围 ...

  2. BZOJ_1019_[SHOI2008]_汉诺塔_(DP)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1019 汉诺塔游戏,但是有移动优先级,在不违反原有规则的情况下,给定优先移动目标.求完成游戏所需 ...

  3. 普通文件迁移ASM

    1.ASM Access Through FTP and HTML Using XDB Configuration 2.rman 3.dbms_file_transfer 4.11g asmcmd 利 ...

  4. Linux中的设备文件与设备号

    设备文件与设备号   在Linux下,一切皆文件,设备也不例外,为了管理这些设备,系统为它们各自都编了号,而每个设备号又分为主设备号和次设备号.主设备号用来区分不同类型的设备,而次设备号用来区分同一类 ...

  5. We need the sql script to query the table Ditronics.Kiosk.Journal to find journal with mismatch denom information versus amount.

    CREATE TABLE #MoneyTable ( Id , ) PRIMARY KEY , MoneyName ) , Cents INT ) INSERT INTO #MoneyTable ( ...

  6. 【Tcpcopy】离线回放功能

    最近因调试问题,需要一直进行tcpcopy,拿有问题的包进行测试.决定使用tcpcopy对录制脚本进行回放,以下为我操作的具体步骤.主要是三块 1 下载安装具有离线回放功能的tcpcopy 2 使用t ...

  7. Owasp Top 10 Security Risks for 2014

    A1-互联网泄密事件/撞库攻击 以大量的用户数据为基础,利用用户相同的注册习惯(相同的用户名和密码),尝试登陆其它的网站.2011年,互联网泄密事件引爆了整个信息安全 界,导致传统的用户+密码认证的方 ...

  8. Stm32 SWD 下载 调试配置

    找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:       我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会 ...

  9. oracle表分析

    analyze table tablename compute statistics; analyze index indexname compute statistics; 对于使用CBO很有好处, ...

  10. HDU-4619 Warm up 2 二分匹配

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4619 一看就知道是二分匹配题目,对每个点拆点建立二分图,最后答案除2.因为这里是稀疏图,用邻接表处理. ...