A beginner need help... what is the concept of android programming? - Java for Android App Development

Hi everyone, I'm new to the android programming playground and it looks complicated. I have no experience in Java, only in Python and JavaScript. I have seen some tutorials before and I just don't understand the .java file. How do they connect? public void? What is this? I don't want to use ruboto or kivy or phonegap or anything else because I want my app to be independent. I have no problems with the xml files because I have worked with HTML files before. The only thing is the java files. Can someone give me a nice concept of the android programming language? About how do the files get wired, about starting an activity, and more if available. The android programming tutorial on developers.android.com never helps. Any help is appreciated!

Angjinhang said:
Hi everyone, I'm new to the android programming playground and it looks complicated. I have no experience in Java, only in Python and JavaScript. I have seen some tutorials before and I just don't understand the .java file. How do they connect? public void? What is this? I don't want to use ruboto or kivy or phonegap or anything else because I want my app to be independent. I have no problems with the xml files because I have worked with HTML files before. The only thing is the java files. Can someone give me a nice concept of the android programming language? About how do the files get wired, about starting an activity, and more if available. The android programming tutorial on developers.android.com never helps. Any help is appreciated!
Click to expand...
Click to collapse
If you have worked only with python and JavaScript, Java will certainly feel like an alien language. In addition, navigating through eclipse can be a pain as well. Learning three things (Java, usage of Eclipse, & Android Development) together is next to impossible.
I would suggest that you pick up on the basics of Java first. That will make your development with Android easier.
You should also go through this thread: Free Online Mobile Development Courses (Java, Android, etc.)

Thanks a lot.
Nice reply. I finally found the information i need. You are right. I need some java basics before starting. Actually what is the relationship between android and java?

Angjinhang said:
what is the relationship between android and java?
Click to expand...
Click to collapse
Android is an operating system. To develop Apps which work on it, you use Java, and call the various methods provided in the Android API.
Your App is compiled to bytecode. They are then converted from Java Virtual Machine-compatible .class files to Dalvik-compatible .dex (Dalvik Executable) files before installation on a device.
Dalvik is the process virtual machine (VM) in Google's Android operating system. It is the software that runs the apps on Android devices.
You can also use C++ to write for certain low level processing, which is faster than running in the Dalvik Virtual Machine.

To simpilfy you can think of android as a framework written on java like BootstrapTwitter written on JavaScript
Sent from my GT-S5302 using Tapatalk 2

So... you meen like Ubuntu is an operating system. To develop apps for it, I use python. Am I right?

Angjinhang said:
So... you meen like Ubuntu is an operating system. To develop apps for it, I use python. Am I right?
Click to expand...
Click to collapse
Exactly
Sent from my GT-S5302 using Tapatalk 2

Related

compiling Unix tools for Android

Hello all,
I can't seem to find any sort of description of how to compile unix sources to run under android. I know it's a linux system, and I know there are terminal emulators available. I'd to compile nmap for the HTC Dream (HTC G1 to some)
Can any one give me a quick run down? If not, can you point me in the right direction?
I used to have an iPhone, and I could compile for that using the iPhone SDK or XCode, but I can't even find something that looks like a compiler in the Google SDK for android.
Thanks in advance guys.
backXslash said:
Hello all,
I can't seem to find any sort of description of how to compile unix sources to run under android. I know it's a linux system, and I know there are terminal emulators available. I'd to compile nmap for the HTC Dream (HTC G1 to some)
Can any one give me a quick run down? If not, can you point me in the right direction?
I used to have an iPhone, and I could compile for that using the iPhone SDK or XCode, but I can't even find something that looks like a compiler in the Google SDK for android.
Thanks in advance guys.
Click to expand...
Click to collapse
is this anything to do with what you want ?
http://groups.google.com/group/andr...read/thread/6960fe8703b1edb9/3d68334a74a9bab2
Well... sort of. I used a guide that explained how to do the more complex builds, for things that need ./configure && make && make install. That sort of thing.
I think the configure command for iPhone was CC=arm-apple-darwin-cc CPP=llvm-cpp ./configure --host=arm-apple-darwin. I was looking for something more akin to that.

Mac friendly dev apps

