标签: flex-mobile

适用于Android的AIR 3原生扩展 - 可以/如何包含第三方库?

随着围绕AIR 3中的本机扩展支持的所有新的炒作,我没有找到确认或否认可以在本机Android实现中包含和使用外部JAR的单一事物.

所有这些示例基本上都展示了嵌入内置Android API的能力.但是,如果有人想要使用数百个库中的一个使其更容易呢?当然看起来这应该是可能的.我将尝试概述我所做的事情,也许有人会发现一个缺陷:

  1. 使用第三方Android库XYZ的编译导入成功创建了原生Android库.
  2. 导出的Android项目为JAR文件. 注意:引用的第三方JAR位于jar内的/ lib中.
  3. 成功创建了ActionScript库(SWC)以与本机Android库进行交互.
  4. 从SWC,extension.xml,Android JAR和library.swc创建了ANE包(用于从SWC中提取的平台Android-ARM).
    注意:还尝试将第三方库放在此处概述的文件结构中:http://help.adobe.com/en_US/air/extensions/WSf268776665d7970d-24823354 12ffea65006-8000.html#WSf268776665d7970d-6be13ace1308aaebeca-7fff.我认为这更适合使用JNI或其他任何运行时类型执行,因此该文章让我有点困惑.
  5. 在示例Flex Mobile项目中使用ANE.
  6. 在测试DroidX设备上构建并安装APK文件.
  7. 可以在LogCat中成功查看AIR应用程序加载(和跟踪语句) "ActivityManager: Displayed com.me.androidapp/.AppEntry"
  8. 可以成功地看到AIR应用程序通过运行时调用本机Android Java代码来实例化扩展和上下文. "mye_native: MyExtension.initialize", "mye_native: MyExtensionContext.createContext"
  9. 一旦AIR应用程序尝试调用本机函数,它就会爆炸,无法从第三方Android库中找到这些类: E dalvikvm: Could not find class 'com.thirdparty.SomeClass', referenced from method com.me.nativeExtentions.MyExtensionFunction.call

有任何想法吗?它似乎应该以这种方式工作.

我注意到的一件事是,当我从我的纯Java Android应用程序(也有第三方安卓库)中分离出APK和Dex时,看起来第三方的类已包含在其中(不仅仅是jar参考).当我使用我的Flex APK做同样的事情时,我发现只有我自己的Java类和Adobe的,而第三方无法找到我能看到的.

我在Adobe论坛上发布了这个,但我想我会试试SO智囊团.谢谢.

air android flex-mobile

11
推荐指数
1
解决办法
5681
查看次数

原始数据为JPEG格式 - JAVA

我试图使用JPEGEncoder将原始数据ByteArray转换为JPEG格式,但它在移动设备上的速度太慢(我在移动设备上测试过它).我怎样才能在java中做同样的事情?我将原始数据字节发送到java并使用java将其编码为JPEG - 我尝试将它们中的一些作为com.sun.*下的JpegImageEncoder.但它在jdk7中被折旧.我如何在java中执行此操作或者已经完成此类操作的Flex移动开发人员的任何建议?

更新:我尝试了以下代码,但我得到一个奇怪的结果:

public void rawToJpeg(byte[] rawBytes, int width, int height, File outputFile){

        try{

            BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

            int count = 0; 
            for(int h=0;h<height;h++){
                for(int w=0;w<width;w++){
                    bi.setRGB(w, h, rawBytes[count++]);
                }
            }


            Graphics2D ig2 = bi.createGraphics();

            Iterator imageWriters = ImageIO.getImageWritersByFormatName("jpeg");
            ImageWriter imageWriter = (ImageWriter) imageWriters.next(); 

            ImageOutputStream ios = ImageIO.createImageOutputStream(outputFile);
            imageWriter.setOutput(ios);
            imageWriter.write(bi);


        }catch(Exception ex){
            ex.printStackTrace();
        }


    }
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

PS它应该是我的照片顺便说一句:)

java apache-flex jpeg image flex-mobile

9
推荐指数
1
解决办法
6239
查看次数

AutoSizing Flex Mobile spark textarea组件

