[Q] GUI Library for android - Android Software Development

Hello everybody,
I 'm a novice in the android world (after an experience in WM dev) and i m trying some GUi examples with 2.3 android SDK.
So my questio is: I found so many apps that has a great look and a very nice GUI. Are they using the library provided with the SDK? or are they using their owns libraries?
are there some librairies (open source or not) availbles for android GUI dev?(Something like Flex I mean).
Thank you very much,
weldmongi

I'd say 95% of what you're seeing is apps using Androids GUI code and theming/skinning the components. (The exception is basically games that use an engine to run and do their GUI in the engine).
The theme system in Android is generally quite flexible however there are a few areas that it is lacking/inflexible. So sometimes you have to set graphics in the layout xml because the theme system just wont change something (I'm looking at you, AlertDialog).
It is also something that's a bit hard to wrap your mind around at first but there are quite a few tutorials out there that are pretty helpful. Just google "Android theme dev" etc. Nevertheless this is one of my biggest criticisms of Google/Android. They basically invented a non-sensical syntax for theming.
http://developer.android.com/guide/topics/ui/themes.html

Related

Jython in Android?

Hey Folks,
I was wondering if anyone knew if it was possible to use Jython instead of plane Java for android development? I don't know much about Java development but I'm with Python. I was figuring that this might ease me into it better. Any thoughts?
Thanks,
-=GB=-
Have you had a look at the Android scripting environment?
http://code.google.com/p/android-scripting/
http://google-opensource.blogspot.com/2009/06/introducing-android-scripting.html
http://code.google.com/p/android-scripting/wiki/PythonAndroidAPI
Regards,
Akshay
Thanks aksd,
I don't know how I didn't find that before. Perhaps I should have just searched for Python and Android as opposed to just Jython and androind.
Anyway, this is very cool for prototyping and simple scripting. However, the main thing I was hoping for was writing apps in Python (via Jython) that could then be distributed on the Marketplace. It's kind of to bad. It doesn't look like anyone is really trying to port Jython to Android because ASE is sort of Google's official response to the whole thing. On the whole, a really great thing for people who just want to script Android but not really for App development.
In all of this searching I did find some interesting information about how to link in C libs so you could code some of the hardcore speed sucking elements in C (like a game engine) and then make calls into it via Java. I didn't know that was even possible so... Pretty cool stuff.
Hey ngrava,
I'm not much into scripts, so dont really follow whats happening with scripting and Android.
If you wanted a bit of a performance gain you can use the NDK and call the JNI to execute native libraries or code. been there for awhile but few use them. Java is just so much easier than C .
Theres a lot of interesting stuff going on on the Android platform, Mono being ported to Android, Scala being ported to Android, I'm actually currently working on profiling the performance of scala code on android.
Regards,
Akshay
On the Google DevFest on Argentina, Google´s ingeneers afirmed that they are working to make more languages availeable on Gingerbread, they specifically mentioned Ruby. We just have to wait to see if this is true and if we are going to be able to ship apps of other languages to the market, and I´m not sure if they will be backwards compatible with earlier versions of android as well.
PD: Oops, sorry for reviving this old post, I just realised i clicked last page instead of next

Eclipse + Android SDK + JDNI/LDAP Access

Hi All,
For sometime I have been looking for a suitable Active Directory Management tool on a mobile device, however have never found anything which quite cuts the mustard. For this reason I have decided to give it a bash myself. I am the proud owner of a lovely shiny new Desire and it feels like it's just crying out for an app of this nature.
Just hoping I might be able to discuss a matter which requires some expertise. I have the latest versions of the Eclipse IDE for Java Developers and the SDK installed, so far I'm having much success with my first GUI builds after following a cracking tutorial Although I can handle the GUI elements (which I normally hate), I'm struggling to forge my first LDAP connection.
I have found info about the "Java Naming and Directory Interface" for java (*however no download) and just wondering if anyone else has had any success using it to code an Android app? I'm not digging for too much info for the moment, just trying to get some assurance that what I am trying to achieve is actually possible.
Not everyone's cup of tea, I know.. But decided it'd be worth asking.
Much Love,
Futurian

How challenging is making an app?

I am not to sure if this is the correct area for this. But I am wondering how hard it is to make a Android game? This isn't something I want to just jump into, but learn while I am doing it and take my time.
So how challenging is it to someone who has no experience?
Thank You
Do you have any programming experience at all?
If you know languages like C++ or Java you're pretty close already. Android is programmed in Java, and you need to be familiar with Java's memory management to understand what happens behind the scenes since memory is critical on a mobile device. Also you should get some experience with multithreaded programming, since most times you'll need threads to complete tasks without getting the UI stuck.
Android uses a component based architecture that might be a bit unfamiliar in the beginning, since there's no 'main' entrypoint and you have to split your app into 'activities' that talk to each other through 'intents'.
Games present additional challenges, since they often require you to take care of several things involved with graphics and audio, so maybe they're not the ideal first step into programming.
I started programming for my phone on my Touch HD (windows mobile 6.5, using c#). I'd done some java (not a lot, really, and I hated it), some c (a bit, liked it much more) and quite a few script languages.
I have to say, I got into c# with the compact .NET framework VERY easily. It was very straightforwards, nicely syntaxed ... it was just programming as I'd known it. I've made some office apps, one or two games (just for fun, although the apps were meant to be sold ... **** MS for going wp7 and incompatible!; they were solid pieces of software engineering, if I say so myself)
Two weeks ago I got my Desire HD and a few books on programming Android ( O'Reilly, Sam's) and went looking through developer.android.com .
And I have to say, I find it hard! The concepts and how they work together are a bit ... uhm ... distributed. Good software design, but hard on the programmer (and ****ing verbose to actually type in the porgamming! Sheesh!). It took me a while to grok how all these systems are fitting together: to be honest, I'm still trying to make it all jell. All these intents, services, activities, broadcast receivers ... very interesting, but just thinking of the best (or even correct!) way of setting up your porgram is kinda difficult.
But, that's just me, in two weeks time in my spare time. I am getting it now and it is interesting (and, actually, very well set up for what they want android to do/be). c# was just easier, friendlier and faster to get into.
Sorry if this sounds negative: learning a new language isn't EASY, but it is FUN And very informative. If you have a few hours to start off with and then an hour a day, go for it ... but keep in mind there are easier/more straightforwards programming languages/environments than android (or so I think).
I would like to know this too because I got my HTC Wildfire for a few months now and I just rooted my phone yesterday to get into the whole development and modding.
I would like to learn how to make a widget first and then move onto a app/game. My goal would be to know how to create a 2D based side scroller, I would like to recreate "Bio Menace" for the Android. (I have the sprites and maps, now I only need to learn to make it into a game). (Bio Menace was my all-time favorite game when I was a child and I sometimes still play it on dosbox, but I would like to take it with me on transits to work)
I have no experience in Programming at all, I only did graphical stuff (Photoshop, 3DS Max) I know a little html for basic websites, but this was also more in Dreamweaver with the layout to designer.
So I found these books on android, but before I begin to read any of them. Can somebody tell me which book is best to start on first or which book to skip? I also like a video tutorial, but has anybody seen it? Is it any good?
Ebooks
Apress: Beginning Android 2 http://apress.com/book/view/9781430226291
Apress: Pro Android Games http://apress.com/book/view/9781430226475
Apress: Pro Android 2 http://apress.com/book/view/9781430226598
CommonsWare LLC The Busy Coders Guide to Android Development http://commonsware.com/Android/
Sam's Sams Teach Yourself Android Application Development in 24 Hours http://www.amazon.com/Teach-Yourself-Android-Application-Development/dp/0321673352
O'Reilly Media: Building Android Apps with HTML CSS and JavaScript http://oreilly.com/catalog/0636920010067
O'Reilly Media: Hello Android 3rd Edition http://oreilly.com/catalog/9781934356562
Video tutorial
O'Reilly Media: Developing Android Applications with Java, Part 1 http://oreilly.com/catalog/0636920001690
Sorry to threadjack you, but it made no sense to me to start a new thread on the same topic. There really should be an own section for noobs or a good sticky with this kind of information for noobs.
lol Im in the process of learning java right now, basic java though.
Mathods
Interfaces
Static Methods
Im pretty interested in what I need to know for development on the andriod platform. By mid/late spring I should know quite a bit more. Taking an Advanced java course. Current I only know C#, C++, and Visual Basics.
Never worked on a GUI before =(.

Changes in SDK 1.x -> 2.x

Hi there
not THAT much threads here related to development questions. Now it's absolutly ironic that I ASK this, cause Im no dev and coded the last small tools in C some 10 yrs ago. I'm a complete and definite noob in C++ ... bada SDK is my first contact with C++. I though it's interesting to try some first steps in bada.
Started in SDK 2.0.2. I found out that code examples in Internet relate to bada SDK 1.x and things seem to have changed here and there. After 3 days I was able to understand structurally what I collected together or found in help.
Question: What did you guys face as difference in 2.0 compared to 1.x?
I wasn't able to invoke the app "terminate()" command. What do I need to include/declare? I'm puzzled. this is the most difficult exit function of all languages I know
I had trouble to insert a photo as the splash screen. You guys have difficulties too?
More philosophic question: What do you think of Samsung, that they gave you SDK 2.0 and even started a competition, while there's STILL NO bada 2.0 device ready? So you can only test in Emulator or Remote ... is it normal in this industry that you don't have access to the target platform while creating an app?
Oh, just want to mention: I'm no competition - I'm too uneducated to code - and no time for a serious app.
Ray
Its simple, alot of things gone easier.
CustomList, GroupedList, SllidableList, IconList, ... all collected to two types
ListView and GroupedListView, they both are using SimpleItems (Image, Text, Option) or a CustomItem as we devs them wish. GroupedItems are in GroupedListView and saying itself what they does, both lists have a fast scroll option and automatically relocating on need their items. The best autoscroll for bigger text in elements and of cousre the behind Context menu for each item which can be changed in different ways if user slides left or right and so on. Finally to update the list, only UpdateList() is needet not after every change every item as i used in badaSI before.
Than we have the powerfull Gallery that provides all featuers to show pictures as you all saw it in badas Gallary App.
Then header and footer, very nice, devs can so made a good basci gui that looks good integreted to the os, the best function of them are the back button option with its listener, it reduces a lot of time.
My pesonal favorit is the extension for animation class, there you can make every thinkable animation for forms, panels, controls and other stuff, with some code lines. So the UIx is improved and no extra code is needet.
I would rather say that the 2.0 sdk makes c++ a lot of easier to use also for beginners, the api itself is self explaining for what it stands, so it is not like old c++ stuff bada SDK makes many things alot of easier than people think. And of course it has more oportunities than other ... and so on.
Push Notifications and some old unaccessable System Privilegs are now free to use for every developer. Auto resolution takes a lot of work from us all devs.
PThread is addet so porting applications from other oses like ios are much easier, in my oppinion useless cause i am not porting i am writing from scratch.
In a whole overview of the new sdk, a lot of new stuff that makes everything easier, and the old stuff is still in there to support older applications. so no visible changes are there if you see an custom list or a listview in voluntas as example, but the behind things made it a lot of easier and better for memory.
And so on....................
ah, so push noti was there before, but only to priviledged partner dev's right?
Lari, you list is your favourites? What of them will help most often? Header/Footer? Auto Resolution to unite higher and lower lever Waves? Let's see if there's still two separate bada versions for the 2 familys.
Ray
So finally I got the Terminate() function up and running ...
In the form.cpp I had to add these:
#include "<myappname>.h"
... to get declaration of my app name
using namespace Osp::App;
... to enable the Terminate function (don't know if the include makes this unnecessary now ... in "<myappname>.h the public Osp::App::Application,
is used as class
<myappname>::GetInstance()->Terminate();
... only with this the function worked.
Is this standard in C++? Help didn't show me this way, and it seems quite complicated for me as a former ANSI C amateur
Ray
hello? zehn zoicha kaesdreck!

[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

Resources