Giter Club home page Giter Club logo

zipmanager-ane's Introduction

Zip Manager ANE (Android+iOS)

ZipManager class will zip or unzip large zip archives super fast using native process in threads supporting both Android and iOS. you will have listeners to watch the process progress. you have the option to cancel a zip or unzip progress. it's job is to concentrate on zip archiving and it does it in the best possible way!

in AS3, there are many different zip libraries which will do the same thing but they are not good enough when it comes to mobile usage because of the following reasons:

  • They load the whole zip into runtime and then try to zip/unzip reading bytes which is too time consuming
  • loading a big zip file using AS3 libraries will fail on mobile devices because it takes too much RAM

using this extension will solve all the above problems. you will be amazed how fast it works no matter the size of the zip file. we tested with a ~1GB zip archive and it worked just fine :)

find the latest asdoc for this ANE here.

Air Usage

For the complete AS3 code usage, see the demo project here.

import com.myflashlab.air.extensions.zip.*;

var _ex:ZipManager = new ZipManager();
_ex.addEventListener(ZipManagerEvent.START, onStart);
_ex.addEventListener(ZipManagerEvent.ERROR, onError);
_ex.addEventListener(ZipManagerEvent.PROGRESS, onProgress);
_ex.addEventListener(ZipManagerEvent.COMPLETED, onComplete);

_ex.unzip(File.applicationStorageDirectory.resolvePath("TheZipFile.zip"), File.applicationStorageDirectory.resolvePath("unzipLocation"));

function onStart(e:ZipManagerEvent):void
{
  trace("zip process started...");
}

function onError(e:ZipManagerEvent):void
{
  trace("zip process ERROR: " + e.param.msg);
}

function onProgress(e:ZipManagerEvent):void
{
  trace("zip Progress = " + e.param.perc + "%");
}

function onComplete(e:ZipManagerEvent):void
{
  trace("[zip process finished]");
}

AIR .xml manifest

<extensions>

  <extensionID>com.myflashlab.air.extensions.zipManager</extensionID>

  <!-- dependency ANEs https://github.com/myflashlab/common-dependencies-ANE -->
  <extensionID>com.myflashlab.air.extensions.dependency.overrideAir</extensionID>

</extensions>

Requirements

  • Android SDK 15+
  • iOS 10.0+
  • AIR SDK 30+

Permissions

Below are the list of Permissions this ANE might require. Check out the demo project available at this repository to see how we have used the PermissionCheck ANE to ask for the permissions.

Necessary Optional
. SOURCE_STORAGE

Commercial Version

https://www.myflashlabs.com/product/zip-ane-adobe-air-native-extension/

Zip Manager ANE

Tutorials

How to embed ANEs into FlashBuilder, FlashCC and FlashDevelop

Premium Support

Premium Support package If you are an active MyFlashLabs club member, you will have access to our private and secure support ticket system for all our ANEs. Even if you are not a member, you can still receive premium help if you purchase the premium support package.

zipmanager-ane's People

Contributors

myflashlab avatar nekofar avatar

Stargazers

 avatar  avatar Moha BIBI avatar  avatar โญ ๐Ÿพ avatar alan_langlois avatar  avatar Jan Horvath avatar  avatar Liam Bilich avatar Tom avatar

Watchers

 avatar James Cloos avatar  avatar  avatar Liam Bilich avatar guo-m avatar Pierre Moati avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.