我想让我的移动spark textarea组件包装所有内容.我发现了mx_internal做这个的方法,但是我无法调用mx_internal :: getTextField().numLines方法 - 没有这样的......以前有人这样做了吗?

apache-flex flex4 flex4.5 flex-mobile

8
推荐指数
1
解决办法
1551
查看次数

Adobe ANE适用于iOS和Android设备,但不适用于AIR模拟器

Adobe 的振动功能在iOS和Android上的Flex移动应用程序中运行良好,但是当我尝试在Windows 7上从Flash Builder 4.7启动AIR模拟器时,我收到错误:

在此输入图像描述

在此输入图像描述

这里是后一个截图的错误消息的副本:

Process terminated without establishing connection to debugger.

The content cannot be loaded because there was a problem loading an extension: Error: Requested extension com.adobe.Vibration is not supported for Windows-x86.

Launch command details:  "C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0 (AIR 3.5)\bin\adl.exe" -runtime "C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0 (AIR 3.5)\runtimes\air\win" -profile extendedMobileDevice -screensize 640x920:640x960 -XscreenDPI 326 -XversionPlatform IOS -extdir "C:\Users\xxx\Adobe Flash Builder 4.7\.metadata\.plugins\com.adobe.flexbuilder.project.ui\ANEFiles\MyApp-Mobile\win32\" C:\Users\xxx\Documents\MyApp\mobile\bin-debug\MyApp-app.xml C:\Users\xxx\Documents\MyApp\mobile\bin-debug 
Run Code Online (Sandbox Code Playgroud)

同时:

  1. Adobe的另一个ANE - Adobe Gaming SDK …

air flash-builder flex4 flex-mobile air-native-extension

6
推荐指数
1
解决办法
3830
查看次数

Flex移动AIR应用程序:无法在底部看到内容

在Flash Builder 4.6中,我创建了一个Flex Mobile AIR项目.

为什么两个按钮和滚动条都没有看到?

为什么我不能向下滑动以查看更多文本和2个按钮?

在此输入图像描述

这是我完整而简单的源代码 -

"主视图" - Agreement.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        title="HomeView">

    <s:layout>
        <s:VerticalLayout paddingTop="10" paddingBottom="10" paddingLeft="10" gap="10" />
    </s:layout>

    <s:Label text="Agreement" width="100%" textAlign="center" />

    <s:Label width="100%">
        <s:text>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean tincidunt rutrum felis eu tincidunt. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In auctor erat nec ligula vestibulum porttitor ornare quam facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. …
Run Code Online (Sandbox Code Playgroud)

apache-flex flex4 flex-mobile flash-builder4.5 flex4.6

5
推荐指数
1
解决办法
150
查看次数

Flex Mobile Project与Action脚本移动项目

我是开发新手,想开发一个Android应用程序.我以前使用Adobe Flash Builder 4.6和Flex Mobile Project构建了一个应用程序.我最近在4.7中注意到Action Script Mobile Project有一个选项.

有人可以向我解释两者之间的区别以及利用或者利弊的利弊吗?

adobe actionscript flash-builder flex-mobile

5
推荐指数
1
解决办法
2009
查看次数

如何在Flash Mobile中播放压缩波形文件