Hey Guys,
Whats the best tools for building the kernel? roms? rom kitchen etc.
For a macbook pro 17 10.6.4.
I seem to have problems with everything.
is there a tool-chain? for osx?
Thanks!
Wrong section buddy. Ask a mod to move it to general.
Sent from my SGH-T959 using XDA App
Alex530 said:
Wrong section buddy. Ask a mod to move it to general.
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
Honestly,
I dont see why this should go to general. Its about dev work. Hence in the android dev talk.
i agree, this is a development related question. I too would like to know where/which toolchain to get.
any help is greatly appreciated.
Development is for when you actually developed something.
Sent from my SGH-T959 using XDA App
vague questions about development in general on the android platform should go somewhere in here...
http://forum.xda-developers.com/forumdisplay.php?f=564
The vibrant section isnt the only subforum around here...
This section was made specifically for posting developments to the vibrant platform...
edit: oh yeah forgot about chef central all your cooking needs...
http://forum.xda-developers.com/forumdisplay.php?f=611
If you're looking to do kernel hacking or just build a system, then all you need is the command line. All of the tools in the SDK are written to be used this way, but if you're going to be editing source files, you may want a decent text editor (I like TextMate). If you're uncomfortable with the command line, then you probably shouldn't doing that kind of development.
For applications themselves, Eclipse is probably the way to go. It's a bit bulky (and not the nicest IDE), but it is quite competent and gets the job done. Plus, there are the ADT (Android Development Tools) that allows for graphical management of your SDK targets, as well as an AVD editor for setting up different emulator environments and one-button access to DDMS.
(While this question may have been best posted in the general Android dev section, I don't see any reason why it's not development related and should be in general or Q&A.)
rpcameron said:
If you're looking to do kernel hacking or just build a system, then all you need is the command line. All of the tools in the SDK are written to be used this way, but if you're going to be editing source files, you may want a decent text editor (I like TextMate). If you're uncomfortable with the command line, then you probably shouldn't doing that kind of development.
For applications themselves, Eclipse is probably the way to go. It's a bit bulky (and not the nicest IDE), but it is quite competent and gets the job done. Plus, there are the ADT (Android Development Tools) that allows for graphical management of your SDK targets, as well as an AVD editor for setting up different emulator environments and one-button access to DDMS.
(While this question may have been best posted in the general Android dev section, I don't see any reason why it's not development related and should be in general or Q&A.)
Click to expand...
Click to collapse
thanks rpcameron - we appreciate the info!
and vinnydakid why bother posting if it doesnt answer the question or provide direction. your comment just took up space...
sorry...double post...
rpcameron said:
If you're looking to do kernel hacking or just build a system, then all you need is the command line. All of the tools in the SDK are written to be used this way, but if you're going to be editing source files, you may want a decent text editor (I like TextMate). If you're uncomfortable with the command line, then you probably shouldn't doing that kind of development.
For applications themselves, Eclipse is probably the way to go. It's a bit bulky (and not the nicest IDE), but it is quite competent and gets the job done. Plus, there are the ADT (Android Development Tools) that allows for graphical management of your SDK targets, as well as an AVD editor for setting up different emulator environments and one-button access to DDMS.
(While this question may have been best posted in the general Android dev section, I don't see any reason why it's not development related and should be in general or Q&A.)
Click to expand...
Click to collapse
Thanks for this info.
I already use eclipe with the android plugin. That's how i was able to write the one click root apk.
But, ive tried a few rom kitchens. and they dont seem to work.
Also, Looking for a deox that will work on mac. For both APK/ROM.
Also, Looking to see how to build a kernel on a mac.
I think i need a working tool-chain to cross compile.
If someone can point me to it.
I haven't used it for android development yet, but xcode is an awesome application for programming on the mac. And best of all, not only is it free, but it ships on every osx install disc in the extras section.
Sent from my Vibrant using the XDA app.
Typos, incorrect words, gibberish, and other nonsense brought to you courtesy of Swype.
rhcp0112345 said:
Thanks for this info.
I already use eclipe with the android plugin. That's how i was able to write the one click root apk.
But, ive tried a few rom kitchens. and they dont seem to work.
Also, Looking for a deox that will work on mac. For both APK/ROM.
Also, Looking to see how to build a kernel on a mac.
I think i need a working tool-chain to cross compile.
If someone can point me to it.
Click to expand...
Click to collapse
To build a kernel from source on a mac, you're going to need to dual-boot linux (ubuntu seems to be very popular among devs) set up your dev environment and run a make (compile)
jroid said:
To build a kernel from source on a mac, you're going to need to dual-boot linux (ubuntu seems to be very popular among devs) set up your dev environment and run a make (compile)
Click to expand...
Click to collapse
I'm pretty certain that OS X can cross-compile Android's linux kernel. (I'm not 100% on this, but pretty certain. If it's not, a dual-boot is not necessary: I use a VM in VirtualBox.) However, if you're compiling Android sources (and AOSP), 10.6 is not presently supported (but it is possible, with work). Also, you need to use HFS+ with case-sensitivity—if your drive is not formatted for a case-sensitive filesystem, then building in a disk image is advisable.
Smali/baksmali both run on a Mac, so if you need to de-odex there is no problem there; but they are command line programs.
As far as a ROM kitchen: Call me crazy, because perhaps I'm in the minority here, but a "kitchen" is not really development in my eyes; it's putting a bunch of files into a zip file (which can be done on the command line, again), and perhaps editing a few text and/or XML files specific to the hardware.
In the end, other than ensuring your machine meets the requirements necessary to build the source (and you can find them at the source website, make sure to check the "Setting up your machine" section), the Mac already has all of the programs necessary. From what I've seen of most of Google's Android developers, many (if not most) use a Mac.
rpcameron said:
I'm pretty certain that OS X can cross-compile Android's linux kernel. (I'm not 100% on this, but pretty certain. If it's not, a dual-boot is not necessary: I use a VM in VirtualBox.) However, if you're compiling Android sources (and AOSP), 10.6 is not presently supported (but it is possible, with work). Also, you need to use HFS+ with case-sensitivity—if your drive is not formatted for a case-sensitive filesystem, then building in a disk image is advisable.
Smali/baksmali both run on a Mac, so if you need to de-odex there is no problem there; but they are command line programs.
As far as a ROM kitchen: Call me crazy, because perhaps I'm in the minority here, but a "kitchen" is not really development in my eyes; it's putting a bunch of files into a zip file (which can be done on the command line, again), and perhaps editing a few text and/or XML files specific to the hardware.
In the end, other than ensuring your machine meets the requirements necessary to build the source (and you can find them at the source website, make sure to check the "Setting up your machine" section), the Mac already has all of the programs necessary. From what I've seen of most of Google's Android developers, many (if not most) use a Mac.
Click to expand...
Click to collapse
At the moment MacOS 10.6 ("Snow Leopard") is not supported.
((((
well I meant vm when I said dual-boot. I'd recommend just to make a decent size partiton on your drive and install a linux distro. I'd rather make compiles on the full OS rather than compiling on a vm
I think im just going to wait for my netbook on WED. Macbooks only have 4G of ram. MAX. I hate VM'ing. slows everything down.
rpcameron said:
I'm pretty certain that OS X can cross-compile Android's linux kernel. (I'm not 100% on this, but pretty certain. If it's not, a dual-boot is not necessary: I use a VM in VirtualBox.)
Click to expand...
Click to collapse
After thinking on it a little, I realized the reason cross-compiling is an issue is only because of the processors, not because of OS X/xnu versus Linux. Cross-compiling is building for one processor on another—in this case, building for ARM on x86.
There really is no issue of OS X/xnu versus Linux because both are fully POSIX compliant; as long as the same build tools are used in the toolchain, the only issue is having an ARM toolchain running on x86. Don't know what I wasn't thinking clearly before, but there's the core of the matter.
Of course, the original caveats stand: building on 10.6 (Snow Leopard) is not supported, and the build cannot be done on a case-insensitive filesystem (which is the default for OS X). But git/repo and the rest of the build environment runs without a problem on 10.5, therefore there is no problem building Android/AOSP on a Mac. (Again, "cooking a ROM" is no problem regardless of your OS X version or filesystem, because nothing is really being built, only packaged.)
The kernel and even Eclair build even with Snow Leopard but you have to change some make files and fix some code. Google "android eclair 2.1 snow leopard" and you'll find a few links that tell you the changes needed. You also need to make some changes to build Eclair using the default Java 6 that comes with Snow Leopard - google it.
The toolchain for the kernel is Code Sourcery - both the 2009q4 and 2010q1 versions work. Also, you need to make sure that your disk is case-sensitive - or build a disk image that is case-sensitive and mount that, it is what I do. Again, google is your friend and there are some pages that tell you exactly what you need to do to set up the environment.
For development using the Android SDK, the installation page for the SDK tells you how to set it up on the Mac. You would use Eclipse for development. I tend to use emacs when in the Android code proper, while I use Eclipse for App development.
ROM kitchens - beats me. That's not development
-Atin
atinm said:
The kernel and even Eclair build even with Snow Leopard but you have to change some make files and fix some code. Google "android eclair 2.1 snow leopard" and you'll find a few links that tell you the changes needed. You also need to make some changes to build Eclair using the default Java 6 that comes with Snow Leopard - google it.
The toolchain for the kernel is Code Sourcery - both the 2009q4 and 2010q1 versions work. Also, you need to make sure that your disk is case-sensitive - or build a disk image that is case-sensitive and mount that, it is what I do. Again, google is your friend and there are some pages that tell you exactly what you need to do to set up the environment.
For development using the Android SDK, the installation page for the SDK tells you how to set it up on the Mac. You would use Eclipse for development. I tend to use emacs when in the Android code proper, while I use Eclipse for App development.
ROM kitchens - beats me. That's not development
-Atin
Click to expand...
Click to collapse
I read the 'thats what i do'
any chance you can share with me a pre-done version?
I really hate to go through all the work if its been done. (reinvent the wheel)
THANKS
rhcp0112345 said:
I read the 'thats what i do'
any chance you can share with me a pre-done version?
I really hate to go through all the work if its been done. (reinvent the wheel)
THANKS
Click to expand...
Click to collapse
I am assuming that you mean to build the kernel and eclair, not just do applications.
You will need to do *some* work if you want to build the kernel and eclair using Snow Leopard because you do have to set up your environment - read the http://source.android.com/source/download.html setting up your machine page to get that squared away and also install the code sourcery toolchain 2010q1 build. The changes in the eclair source are easy - use www.justinlee.sg/2010/06/22/compiling-android-2-1-eclair-source-on-mac-os-x-10-6-snow-leopard/ and follow the steps (there really are just two changes).
If you just want to build apps, then you don't need any of this and just need to install the SDK.

confused on how to build this libusb driver

I have found a libusb project which was ported to Android:
https://github.com/monaka/libusb-compat-android
It includes an Android.mk, and after being built I should have a binary from examples/lsusb.c
But, I'm not entirely sure of how to build this and where to begin? I can see this happening in two ways. One, is building this library in a standalone way. Am I to do this with the NDK?
Next, I imagine building it along with the application I am developing in Eclipse using the SDK, there must be some way to bundle this in.
Could anyone provide any guidance on this? I'm a bit confused. I've done all of my development thus far in the SDK and Eclipse.
hedpe said:
Am I to do this with the NDK?
Click to expand...
Click to collapse
Yes, you need NDK. Visit Android NDK for instruction on how to bundle NDK and your java code. JNI is the key.

[Q] [INFO]Need a wing to be taken under.

Ok XDA im fairly new to this but have a decent background with software and such. And i am looking for a bit of assistance on cooking/modding my own rom. and just wondering if you guys have any pointer? Thank you!
A few questions, mostly for others to help:
Do you have some sort of Linux distribution installed on your computer, such as Ubuntu? If you are, do you feel comfortable with terminal commands?
If not, do you run Windows or OS X? Would you be willing to install Ubuntu or something similar through alongside, or us Wubi if you would like to use it inside your current OS?
Are you planning on compiling AOSP, port from other phones, or base it on stock?
Are you going to be theming and/or optimizing?
Do you have a 32- or 64- bit-capable computer?
I'll post some links in a minute to what I use
Sent from my PC36100 using xda premium
i think paul at modaco may even have a kitchen available. that makes things easy.
lithid has a compiler for android <3.0, i believe. use your powers of google-fu
tropicalbrit said:
A few questions, mostly for others to help:
Do you have some sort of Linux distribution installed on your computer, such as Ubuntu? If you are, do you feel comfortable with terminal commands?
If not, do you run Windows or OS X? Would you be willing to install Ubuntu or something similar through alongside, or us Wubi if you would like to use it inside your current OS?
Are you planning on compiling AOSP, port from other phones, or base it on stock?
Are you going to be theming and/or optimizing?
Do you have a 32- or 64- bit-capable computer?
I'll post some links in a minute to what I use
Sent from my PC36100 using xda premium
Click to expand...
Click to collapse
I have a basic knowedge of commands. really basic. i run windows 7 on a 64 bit. and as for what i want to do? well im looking to learn it all. ive mostly been tinkering with sense roms. ive been using Team Nocturnals Shooter for E4G as my daily. good place to start?
Need Java JDK first: here
Definitely need ADB and Fastboot, great YouTube video by QBKing here
7-Zip and/or WinRAR. I have both, but I prefer 7-Zip. Get the 64-bit beta version here. WinRAR here too, get the 64-bit
UOT Kitchen for some theming here
Gimp, for theming
Notepad++ for editing text
Of course, a kitchen: Custom ROM Creator Studios here . Has many tools that you will need, including APK Tool and deodexing tools.
Great for Sense, "What You Know about Rosie?" And more by Tommy here
Chef Central for Android
so i followed the adb video to a t and it isnt workin?

Coding android apps in jython ?!

Is it possible to code android apps in jython using android studio? I am learning how to program and I read somewhere that Python specifically jython is a good start. Ultimately I want to make an android app but I need and ide and sdk that let me code for android in jython. Any suggestions?? Thanks in advance!
Sent from my iPhone using Tapatalk

Categories

Resources