I am a newbie in android apps development. I was wondering which of the two is easier for developing android apps which are more geared towards GPS and GIS related data/activity.
I see python being predominently used for GIS related applications/programs. I have also heard/read that Python is easier to code and learn to code. In addition, I am not looking for an complicated applications other than simply logging acceleration, GPS data along with triggering camera activity.
What IDE would you suggest me based on your answer?
I was playing with Eclipse IDE for Java to develop some "Hello World Apps".
This post seem to be old to me and the answers does not seem to consider the GIS aspects.
My advice is unless you have a highly compelling reason that has been peer-reviewed, do not fight the Android platform. That means you should just use the standard Java Android APIs.
I've programmed a couple of apps that make use of the Android GPS hardware. You will find many examples and guides using Java.
If you find some compelling reason to use python for your back-end of an enterprise system, that will still be possible.
As far as IDE advice, I prefer IntelliJ IDEA, having used both eclipse and IDEA. Eclipse is great, though I find the IDEA UI and features to be easier to learn and use. No doubt they are both fantastic and complicated software that will at times frustrate you.
The answer is Java as Java is Android's language.
There are other options like Mono with C#, Python, C++ with NDK, C++ with Marmalade, etc
Most official android docs are about java and C++ with NDK.
Python on Android is mostly used by python fans in rooted environment.
If you wish to make commercial and release it in Google Play market then you should use Java in such application.
Related
as i'm still learning, i'm not sure what tools, frameworks, even languages i'm gonna work with..
so i'm working on a simple project that got windows side and android side.. that obviously needs at least 2 languages to get it done, but it's impossible that i can learn those languages and know how to deal with their frameworks to get the job done
so is there a language i can develop the entire project(windows & android) with, and without need to any other language no matter what or how many tools or methods im gonna use to make it work?
-note: i know java is essential for the android side, so that's the point im talking about.... "entirely"
I would recommend you giving a loot at Flutter, it's not like native windows but it can produce applications for Android, iOS and web with a single codebase. It's really intuitive to use and the apps built with it work really well.
You can also take a look at React Native expect you need a Native app that you have to use Java as the core language if not give a trial to this
I notice you've tagged this with C#. To answer your question: that. You can write Android apps in it as well via a library called Xamarin that Microsoft bought out and has integrated into the platform.
I have been searching but I get the mixed up answers with Java and Javascript. Basically I am wondering if Unity3D lets me make games with Java? I want to make browser based games, not android.
Currently unity3d doesn't support java.
According to unity3d website.
Scripting with Unity brings you fast iteration and execution and the
strength and flexibility of a world-leading programming environment.
Scripting is uncluttered, straightforward and incredibly fast. In
Unity, you write simple behavior scripts in JavaScript, C# or Boo. All
three languages are easy to use and run on the Open Source .NET
platform, Mono, with rapid compilation times.
What Language is Used To Develop Using Unity
http://unity3d.com/unity/workflow/scripting
In Unity, you write simple behavior scripts in C# or JavaScript (UnityScript). Both languages are easy to use and run on the integrated scripting runtimes.
Read more: https://unity3d.com/unity/workflow/scripting
As stated above, Unity as of now don't support java coding.
For Java, libGDX is the best option: http://libgdx.badlogicgames.com/
Though Unity has better support and documentation, libGDX is also really powerful.
Clash of the Olympians is a popular game made with libGDX
https://play.google.com/store/apps/details?id=com.ironhide.games.clashoftheolympians
I am thinking about picking up android development in my free time. I see that development is possible in Java and C++ but the latter is limited.
I am much more comfortable with C++.
So my question is what limitations exist with C++ on Android? Will I be able to develop full apps with it, or will I eventually have to learn Java?
Pick the right tool for the job. The right tool for android is java, and occasionally c++ if it's really needed. Android runs on several different CPUs, and you'd be required to deal with fun stuff like compiling for platforms that you can't really test on - at least if you want to make apps for anyone but yourself.
It's all dependent on what you want to do, but the general rule of thumb:
C++ is for speed (for example games).
Java is for UI and general Android programming.
You cannot code an entire Android application using only C++, the android SDK is written in Java and that is what you will have to use.
This said you can still use C++ for heavy stuff.
I am basically a embedded systems programmer on linux. However, I would like to try my hand at writing Android applications. With no previous Java experience, are there GUI toolkits or something that can help me. Or is it mandatory to learn Java.
Any links, tips for newbies like me will be very helpful
There are various app builders available for those who do not want to do any programming but they are very limited in the apps they can produce. Basically, such builders offer the developer a series of templates which the developer personalizes before building the app. For instance with a video player template, the developer would choose the look and feel such as background colors etc but the rest of the app would be fixed.
Here is an article that looks at some things to consider before using a No-Programming app- builder
http://hypernextandroid.wordpress.com/2012/09/04/coding-and-no-coding-app-makers/
As you are already a programmer and the Java route is extremely intensive then you could try Basic4Android, HyperNext Android Creator etc. These have much easier learning curves than the Java/Android SDK approach and can still produce native apps.
I am 2 months late, but I have been using a software called Titanium Studio to develop android apps. You cannot write advanced apps like games, but its good for developing simple apps. If you have a mac, then you can develop for iOS as well.
You will basically use javascript and PHP to write your app, which are much easier than learning JAVA.
Cons-
It includes most of the commonly used functions from android, iOS SDK but it is missing a lot as well.
The size of the apps will generally in range of 10-20 MB.
Apart from that, If you want to create a simple app and want to do it quick Titanium is the software to use.
Yes you can. You just require an Android tutorial to get started. Try foolowing links:
One
Two
Three
Four
Its better if you first try learning some basics of Java and then try for this.
Hope this helps.
yes.
App Inventor for Android - its simple and easy, no need of any prior Java programming knowledge
Eclipse with ADT plugin - the better way to develop applications - start with Hello World
For UI development - try inbuilt UI editor with ADT plugin or DroidDraw
Gotta learn Java. But if you're familiar with C then the syntax will be familiar. It's object model is pretty simple and it's libraries are great, so it should be fun. Android, of course, has it's own constraints and best-practices.
I just ordered an Android smartphone and want to start playing around with creating my own applications. Now the question is which language to use, the native Java or Python using SL4A (former ASE).
I tend to Python, as I know it much better than Java, but I'm wondering what I would be missing using a "second class" language on Android. On the SL4A website it is also stated to be alpha quality software, which is not exactly encouraging.
I'm also not quite sure what the limitations of the scripting environment are and if they would be problematic.
At the moment you cannot create a releasable program with Python (or any other scripting language) using SL4A. I have heard rumours that this is something Google is working on, but even if they do enable it Python apps are likely to be slow and power-hungry compared to Java. Also the scripting API only gives you access to a limited subset of the native Java API. I would not consider using SL4A for serious development work at the moment, only for one-off scripts and prototyping.
Take a look at Scala. It is a statically typed language on the JVM, but uses type inference to remove most of the noise that you get in Java. It also fully supports functional programming, and has a lot of pythonish features. Because it is statically typed it is as efficient as straight Java with none of the disadvantages. IMHO it is the language that Java should have been in the first place.
A lot of people are blogging about using Scala on Android, so Google around for more information.
More likely will depend what type of applications you will develop.
I would start with Java to become familiar with Android SDK. Anyway first you need to look into some examples, tutorials. Most of them are done in Java, and only a few, probably on the dev site of SL4A for that.
Also there is native development Android NDK, that can be programmed with C++.
But anyway Java rules for general applications.
Adding an update to Dave Kirby's answer:
Issue 55, Distribute scripts as APKs, in the issue tracker at SL4A deals specifically with that.
There is a solution being worked out (may be complete by now) described at SharingScripts. The only issue seems to be that you need to have a interpreter APK already installed.
you may want to check out Ruboto it is a framework for developing Android apps based on JRuby which means your JRuby code can call Android APIs and can also be called back from the Android Java side.
Here is an introduction article .
Consider ising Kivy, if you want to write Android apps with Python. The process of packing script to .apk file is described here.
The problem is, resulting .apk will be big (~7Mb for 300Kb data). It is obvious, because you need to pack there Python runtime and all libraries.
Another solution I have heard of, is Pygame for Android, but it works on lower lewel, so you need to draw graphics manually.
Unfortunately, I have not tried any of this ways yet, but it looks, that I'm going to start using kivy soon.