Application Development - Android Software Development

Hi,
I run ubuntu at home, and want to start to develop an app...
Eventually I will want it to run on android, iOS and whatever else. I have set up Eclipse with the Android SDK and I am planning on going the java route.
I have since seen a flex route with adobe which allows you to export straight to different platforms.
Which is the best route to go down? Also when it comes to testing is the only way to start an android emulator (which takes about 2 minutes to actually load)?
Thanks
Kevin

Related

So many question, so little time.

Hello all,
I am new to the Android scene and I wanted to find out if there are any good tutorials on app/rom development, what are the programming languages used, etc... I know learning from scratch is probably a long and bumpy road, but it is something I am interested in. I have already rooted and flashed my phone, good times that was. Thank you all for your help.
Th3Cap3
What's your existing programming experience? You could do worse than check out the anddev forums. App development is principally in Java though you can write parts of apps in C or even assembler.
My existing programming consist of very very very basic python, and some web stuff like HTML and CSS, I would basically have to learn how to program the ones you have mentioned from scratch, I have books for most of those though. I will go check out those forums and see what I can dig up Thanks for the info.
I bookmarked that page thank you, I just got a hold of their Eclipse software and all of their beginner tutorials I can't wait to dive into this stuff.
Me too. I know C, but only have a passing acquaintance with Java & Linux; Android I know even less about, not having encountered it till getting my Hero in February. I'm working my way through Thinking in Java (Eckel) to be followed by Professional Android 2 Application Development (Meier).
Even if your grasp of Python is basic it's still a start - you don't have to struggle again with fundamental procedural programming concepts like conditional execution, program flow control & so forth. Plus Python is an OOP language, aiui (I don't know Python) so you have a head start there too
I've installed Java, Eclipse & Android's SDK on this Windows box, but I'm thinking of dual booting Ubuntu as some things just work better in Linux, especially if one wants to cross compile ROMs. Aiui Cygwin, which I already use, can be a little problematic & when one is likely to be asking for help at times, it's useful to be using a similar set up to most devs.
I have been thinking about dual booting again, I just havent had to time to partition my drive and install some sort of linux release, UBuntu is the one I am most familiar with, which isnt very, but its a start.
I am going through those video tutorials from anddev.org right now, it seems to be similar to Python in the way the coding is done, I am excited.
I have also downloaded the Eclipse program, but I have the pulsar version, it seems to be geared more towards mobile development and I have gotten the Android toolkit installed and I have had the Android SDK from when I rooted my Hero (Which is awesome, running the newest Damage Control) good times.
I think I may have a java book on PDF somewhere as well, I will have to go look.
Atm I can't make up my mind between dual boot & Virtual Box, or maybe both, to see if I can wean myself off m$
I have been thinking about the dual boot option a lot since you mentioned it, not sure what to do, I may wait till this quarters class is over so that if something goes missing. it Sony be a big deal
Sent from my HERO200 using the XDA mobile application powered by Tapatalk

Replicate phone environment on PC?

Hey, I am entirely new to Android development. Is it possible to run Android OS inside a VM Player on my PC running Windows 7? I've done this with several flavors of Linux, but I dont know enough about how Android operates.
I'm not talking about just a development sandbox... a fully-functional installation of Android with networking capabilities would be the goal. Does anyone have experience with this?
First one with helpful answer gets a free iPad!!*
*some restrictions apply
----
EDIT: seriously, has nobody ever done this
Yes - see http://www.android-x86.org/
You can download a live cd version of Android compiled for x86 machines, and install it in your VM of choice. - Just pick Linux 2.6 as the host OS when creating your VM
(Though the Android emulator that comes with the SDK is pretty much fully functional, too, and more representative of an actual phone, since it's running Arm instructions rather than x86)
Cool, thanks for the tip
I havent played with the Emulator yet, or really gotten my hands dirty. Does the emulator just allow you to test your program, or does it emulate the entire OS- destop, applications, settings and all?
What I would really like to do (not sure if possible) is to do all the configuration for my phone OS via my PC, then just save the image and copy it to the phone. Starting to think this might not be easy
SilverStrings said:
I havent played with the Emulator yet, or really gotten my hands dirty. Does the emulator just allow you to test your program, or does it emulate the entire OS- destop, applications, settings and all?
Click to expand...
Click to collapse
The emulator in the SDK gives you pretty much a full phone environment (It's missing stuff like the google branded apps, but there are ways around that...)

[Q] Can HD2 run Android Apps(on WM 6.5)

Hello Friends,
I have a question for all of the mobile developers. You might think I'm Joking. But its Serious. Is there any way to run android apps(2.1-2.3) in HTC HD2(Leo) which is running Windows Mobile? Many People Say 'NO'. But emulation of any OS is possible. We all thought that we can run PS2 games only on Sony Playstation 2 but we were proved wrong by PCSX2 by launching first PS2 Emulator. So I want to know is there any emulator by which I can run android apps on my HTC HD2? Its difficult but I think XDA Developers can make this type of emulators. It will also help thousands of people. I am an IT Professional and a software developer(Windows) but i don't know about developing apps for mobile. Otherwise would have made/wrote android apps in WM language/scripts. Some News also came that there are certain Converters which can convert Android Apps into J2ME or WM apps. I need a solution to this problem.
Regards,
Arun
Themegastar1 CEO
I believe there was originally an Android emulator running on WM, but it was slooooooooow!!! There's a whole slew of reasons as to why an Android emulator won't run well on WM, memory being the obvious main one. That's why Android ports were developed to run off the SD card, first dumping Windows from the memory and then running Linux.
Depending on your development experience, you may want to look into programming for Android anyway, if that's where your interest lies. If you've done anything like C# (or other .Net based language like VB.Net) then it's not that big a leap. If you've already done Java development then it's really not a problem - you just need to learn the Android SDK.
If you are intersted, have a look at the following tutorial...
http://www.vogella.de/articles/Android/article.html
It's a great starting point for Android development. It walks you through setting up the dev environment and then a few simple apps to get you going. Any OO experience you have will definitely help. (It may actually prove difficult without it - I can't say for sure.)
Hope this helps
themegastar1 said:
Hello Friends,
I have a question for all of the mobile developers. You might think I'm Joking. But its Serious. Is there any way to run android apps(2.1-2.3) in HTC HD2(Leo) which is running Windows Mobile? Many People Say 'NO'. But emulation of any OS is possible. We all thought that we can run PS2 games only on Sony Playstation 2 but we were proved wrong by PCSX2 by launching first PS2 Emulator. So I want to know is there any emulator by which I can run android apps on my HTC HD2? Its difficult but I think XDA Developers can make this type of emulators. It will also help thousands of people. I am an IT Professional and a software developer(Windows) but i don't know about developing apps for mobile. Otherwise would have made/wrote android apps in WM language/scripts. Some News also came that there are certain Converters which can convert Android Apps into J2ME or WM apps. I need a solution to this problem.
Regards,
Arun
Themegastar1 CEO
Click to expand...
Click to collapse
I just did a search on your question. And from all the sites i've seen they all come up with the same answer: "no"
The two systems are too far apart from each other to be able to 'port' or emulate it apparently.
At least, this is what i found. Maybe some others might have more luck.
Problem still Not Resolved.
I read both of Your Comments, but still problem is not resolved. johncmolyneux you have told me that there is an emulator(Slow ones), can u tell me the name of that emulator? And I don't want to install android. I have given thanks to you both, but still My problem is not resolved. I need a way to run android apps on wm 6.5.
themegastar1 said:
I read both of Your Comments, but still problem is not resolved. johncmolyneux you have told me that there is an emulator(Slow ones), can u tell me the name of that emulator? And I don't want to install android. I have given thanks to you both, but still My problem is not resolved. I need a way to run android apps on wm 6.5.
Click to expand...
Click to collapse
It was about 8-9 months ago so no, I'm afraid don't know the name, but it was on xda so you can search the forum for it.
Let me put it clearly though. The emulator was so slow that it was immediately dropped and no-one ever used it. It's basically Windows, running a Linux emulator, running Android. It was terrible and unusable.
Why is it imperative that you run Android apps on WM? If you explain then maybe we can understand more and hopefully offer more constructive help.
Why I want to run Android Apps on WM.
The Reason for this is- I need Google Goggles for my HD2 and some other apps too. But Windows Mobile Technology is Better, Easy to Use and Expensive. And HTC offers HTC Sense along with HD2 which makes it more easy to use and attractive too. These all things are not possible by using Android. But Android has a big App Marketplace. This is the reason why I want to run android apps in WM.
Okay, I'll make it very clear then. You will not get this. The only solutions available are to find a version of google goggles on WM (not likely), or to run Android on your phone.
You can run it from the SD card, but it does mean a restart every time you want to switch from WM to Android and then back again.
Also, there are many Android builds available that include HTC Sense. There's some very nice Desire HD builds out there.
Sorry to give bad news, but you are not going to get what you're asking for.
OK! Necessity leads to invention!
Ya, but still, IF I make something then the problem will be resolved. I'm thinking to make Android Emulator in this Summer(May-June 2011). If I made it, then it will be good for all WM users, so nobody will switch to Android to get all apps. Anyway, johncmolyneux thanks for your efforts. By the way, Which Phone you are using. And with which OS(WM/Android/Bada/Ubuntu/S40/S60/Symbian 3rd Edition or any other) you are using? Necessity leads to invention!
Regards
Arun Wadhwa
Themegastar1 Owner
Please give me THANKS!!!!!
Well good luck with that mate - I think you'll need it
I'm using a Nexus One Gingerbread ROM at the minute. It's fast and stable - everything works just like a native Android device!
You do realize that you can boot into Android from Windows mobile on your hd2. That way you have winmo still on your phone, and when you need to use Android, you can use haret.exe to boot into an Android build running from the SD card. You have to restart the phone to get back into Windows mobile, but that only takes a minute or 2. And it only takes a minute to boot into Android. This way you can run both OS's on your hd2.
Sent from my HTC HD2 using XDA App
themegastar1 said:
Ya, but still, IF I make something then the problem will be resolved. I'm thinking to make Android Emulator in this Summer(May-June 2011). If I made it, then it will be good for all WM users, so nobody will switch to Android to get all apps.
Click to expand...
Click to collapse
Excelent example of high achievment goal.
So what you need?
Remapping all Android API to WM API with necessary additional functionality, so running whole Android emulator will be not necessary. This will save memory and gain some speed.
Similar to already known solutions on Linux platform which can run Windows applications on several platforms like winehq.org.
How much effort will be necessary?
Depends on which applications area that has to be covered.
Depends on knowledges about both operating systems.
Depends on accessibility to source code of the system and the applications which supposed to run with this framework.
Is summer vacations enough?
Future will reveal, but if you really are genius, please turn to good side
So this project will be definitely something which people will pay for, those who has WM favorites programs and are not willing to change the whole system to run some new.
Anyway aplications will be maybe running, but most of them will miss the stability and advantages of the Android operating system.
pedroxxx said:
Excelent example of high achievment goal.
So what you need?
Remapping all Android API to WM API with necessary additional functionality, so running whole Android emulator will be not necessary. This will save memory and gain some speed.
Similar to already known solutions on Linux platform which can run Windows applications on several platforms like winehq.org.
How much effort will be necessary?
Depends on which applications area that has to be covered.
Depends on knowledges about both operating systems.
Depends on accessibility to source code of the system and the applications which supposed to run with this framework.
Is summer vacations enough?
Future will reveal, but if you really are genius, please turn to good side
So this project will be definitely something which people will pay for, those who has WM favorites programs and are not willing to change the whole system to run some new.
Anyway aplications will be maybe running, but most of them will miss the stability and advantages of the Android operating system.
Click to expand...
Click to collapse
I think I got some of the Ideas, I have to Create a platform build on Windows Mobile with the help of WM API, it will require Android SDK too. If I will create an app that has the compatibility of Android, I could name it as Emulator. Means just another platform running on a OS.
i would donate for this...
work hard guys..gudluck!

[IDE] Using IntelliJ IDEA for Android development

When starting with Android development most people start so by using Eclipse, so did I. Unfortunately for me this was a quite frustrating experience no matter if I developed on Windows or Linux. I often had troubles launching projects after some changes and was forced to rebuild the whole workspace (which takes a while esp. if you included a couple library projects). So after a while I decided to switch to IDEA which is a lot more satisfying. I never had any issues with broken projects and everything just builds so much faster.
One big difference (and it seems many people have troubles with it) is IDEA's handling of library projects. Unfortunately I think this is done in a very logical way, as each "project" is handled as a model. Means you create a project ("My app"), add a module for your main app project, and add new modules for each library project you would add. For each modules you can set the dependencies and say on which modules it depends.
In the newest version (12) Jetbrains also added an Android UI designer, which was one of the features not available before.
If you are curious you can download and install IDEA from their website, or when you are using Ubuntu you can simply download it from Software center.
http://www.jetbrains.com/idea/
And here's a nice article given a quick introduction:
http://www.itwriting.com/blog/7083-intellij-idea-the-best-ide-for-programming-android.html
IDEA rocks, +1. It makes my little Arch box work like a real PC at times
i use idea too,just feel good
Sent from my Nexus 4
What about the on-the-fly analysis performed by IDEA during development? Does it detect many bugs?
Have you never used this functionality?
Nobody uses this feature of IDEA?
I've only had a brief play with it so far - updated the Android SDK and loaded 1 project from GitHub, but it compiles like lightning compared to Eclipse. Thanks for letting us know about this - it's much appreciated
So how does it handle multi-module projects? The advantage of Eclipse/Qt Creator is you can keep multiple projects open at once plus the plugin integration with Maven and Git.
I briefly tried out IntelliJ a couple months back and immediately stepped away when it failed multi-module requirement for me.
More speed than molasses Eclipse would be nice, though the Windows version runs tolerably on fast i5 and SSD.
If it supports .webp on the UI designer (unlike Eclipse), then I'll be all over it!
IntelliJ IDEA has no workspace concept like Eclipse, but its project can have multiple modules: http://www.jetbrains.com/idea/documentation/migration_faq.html .
I'm a total noob/beginner when it comes to programming - never really been into it. That said, I've recently been giving it a go using Eclipse - creating my own Android app. I've just installed IDEA and find it far better to use then Eclipse. Really loving it actually.
I never got into Eclipse. The only Eclipse project I tried using was IBM's Lotus version of OpenOffice. The thing was huge, bloated with Eclipse libraries.
Netbeans is my preferred IDE (also good for C++ and others) but it, unfortunately, falls short for Android.
Intellij worked first try. Glad to see a forum for this on XDA!
Really happy this gets some attention, I've switched from Eclipse to IDEA a while ago and I can't go back.
IDEA is just so smart and works so nice!
I think the best part of IntelliJ is that when you are programming you do it in one environment, from IntelliJ I can see Jira stories, commit svn/git and everything else I do while programming, without switching to 5 different applications
I hope more and more people will switch to IntelliJ, thanks for this thread!
Isn't anyone here bothered by the slow compile times compared to Eclipse? I'm working on a relatively large project, and each time anything is modified it seems to rebuild from scratch. Eclipse in comparision is able to launch the app with the new changes almost instantly.
I love IntelliJ when it comes to it's editor and project management, but in the end it takes about 20s to get my changes on the screen. I'm probably saving some time not having to bother with corrupted workspaces and such though.
I have been using it for more than a year now, haven't looked back at eclipse again.
One thing that bugs me about all of these options is that they don't work on Android itself. Not a big deal for me yet, but I see it becoming more important as we start to see Android devices with bigger screens and keyboards.
I know that AIDE is a decent IDE that runs on Android, but it only runs on Android and it doesn't compare with Eclipse or IntelliJ (yet).
I heard that the current version of Eclipse (4.2) enables some degree of GUI independence, and the next version (due in June) enforces that. That would be a good step forward, but still mostly a theoretical one.
If JetBrain were to undertake the rather large task of making IntelliJ work on Android, as well as existing desktop platforms, they would certainly get my $.
I wonder - is the new Gradle based build system compatible with Android itself?
I found the new-ish GAE Endpoints service to be quite interesting in that part of the build process (code generation) happens on the server as a service. This strikes me as very Googly and I wonder whether Google will provide Android build as a service sometime in the near to medium future. That would certainly help move us towards a platform independent future, though I guess AIDE has shown that it is not the build system, but the IDE, that is holding us back from developing on Android.
I've been using IntelliJ since just after I started Android development (2+ years ago). I had tried Eclipse before that, and besides the excellent feature set, always found the editor to be lacking in many ways (still no virtual space). So when starting with Android development I just hated it because I had to do it in Eclipse. No offense to the people who use and love it, I'm sure that it is a great IDE, it just does not suit me at all.
When I discovered IntellJ, I immediately felt comfortable within the IDE. This made me enjoy the coding that much more which, to me, beats out any feature that an IDE can ever have. IntelliJ has some shortcomings, but overall I find it an exceptional IDE for Android development. It can be a tad sluggish in large projects, but not to the point of annoyance. It is also insanely stable, and I have NEVER in 2 years of working with it had a single crash - just brilliant.
Also, having been using it over an extended period, I can safely say that they excellent developers at JetBrains have constantly been improving on the Android support within the IDE. Feature wise, I think that IntellJ is definitely almost on par with Eclipse, and they have done this without any official support from Google (as far as I know). If Google would take notice of IntelliJ and provide support (I'm thinking ADT) that would just make it even better - here's hoping.
I would highly recommend anyone attempting android development to give IntellJ a go - the Community Edition is free. Especially developers coming from Visual Studio
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
DubelBoom said:
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
Click to expand...
Click to collapse
I think this is an important point. Try all the options available, and make a choice based on what you prefer.
I'm just glad that at this point Android has at least two very capable IDEs to provide that choice.
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
truehybridx said:
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
Click to expand...
Click to collapse
Check my answer here: http://stackoverflow.com/a/16485929/104891 .
I am on my second attempt at using IDEA for Android dev and I am stuck at the same point as last time, and its the only thing that Eclipse has going for it: I want to create a new Android app, min SDK 8, target SDK 17 (or whatever). This is fairly easy in Eclipse and I can go though the wizard for a new project, choose my settings, even the app icon and end up with the bare outline of my app that has the ICS style (ie an ActionBar & Holo theme)... can I hell do this is IDEA. I know that there is something I am/am not doing that is causing this but I have followed tutorials for adding support libs and even had a go at ActionBarSherlock.
I think this is where a lot of users are scared off of IDEA - I think its interface and usability is better than Eclipse, hell, the GUI editor for the layout XML files is better in IDEA than in Eclipse! (Eclipse freaked out on me several times trying to put static, non moving buttons at the bottom of the screen with a vertical scrollview above them, IDEA, sure, no problem!).
If they could sort the basics out, like getting the wizards included and even if they could allow you to add in various other frameworks (ABS, ViewPager etc) then they would have a winner.
On that matter, anyone got a tutorial on setting up a new project in IDEA the same as Eclipse with Holo theme?
Thanks

Decent Environment to get started?

Ok I'm looking into getting into writing apps for android.
The last time i programmed was about 8 years ago. I used to write C++ apps in Visual studio but my main focus was on writing mods and addons for Unreal Engine based games (Unreal Tournament). The great thing about VS is the ability to edit some code and press a button to compile and test instantly.
I don't think it'd be too difficult to get back into the swing of things, but i need a decent setup on my PC which allows for quick and easy compilation and testing.
I'm going to be making LOADS of mistakes when i first start out so i want to setup a good environment in which i can edit some code.. click a button and it's all ready to rock and roll with regards to the Android Emulator..
Quick and easy testing - You get the idea?
Also i have Windows & Linux Mint
I am partial to Eclipse. I had to use a tutorial on how to set it up the first time but it works great. Once it is up and running, it is a one button click to start testing with the emulator.
zalez said:
I am partial to Eclipse. I had to use a tutorial on how to set it up the first time but it works great. Once it is up and running, it is a one button click to start testing with the emulator.
Click to expand...
Click to collapse
Do you mean this? http://www.eclipse.org/downloads/
+ the Plugin that's avaliable thu google
hudsonhicks said:
Do you mean this? http://www.eclipse.org/downloads/
+ the Plugin that's avaliable thu google
Click to expand...
Click to collapse
Yeah, that is where you get Eclipse.
Follow this tutorial for Eclipse: http://developer.android.com/sdk/installing/index.html
Recently, Google released their own IDE called "Android Studio". It is based on IntelliJ. Therefore it has better code completion function but it takes some time to get used to the shortcuts you need. Eclipse is much easier at the beginning because you can find everything in the GUI. Android Studio also contains more bugs.
For these reasons I recommend you to start with Eclipse. Check the link I gave you.
Thanks everyone i got eclipse up and running now.
Gonna mess around with Java for a little whilst before going onto Android specific stuff.
I
hudsonhicks said:
Thanks everyone i got eclipse up and running now.
Gonna mess around with Java for a little whilst before going onto Android specific stuff.
I
Click to expand...
Click to collapse
Great.
just take a peek at the new Android Studio, I m a fan of Intellij IDE.:laugh:
lonesaint said:
just take a peek at the new Android Studio, I m a fan of Intellij IDE.:laugh:
Click to expand...
Click to collapse
I am a fan of Android Studio and IntelliJ, too. However, due to the amount of tutorials for Eclipse, it might be better for beginners to start with that IDE.
nikwen said:
I am a fan of Android Studio and IntelliJ, too. However, due to the amount of tutorials for Eclipse, it might be better for beginners to start with that IDE.
Click to expand...
Click to collapse
+1
while the other IDEs are at least as capable, the internet is loaded with so many tutorials written about Eclipse, it makes it the best bet for starting out.
I came from pretty much nothing with Java, and have managed to piece my way through a couple OK apps, mostly because documentation with Eclipse is so easy to find. Even many of the google tutorials use it.
I must say though, I'm almost ready to switch to Android Studio. Staring at the white background of Eclipse for 6+ hours really burns out the ole eyes.
out of ideas said:
+1
while the other IDEs are at least as capable, the internet is loaded with so many tutorials written about Eclipse, it makes it the best bet for starting out.
I came from pretty much nothing with Java, and have managed to piece my way through a couple OK apps, mostly because documentation with Eclipse is so easy to find. Even many of the google tutorials use it.
I must say though, I'm almost ready to switch to Android Studio. Staring at the white background of Eclipse for 6+ hours really burns out the ole eyes.
Click to expand...
Click to collapse
I have to admit that I could not work with the black background. For that reason I use the white IntelliJ theme. :laugh:
Well, I try to write all of my tutorials for Android Studio, too:
[GUIDE] Signing and zipaligning your app
[GUIDE] Debugging apps

Categories

Resources