我正在使用ActionScript在Flash Mobile中开发一个项目.我有一个压缩的wav文件,我需要能够在Button Press动作中根据需要进行序列化和播放.下面是压缩wav文件的代码.

                mic.removeEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
                btnRecord.setStyle("icon", recOff);
                sampleCount++;

                // save the raw PCM samples as a bare WAV file
                var wav:ByteArray = new ByteArray();
                var writer:WAVWriter = new WAVWriter();
                writer.numOfChannels = 1;
                writer.sampleBitRate = 16;
                writer.samplingRate = 11025;
                samples.position = 0;
                writer.processSamples(wav, samples, 11025, 1);
                wav.position = 0;

                // zip the WAV file
                var fzip:FZip = new FZip();
                fzip.addFile(name + sampleCount.toString(), wav);
                var zip:ByteArray = new ByteArray();
                fzip.serialize(zip);
                var recSpot:Object = {
                        id: null,
                        audio: zip,
                        name: "New Audio File …
Run Code Online (Sandbox Code Playgroud)

flash android wav actionscript-3 flex-mobile

5
推荐指数
1
解决办法
226
查看次数

Flex移动应用程序中的样式ButtonBar字体 - 附带屏幕截图

我正在尝试使用以下代码在移动Flex应用程序的底部添加ButtonBar:

CSS:

@namespace s "library://ns.adobe.com/flex/spark";

s|ActionBar, s|ButtonBar {
    chromeColor: #0066CC;
    color: #FFFFFF;
    titleAlign: center;
}
Run Code Online (Sandbox Code Playgroud)

动作脚本:

<s:ButtonBar requireSelection="true" 
             width="100%" 
             bottom="0" 
             skinClass="spark.skins.mobile.TabbedViewNavigatorTabBarSkin">
    <s:ArrayCollection>
        <fx:Object label="???????" />
        <fx:Object label="????" icon="{MONEY}" />
        <fx:Object label="10" icon="{CALL}" />
    </s:ArrayCollection>
</s:ButtonBar>
Run Code Online (Sandbox Code Playgroud)

不幸的是,字体在按钮标签处看起来很凹凸或模糊(在下面的屏幕截图的底部):

在此输入图像描述

有谁知道,如何使ButtonBar标签字体再次成为常规

我无法找到CSS设置.

更新:我搜索了AIR SDK的源代码(像ButtonBase.as,Label.as,ButtonBarSkin.as等文件)但仍然无法找到答案.

所以我正在添加一个简化的测试用例+下面的一个截图以及这个问题的赏金.

在此输入图像描述

TestApp.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               applicationDPI="160">
    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";

        s|ActionBar, s|ButtonBar {
            chromeColor: #0066CC;
            color: #FFFFFF;
            titleAlign: center;
        }
    </fx:Style>

    <fx:Script>
        <![CDATA[
            import spark.events.IndexChangeEvent;
            import spark.skins.mobile.TabbedViewNavigatorTabBarSkin;

            private function handleTabs(event:IndexChangeEvent):void {
                _tabs[2].label …
Run Code Online (Sandbox Code Playgroud)

apache-flex flex4 buttonbar flex-mobile flex4.7

3
推荐指数
1
解决办法
1193
查看次数

在Flex mobile中开发时如何区分手机和平板电脑?

我在Flex移动卡片游戏中使用applicationDPI:

<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    firstView="views.Menu"
    applicationDPI="160"
    initialize="init()">

    <fx:Style source="Preferans.css" />

    <fx:Script>
        <![CDATA[
            import spark.core.ContentCache;
            public static const AVATAR_CACHE:ContentCache = new ContentCache();

            public static var SCALE:Number;

            public function init():void {
                SCALE = runtimeDPI / applicationDPI;
            }   
        ]]> 
    </fx:Script>
</s:ViewNavigatorApplication>
Run Code Online (Sandbox Code Playgroud)

并根据它提供3种不同分辨率的资产:

<fx:Declarations>
    <s:MultiDPIBitmapSource id="BACK"
        source160dpi="@Embed('assets/icons/low-res/back.png')"
        source240dpi="@Embed('assets/icons/mid-res/back.png')"
        source320dpi="@Embed('assets/icons/high-res/back.png')"/>
</fx:Declarations>
Run Code Online (Sandbox Code Playgroud)

当我在Flash Builder 4.6中选择一个iPad模拟器时,结果仍然不太好看:

在此输入图像描述

选择Google Nexus One会产生更好的效果:

在此输入图像描述

在这里做什么,用什么来检测手机与平板设备?

检查屏幕分辨率在这里没有帮助 - 请参阅上面的iPad示例(低分辨率,但大屏幕).

apache-flex flex4 flex4.5 flex-mobile flex4.6

2
推荐指数
1
解决办法
1361
查看次数

如何退出(关闭)移动Flex应用程序?

我想在单击按钮时以编程方式退出(关闭)移动Flex应用程序.什么是ActionScript?

apache-flex actionscript actionscript-3 flex-mobile

2
推荐指数
1
解决办法
1487
查看次数