is it possible to develop android platform (ROM) with C, C++ ?
as i read some where that for performance related coding are done in C, C++
and Google has selected java for development over c, C++ ?
is java is better than C, C++?
Hi swapk007,
it is possible to write in other languages too.
Problem with C/C++ is that those are native languages i.e. they are compiled to platform dependent code. So google choose dalvik a java based virtual machine to alow
development in a "compile once run everywhere" style to reach all the platforms for all those many android phone vendors wich use
differing processors.
Iphone has just one hardware so i think there its easy to use C. I think they use ObjectiveC there.
If you develop in c/c++ for android you have to crosscompile for an android with different processor.
There are script enviorments though wich will give u portability wich can be found on the market (sl4a for example).
To develop in c/c++ have a look here.
http://developer.android.com/videos/index.html#v=Oq05KqjXTvs
Here are some news about google activley supporting c++ on android.
http://www.xing.com/net/moderncpp/news-111939/google-android-nun-auch-mit-c-unterstutzung-22341437/
and
http://arstechnica.com/open-source/news/2009/06/android-goes-beyond-java-gains-native-cc-dev-kit.ars
Hope that helps you , if so please thank me in the forum.
Sent from my GT-I8150 using XDA App
thanx polifemo..
so that means i can develop android rom with NDK?
Maybe i don't get you right on this.
What do you mean by developing android rom ?
If you want to make ur custom rom which means taking android sources and build android from it,
it includes building linux kernel (wich is asm+c) , core system ( mainly c) dalvik engine (which is c++ i think) and dalvik runtime which is dalvik-java and jni-system libs glue stuff. There are frameworks for building all this and throw out ready to install roms called kitchens. Search this forum for those and tutoirial for your target device.
If you want to make a proggi in another language than java which runs on android look at my first reply .
So long ...
Sent from my GT-I8150 using XDA App
Here is a link to dsixda's kitchen thread.
http://forum.xda-developers.com/showthread.php?t=633246
Sent from my GT-I8150 using XDA App
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Moving to Q&A
hello,
I am a student currently studying java programming
i have a java code that implements a program that i made using eclipse, and what i want to know is how to turn it into an android app. ?
the program takes a string input and returns another string using one main methods and many other methods they all process strings.
i have the android sdk and eclipse plugins but i have no idea where to put the code and how to sit the UI.
thanks.
i am sorry if my question is in the wrong place please tell me where should i post my question.
peace
You'll need basic knowledge about Android Development, search for tutorials, there are many of them, like this (I think that tutorial is all you need).
To can compile the code shown, basically you need:
Android SDK and ADT Plugin for Eclipse.
Open SDK Manager, located where you installed Android SDK. Download the packets of the platform which you desire as target (Android 2.2 or 2.3 is recomended, in order to achieve a high compatibility. Remember: Android is retrocompatible).
Now, you can start an Android project from Eclipse and compile that code. The Java methods that you already developed, should works fine on Android, don't worry about that
If you need more help, feel free to send me a MP, or post your question here. I'm not a developer, but I can understand the necessary things to achieve a basic Android app
Hi
I'm Italian and my english is so bad , sorry..
I would ask you what the language is recommended to develop android's app :
Java , C or C++ ? Anothrer doubt but C is used for android app ? mmm ..
There isn't a android native language , right ?
Coult I ask you to suggest me a web site's link where can I see how does android work ?
Sorry for my english , I'm studing english but there are too many word to say same thing
Thanks
dude its ok your english is fine and hear the language important is programming language how much good you are at will lead you to be a good developer and for learning android and how it works and all go to developers.android.com/training you will get whatever you want and browse on google and go to 4shared and find books on Android you get a huge and youtube.com/thenewboston 200 tutorial videos with great explaination and please first make sure you are very good at your oop concepts in java keepitup
devalex from Bolt A67
aeroxr1 said:
Hi
I'm Italian and my english is so bad , sorry..
I would ask you what the language is recommended to develop android's app :
Java , C or C++ ? Anothrer doubt but C is used for android app ? mmm ..
There isn't a android native language , right ?
Coult I ask you to suggest me a web site's link where can I see how does android work ?
Sorry for my english , I'm studing english but there are too many word to say same thing
Thanks
Click to expand...
Click to collapse
Java is the main language to develop Android's app. C or C++ can be used through the NDK to write parts of the app (but only some part, not the whole app) which are heavily CPU-demanding. Java's what you need to learn.
I suggest you start from developer.android[dot]com/training/basics/firstapp/index.html
dev.hinge086 said:
dude its ok your english is fine and hear the language important is programming language how much good you are at will lead you to be a good developer and for learning android and how it works and all go to developers.android.com/training you will get whatever you want and browse on google and go to 4shared and find books on Android you get a huge and youtube.com/thenewboston 200 tutorial videos with great explaination and please first make sure you are very good at your oop concepts in java keepitup
devalex from Bolt A67
Click to expand...
Click to collapse
Thanks a lot
Do you suggest me one particular book or is indifferent ? Aniway I Will begin to study from the link that you give me
Andreaaaaa said:
Java is the main language to develop Android's app. C or C++ can be used through the NDK to write parts of the app (but only some part, not the whole app) which are heavily CPU-demanding. Java's what you need to learn.
I suggest you start from developer.android[dot]com/training/basics/firstapp/index.html
Click to expand...
Click to collapse
The program in android works on the java virtual machine ? Ok
I would ask you One last thing
I have galaxy nexus , and on xda we can find lot of kernel ad rom , but I have one doubt :/
For the kernel the language used is C ?
And for the rom ? Java and C ?
Where can i find the kernel's source and factory image's source ?
O.t : Wich operating system do you use ? Now on my new laptop run window 8 and I ask to my self if is good choice .. For programming kernel,rom and app linux is the best ? or the operating system does not matter ? mmm..
If you want to learn to make a few apps, here is how I would start again:
Learn the Activity lifecycle and they methods ( the srceen ui )
Learn to make layout.xml without the ui editor. - it takes a few weeks.
Learn to use the AsyncTask to be able to make HTTP POST, GET and others stuff.
Only after this learn the Service, for background operations.
Broadcast receivers to listen system events: like boot completer internet connection lost, gps is on and so on.
With those sets you can earn a living at a company, which usually make applications client - Server side. Not really need to know more.
There are optimisations, but not at learning: some part of your code need to handle a lot of calculations, drawing, physics, AI, encryption, decryption: move that code part to NDK and start having problems with NDK development.
If you are a web developer and want to make some web based apps, than there is the webview and its the easiest case, at least virtually. For beginning / learning it is.
Game developers aren't covering they cost at least 80% of they so think about twice if you want to set up a full development cycle with NDK + OpenGL + animation, wasting like 5000 man hours. Depends on complexity of course, but those with 10 million downloads aren't made within 200 hours, for sure.
aeroxr1 said:
Thanks a lot
Do you suggest me one particular book or is indifferent ? Aniway I Will begin to study from the link that you give me
The program in android works on the java virtual machine ? Ok
I would ask you One last thing
I have galaxy nexus , and on xda we can find lot of kernel ad rom , but I have one doubt :/
For the kernel the language used is C ?
And for the rom ? Java and C ?
Where can i find the kernel's source and factory image's source ?
O.t : Wich operating system do you use ? Now on my new laptop run window 8 and I ask to my self if is good choice .. For programming kernel,rom and app linux is the best ? or the operating system does not matter ? mmm..
Click to expand...
Click to collapse
The Kernel is Linux, so it's written in C. I don't know about the ROM, I guess it's only Java, but there could be C parts, it's just guess-work.
Here you can find how and where to download and, if you want to, to build your android kernel, while here you can find AOSP (which stands for Android Open Source Project) code.
I personally use Linux (more precisely, elementaryOS, which shares its core with Ubuntu) and haven't used Windows for a long while. I don't know how good/comfortable Android development is under Windows.
It must be noted that getting Java running under Linux is not a one-click thing, but nothing that couldn't be solved by a simple tutorial on the Internet. On the other hand, Linux is way more light-weighted than Windows, which comes handy when you're running on little RAM as I do.
"I would ask you what the language is recommended to develop android's app : "
I would ask you what the language is recommended to develop android's app :
Click to expand...
Click to collapse
He is asking to develop Android application, not Android Rom, not Android kernel.
Please open your eyes!
matheszabi said:
He is asking to develop Android application, not Android Rom, not Android kernel.
Please open your eyes!
Click to expand...
Click to collapse
In my last post I Also asked for the kernel and rom's code and Language
Andreaaaaa said:
I personally use Linux (more precisely, elementaryOS, which shares its core with Ubuntu) and haven't used Windows for a long while. I don't know how good/comfortable Android development is under Windows.
Click to expand...
Click to collapse
I have a doubt of window or linux because on the link that you have posted there are a "tutorial" for source download on Linux but not on Window .. So I try to find another window's tutorial through google search but no result.
P.s : few weeks ago I'm using linux , but on the new laptop there is window 8 and I have to do a backup before install a dual boot for a future restore in case of warranty assistance -.-"
Thanks a lot All You are the best!
I use Windows for Android development. I don't think it makes much of a difference. I use Eclipse as the IDE, which is written in Java, and is pretty much the same for Windows and Linux.
Thought I'd chime in, though the thread has been quiet for two weeks.
Learning Android application development is going to point you first to Java and only Java.
Despite other posts, and Android documentation INSISTING otherwise, developers (myself in particular) DO write applications for Android entirely in C++, using the NDK. It's an advanced technique.
If you were already a C++ developer you would want to avoid Java, and you'd pursue the NDK and C++. However, if you're not a C++ programmer already, Java is a much easier introduction. C++ is a wonderful language, but it's full of complications. It's my personal favorite, and I have decades of experience using it an C, but it is not for beginners. Used correctly, the results can be many times faster than Java applications (despite Android documentation claiming otherwise).
Also, there are a wide range of targets for which C++ is entirely NOT suitable. Simple applications are typical of that.
One reason seasoned developers prefer C++ is portability. Despite a reputation to the contrary, C++ is the only language you can use to write applications for iOS, Android, Tizen, Blackberry and the non-mobile platforms like Linux, Windows and Mac - from a common base of code.
Since I've not been a beginner for decades, I can't really suggestion any great text, but I can say that Java is your language for Android as a beginner.
Kei here
hmm, can't be believe I'm posting my first reply on something like this, I didn't really want to reply but I know your peril.
I'm a mechatronics student and we're more on g-codes and robotics programming but software programming became my hobby, the first book (not the first book but the first book that I related too) I read was "An Introduction into C++" by Diane Zak (there might be a mistake, just google it, I read the book some couple of years ago).
To directly answer your question,
"Libraries written in C and other languages can be compiled to ARM, MIPS or x86 native code and installed using the Android Native Development Kit." (Wikipedia) but you can also use Java or C++, I personally prefer C++.
I'm going to make an example of a c++
------------------------------------------------------
#include iostream
(etc etc)
using namespace std;
.h estuffus
etc etc
\\ Variable section start
int game = 1;
float letterHead = 2
char appleButter = 'A';
\\ Variable section end
then recall the main function bla bla
{
if (letterHead == appleButter)
{appleButter = 'B';
cout << appleButter << endl; \\common misconception within beginners is that they think that cout would display text, it only works on a \\console window
}
else
{
appleButter = 'A';
cout << appleButter << endl;
}
then stop the application
------------------------------------------------------------
It's pretty straightforward once you grasp the basics, If you are making a game... well I kinda regularly dabble with Unity, I'm not advertising, but it's another straightforward engine, you could finish builds and it would then be processed into an apk file.
Don't hesitate to ask me, I could make you a tutorial on scripting, my current goal is to help people understand this area.
HAPPY SCRIPTING :> oh and for the last, I recommend C++ )
It Actually Depends On What You Are Interested in developing.
Let me Explain you one by one:
C
C is the mother of all programming languages.Unix Operating System is built on C.So Stable It is.
So If You are interested in Kernel or System Level Development , U must surely drink the depths of Ocean Of C Language.
C++
Provides advanced Libraries and can be now a days be used for anything right from System Level Programming to Complex Sockets.
Right From Native Android to Network Designing.
Java:
Has Millions Of Classes and is used for anything and everything.You Choose a Topic And The Java Language has an Inbuilt class for your Designed function.
Its a trend nowadays to do android coding in java ..
If you want you can change the trend by using C++ for android using NDK(Native Development Tools).
I would just like to say choose the right language for you and just gain the expertise to the right depths for your designed application. .
you should use Java by default, its a lot easier and Android sdk framework is for Java.
Furthermore java already calls a lot of c native components through jni.
You will only need c/c++ if you need specific native components that are not available by default in Android framework
Main development language for android is Java. For time consuming operation you can consider to use C++ via NDK.
Go with Java.
Learn C/C++ only when you know under the hood. But this is like 'chicken or the egg paradox' because probably you'll never know under the hood without learning C/C++
Java is the language used for Android programming.
I am not sure whether you want to learn Android programming or just look at some applications made in Android. So here are2 sources I found best suitable for you to learn step by step Android programming.
Courses from developer.android.com and udemy.com are worth implementable once.
Regards,
Derrick Spencer
Mobile App Strategist
AppsFlair.com
Hi.
If you only want to develop apps, the system does not matter. However, if you wish to do some kernel development stuff, you must use Linux since Android kernel is a modified Linux.
Sent from my iPhone using Tapatalk
.
Main language is java for android app.But if you want a complex calculator and secure your code,you need C++ and NDK
In my experience I faced a situation when I could not use Java because guys from Google(or somewhere else) simply forgot to include a proper wrapper for a C function =D
I prefer doing everything in Java(because it's super comfortable), but when it comes to calculation speed I switch to C++(up to 10x boost sometimes). For image processing I use OpenGL - it's lightning fast(except some rare operations)
Gi guys,
Thus is my first post.
---------- Post added at 12:38 PM ---------- Previous post was at 12:34 PM ----------
I've built web based database application for my personal purpose.
If I want it can be accessed via android app which language is more stable and comfortable to be used?
Your suggestion would be appreciated. Thank you.