I searched for alternatives to restart my android application, but the only way I found to reboot is build with Flex.
Can i restart my android adobe air app with as3 flash? How i do it?
You can't do it with anything built into Adobe AIR on mobile. The capabilities of AIR are extremely limited compared to native applications. You would have to build an AIR Native Extension (ANE) to handle it. Worth noting that I don't think this is possible at all on iOS (natively or otherwise), so if you are deploying to both you would need to account for this. This would likely also be the reason why you can't do it in AIR for Android, as AIR for mobile tends to appeal to the lowest common denominator. If one can't do it natively, it is likely Adobe didn't include it for the other.
See this question on how to do it natively:
how to programmatically "restart" android app?
Related
This question is regarding Android backward hardware/OS(api level) compatibility.
I am developing Adobe Air application on Android. I know to run these applications we require Adobe AIR runtime installed on our Android devices.
But I have one question android flash support dependent on hardware or os? or Is it only dependent on Adobe AIR runtime is installed on Android device or not?
See this link below to know about system requirements to use Adobe AIR.
Adobe AIR 3 / Tech specs
I faced some problems without reading the information at above link. So have a look to avoid doubts.
I hope it may help you.
Adobe AIR is pretty heavy. So is it necessary to be installed on my phone? Are there any alternatives to it..something lightweight.
Start out by reading this pdf, it will give you all the information you need. http://help.adobe.com/en_US/flex/mobileapps/developing_mobile_apps_flex.pdf
Short answer:
If a user who doesn't have Adobe AIR
on his or her Android phone tries to
install Adobe AIR application he or
she will be presented a dialog asking
the user to install AIR and would be
taken to Android Market Place from
where the user can install AIR.
Another claim in this matter:
Right now, there is no dependency
model for Android, thus users must
fulfill the dependencies of an
application manually.
Taken from this thread: http://www.quora.com/Do-Android-end-users-need-to-install-Adobe-AIR-manually-to-use-AIR-apps-on-the-platform
Yes, if you want to use Flex or Flash, you need Air.
Alternatives?
Well, you can use another cross-platform tool, like Phonegap.
But if you want small, lean apps, with maximum device compatibility, nothing compares with using Java and the stock Android SDK.
Edit:
P.S. "Heavy" is the word: requires ARMv7-A, FPU, Android 2.2
Many phones still being sold (as of 6/2011), such as LG Optimus V, do not meet these requirements.
http://www.adobe.com/products/air/systemreqs/
You may find these links useful
http://www.adobe.com/devnet/devices/android.html
See also Plastic Sturgeon's comment here: Choosing flash/openGL/other animation for an android app?
Can anyone give a comparative information between developing Android mobile applications using Eclipse SDK and Adobe AIR?
Kindly share your opinion, anyone who has already having any experience on developing Android mobile applications using Adobe AIR.
I have gone through articles on developing Adobe AIR but wanted to know if anyone found it useful. I am aware that Android mobile applications developed using Adobe AIR is supported for Android 2.1 and 2.2.
Thanks in advance.
I will do my best to answer your question, though it's a little broad (if you could provide specifics on the information you need, I'd be happy to add more detail).
Firstly, there's a ton of information both from Adobe and from the Flash/Flex community on developing for AIR for Android. You can develop for AIR for Android using Flash and the Flash IDE or using Flex and the Flash Builder IDE currently in public preview on Adobe Labs (you can do straight ActionScript as well if you like).
One of the benefits of using AIR is that you can leverage your existing skillset in Flash/Flex/ActionScript rather than having to learn a new language. Another benefit is that yu can reuse code for existing Flash/Flex/AIR applications you may have built. Another benefit, and the one Sheikh mentions above is that Adobe is working on making AIR a cross-platform mobile runtime. If you search you will already find articles from Adobe and the community about people running AIR applications on the Playbook (the simulator anyway, since the device isn't released yet) and even using the preview Packager for iPhone to compile their applications to iPhone.
Although I haven't worked with AIR, but what I feel AIR is for, is cross compatibility.
Its like you're not building for Android, you're building for AIR. and since Android supports AIR, your applications will run on Android device.
In future more Mobile OS will start supporting AIR, so if you code an app for AIR, there will be a huge possibility that your same code runs on different platforms like Android, Windows Phone 7, iPhone (perhaps :-P). Thus, it will be saving a lot of coding effort for coders.
I have discovered that the cross-platform compatibility for AIR applications is quite good except for a few caveats:
1) User input boxes. They are generally not handled well in AIR applications. The popup keyboard can hide the input box, which it generally does not do with native JAVA apps for Android.
2) Real-time games. AIR for Mobile is SLOW. You may be disappointed if you try to develop any sort of real-time software.
3) Socket communication. This is my current peeve. I created a simple chat application in Flash and did some speed tests. This is in preparation for creating multi-player games for mobile devices. On the PC, the application can run over 200 messages per second to the server and get responses. On the AIR for Mobile, both on the iPhone and Android, it is about 11 messages per second max - and the app is doing nothing BUT sending and receiving the data strings. Add a layer of game play and the speed limitations could be crippling. This means real-time games may suffer if you need faster communications. It's plenty fast enough for turn-based or games that don't require lots of updates.
Basically, the cross-platform compatibility is nice. Just think about whether your particular project might be harmed by the speed issues as well as potentially poor handling of user input boxes. Do some testing.
I have been developing for Android since some time now and I found Java as proper way of doing development in it. But, now there are number of options available for developing in Android such as Titanium, PhoneGap and Adobe AIR.
The question is who will come as a winner for Android development. I have read lot of comparisons between Titanium, PhoneGap and native Android development. Now, with Adobe entering into it too, what is the future of Android Developers who develop with Java as the programming language.
Since, if one can develop for Iphone and Android with Titanium and Adobe AIR then why will one want to waste time and money for separate development.
The biggest reason I can think of is that using the native language/libraries of the platform (in this case iPhone or Android) is that it will allow you to provide a user interface/experience that is more in line with what the system designers intended over what will likely be possible with something like Adobe AIR.
That doesn't necessarily mean that AIR is bad, or that you might not be able to develop a good application, but since you'd be targeting multiple platforms with the same application code, and each platform has it's own subtle (or major) differences that you can't always account for, you will inevitably be forced to take a "least common denominator" approach to building an application that will run on all of your target platforms and behave consistently across them as well. This might not sit well with some users who expect a certain level of capability as you may not give them a consistent user experience compared to other native applications.
This is a long-standing issue with cross-platform application development -- the design philosophies and behavior of each system are intentionally different (otherwise why would anyone use them?), so your bound to run into problems making an application work 100% the same across them all.
As someone that has done cross-platform development in the past, I can say that while you can do it well in some cases, and using something like Adobe AIR might be a good avenue towards getting more familiar with a particular platform, but a lot of times it's just more prudent to buckle down and build an app using a system's native libraries/languages over a cross-platform solution.
It is quite simple actually. Developing an Android application using Java (the normal APIs) will allow you to a) target possibly all Android devices as all share the same base API and b) it won't put limitations on your application (or at least no limitations with the only limitation being the API).
Now PhoneGap, Titanium and Senza are all web-based frameworks which have certain limitations. You can't access certain functions of your phone as they simply are not some kind of replacement API it's just a framework.
Now Adobe AIR is another story. I'm not sure what functional limitations Adobe AIR will have but I know that there is quite a limitation when it comes to what devices you can target. There are some minimum requirements for Adobe AIR to operate which are
Android Device Requirements for Adobe
AIR
Google Android 2.2 Operating system
ARMv7-A Processor OpenGL ES2.0 H.264 &
AAC H/W Decoders 256 MB of RAM
Which means you can target devices with earlier API versions.
Titanium compiles to native platform controls, but you must to use web languages like HTML and js to develop your application.
With special version for each platform you can design UI following system guidelines.
There seems to be an overall confusion regarding what Titanium is... It compiles to native platform controls.
The majority of the respondents have incorrectly stated that it is web based and that is not true.
However, that is true when it comes to phoneGap
Froyo and Flash Player are coming to our phones.
In the Adobe PreRelease programs we can find AIR beta for Froyo and Eclair. With that, I can develop a Flash app and export it to my phone.
So, is AIR player the Flash player? o_O
I can't understand what differences are between AIR and Flash on Android.
Can you help me? Thank you!
Flash and AIR work just the same on Android as they do on the PC - similar technologies, but Flash plays in a browser and AIR apps are used like native applications. In other words, to use an AIR app, you'll typically install it from the Google Market, and put a shortcut to it on your homescreen, then launch it and use it like any other application. Whereas for flash content, you'll follow a link or a bookmark, and see the content embedded within a web page.
Anyway the capabilities of the two engines are similar (AIR does basically all that Flash does, and adds on some extra features suitable for applications), but the difference is in the way you access and use the content.