Действительно ли возможно создать 'командную строку' swf?

API 19 и выше , Путь к файлу изображения из Uri работает отлично. Я также проверяю этот последний PIE API 28 .

public String getImageFilePath(Uri uri) {
    String path = null, image_id = null;

    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    if (cursor != null) {
        cursor.moveToFirst();
        image_id = cursor.getString(0);
        image_id = image_id.substring(image_id.lastIndexOf(":") + 1);
        cursor.close();
    }

    Cursor cursor = getContentResolver().query(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Images.Media._ID + " = ? ", new String[]{image_id}, null);
    if (cursor!=null) {
        cursor.moveToFirst();
        path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
        cursor.close();
    }
    return path;
}
12
задан Pete Hodgson 30 June 2009 в 16:41
поделиться

6 ответов

Нет - невозможно. Лучшее, что вы можете сделать, - это автономное приложение (которое может быть создано во Flash или с помощью версии Flash Player для проектора, доступной на веб-сайте Adobe).

И зачем вам это нужно - Flash потрясающий, потому что Возможности графического интерфейса. Есть множество других языков программирования, которые намного лучше подходят для командной строки (Python или Ruby или, не дай бог, даже Perl)

-5
ответ дан 2 December 2019 в 04:34
поделиться

По-видимому, существует проект Tamarin , целью которого является создание реализации AS3 с открытым исходным кодом. На этой странице дается небольшая информация о компиляции сценария AS3 и его запуске из командной строки.

Я не очень понимаю, насколько стабилен Tamarin, но это может быть ваш лучший выбор для сейчас. С другой стороны, я должен полностью согласиться с @zenazn в том, что вам было бы лучше долгое изучение языка, более предназначенного для общих целей, но если действительно хочет просто использовать ActionScript, не позволяйте кто-нибудь остановит вас :)

8
ответ дан 2 December 2019 в 04:34
поделиться

Вы можете взглянуть на Haxe , он очень похож на AS3 и может скомпилировать NekoVM байт-код, который может быть запущен из командной строки.

Также может быть интересен HippoHX , это своего рода фреймворк для создания настольных приложений из флеш-фильмов. (аналогично AIR, но с полным доступом к системе.)

0
ответ дан 2 December 2019 в 04:34
поделиться

В настоящее время невозможно сделать это с помощью чистого SWF.

Однако вы можете опубликовать свой Flash-контент как приложение AIR. Затем приложение может быть вызвано из командной строки, а аргументы можно будет получить из свойства arguments объекта InvokeEvent . Основная идея выглядит так:

NativeApplication.nativeApplication.addEventListener( 
            InvokeEvent.INVOKE, onInvoke );
// ...
function onInvoke( e:InvokeEvent ) {
    var numArguments:int = e.arguments.length;
    // ...
}

Однако обратите внимание, что это улица с односторонним движением. Вы можете получить аргументы командной строки, но Flash по-прежнему не понимает идеи stdin и stdout.

2
ответ дан 2 December 2019 в 04:34
поделиться

Вообще-то есть проект, который делает это возможным. RedTamarin - это проект, который расширяет AS3 (технически проект Tamarin, который является проектом Adobe / Mozilla ECMAScript), чтобы иметь доступ к библиотекам низкого уровня (например, POSIX). В своем текущем состоянии он, кажется, хорош для таких вещей, как программы, подобные сценариям оболочки, что похоже на то, что вы ищете.

Попробуйте:

http://code.google. com / p / redtamarin /

2
ответ дан 2 December 2019 в 04:34
поделиться

Если вы действительно так склонны, вы можете открыть локальный сокет, а затем иметь вспомогательную программу, работающую из командной строки, для связи с открытым SWF.

Возможно, сейчас хорошее время для изучения другого языка. Могу я предложить Java?

0
ответ дан 2 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: