I am a complete Android and C in general noob,
I have done a lot of web programming (which I am imagining is largely irrelevant here), some javascript (not jQuery just raw JS), I have also developed a .net app and done a course in java programming at uni last semester,
I know that Android uses Java in some places and C in others, I have looked at the SDK documentation here: http://developer.android.com/guide/topics/appwidgets/index.html
My aim is to build a simple dashboard widget that pulls data on a minute-by-minute basis from a JSON/JSONP API, I have thus far struggled to find any decent tutorials for real Android noobs such as myself, especially in the app widget category, If anyone knows of any good resources (online or books are fine) consisting of basic good practises, start-up guides and quick tutorials to get me up to speed would be great as I have absolutely no idea where to start (especially in the C end of things), I have found the SDK documentation does have some good stuff but it isn't exactly what I am after (built on very old builds of Android and thus most of the cool new features aren't integrated or taken into account).
Any recommendations would be very much appreciated!
On a side note, If all goes well with Android I would also be looking to move onto iOS so Objective-C start-up and tutorials would be great (Visual Quick Pro guide style would be perfect!)
I personally started reading and understanding the Android Application Fundamentals. Then I downloaded the Android ADT (Development Toolkit), configured it on Eclipse as well as the SDK (including samples).
Once that's set up, I started with the ApiDemos. You find its source code directly in the downloaded SDK <sdk-install-location>/samples/android-9/ApiDemos. Try to debug the code in the IDE, modify it and see how it reacts.
Finally, have fun :)
Well, I started with the Android developer documentation:
http://developer.android.com/guide/index.html
If that isn't as organized as you'd like for a complete beginner, you might want to try the FAQ since they have a lot of good tutorial links there, which happen to be very thorough:
http://developer.android.com/resources/faq/index.html
Once you get the basics, which the tutorials will do for you, the first link to the developer guide will be where you'll spend most of your time. There are even links in the guide for getting started with your IDE of choice, or getting started using no IDE at all.
To get a more specific answer, you'll have to ask a more specific question.
Related
First of all I'm a newbie in VoIP implementation. I need to implement VoIP single and group call in android application. Could you tell me, what is actually the best way to achieve this ? I'm looking for Android SIP library (probably open source) which should:
has good documentation with simple app examples
be ready to use with java
Maybe just native android SIP api will be the best ? But I heard that it doesn't support group calls.
Most of the voip libraries use C/C++ implementation for various reasons. You can use PJSip which is a C voip/sip stack. It has a good documentation but you have to build it yourself using android ndk . It has good documentation and also contains processes to build it for Android and other platforms. But there is no java/android wrapping built in so you should do that yourself. Another option is Liblinphone which is also based on C stack but provides all of the wrapping and implementations out of the box so you don't have to bother so much on native codes. It also has a sample application which you can try yourself. One downside of Liblinphone is that it lacks proper documentation and you have to dig in more.
Regarding the android SIP api, I don't think it is a good option as it has much more limitation and hardly maintained. It is based on Jainsip stack which is a 100% java stack but is too verbose. I personally would like to recomment Liblinphone as I am currently implementing it and am pretty satisfied with it. Best of luck...
Update
Here is the source code of linphone for android if you are interested in it. You can get pretty much idea of Liblinphone for android from it. You have to dig much more into the sources though.
You can have a look at Restcomm Android SDK:
It's open source, with an active community around it
It using SIP for signaling and Webrtc for media so should work nicely with NATs, etc
Comes with 2 sample applications that you can play with and alter their code to experiment
Comes with quick start guide, reference doc
You can check the Olympus sample App right away by installing the .apk from this link
Notice that the SDK doesn't support group calling out of the box, but you could combine it with Restcomm-Connect open source platform to add such functionality very easily. Restcomm-Connect also comes with docker, so you should be able to install it right away.
Please let me know if you have any questions
Best regards,
Antonis
I've learnt python recently and I want to make an app for android. But everywhere on the net, it seems Java and Eclipse are the only ones that can be used.
So, my question is:
1) Can I use python to make an android app?
2) What kind of platform should I use to make an app with python?
Thanks guys!
If you're just looking to run Python scripts, try QPython.
If you're looking to make your Python code run like a native app, or just something more robust than the above, try SL4A.
If you're looking to effectively use Python as a library, and compile an .apk with the Python library included, try Kivy: github.com/kivy/python-for-android.
That said, you'd likely get a lot of benefit from learning Java, and not just for programming natively in Android (which would give you access to a much wider feature set and make your app run more efficiently).
Check out the Scripting Layer For Android, aka SL4A.
Here is a blog for getting started. The blog promises more entries in the series but there don't seem to be any. Still, it is a great starting point. There's quite a few parts to pull together so be patient and check the bottom of that blog entry for dozens of useful links.
If you want to contain everything to the Android device, including the IDE (pretty slick), check this out.
Here's a book from APress that could help with more advanced concepts: Pro Android Python with SL4A
I keep reading that I have to learn Java to make android programs. But when I read about Java, none of it applies to the modules in the Android SDK. I am not much of a programer so if I have to spend years trying to learn another language and mess with other compilers before Android SDK will look like something that can be done, I'm not intrested. This should be an easy request, but when I asked on IRC they were very rude.
You cannot possibly program Android without knowing Java. I suppose you could try learning both at the same time, but that will be quite a steep learning curve. The android-samples won't make any sense to you if you don't understand Java.
sorry, there are no shortcuts.
I am by no means an expert, but I studied the basics of Java a couple of years ago in college and then went on to use Android for my bachelor thesis project (this was back when the newest Android version was 1.6 IIRC). In my limited experience, Android SDK modules indeed have very little to do with Java. In any case, it felt like I was learning a completely new language and SDK. In my opinion, you'll be fine learning Android by itself. I would suggest you give it a shot, and if you find yourself stuck at some point you can always take a step back and get a book on Java.
Also, since you mention you're not much of a programmed, Google had a project called App Inventor last year that non-programmers could use to make simple Android apps. I've never used it but I've heard great things about it, so depending on your project you might want to check it out. Google has since dropped support for it, but it seems MIT has picked it up: http://www.appinventor.mit.edu/.
Edit: fixed link.
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.
The decision to jump on the Android bandwagon has been made. The entire development environment has been installed and configured properly. I went through the steps suggested in http://developer.android.com/sdk/installing.html and even managed to "write" the Hello World application and run it on the emulator. :)
Unfortunately, however, I am not an experienced Java programmer and so, despite successfully completing all the suggested steps, and consulting an excellent speedy Java tutorial for C++ programmers, I feel that a lot is missing on the way to mastering Android development.
It would have been great to first master the Java world (note: I didn't say language, as Java is so much more than just syntax), then delve into Android, but in the real world there are deadlines to meet and so starting to develop/learn directly on Android is very tempting...
My question: Is it possible to develop good Android code while skipping the step of being an experienced Java programmer?
Do you know of a fast track that allows mastering both?
I have come from .NET and it was very easy to pick it up.
I bought Android Pro 2 book and that was all I needed.
UPDATE
Well, it seems that a few people have found the book really terrible because of typos and errors in the samples - and even in the book itself.
In any case, as you will find in the comments, this is by no means a definitive answer and please read Amazon reviews and choose the one you prefer. This worked for me since I need to understand the concept and then pick up the samples from Android documentations itself.
I believe a great share of Android developers come from other languages without any knowledge in Java at all. In fact all you need to know about Java in order to write Android code is it's syntax and core APIs: java.lang., java.util., java.net., java.io. etc. The rest is Android-specific APIs and a profound Java programmer won't have much advantage over you in learning them.