Android 3.0 Platform Preview and SDK Is Here
mikejuk writes "Google has released the Android 3.0 SDK, to allow developers time to create the apps that will run on the flood of tablet devices that should be availalble later in the year. The preview includes improved 2D and 3D graphics, new user interface controls, support for multicore processors, DRM and enterprise security features. It is complete with a 3.0 emulator that you can use to try applications on, but you can't add them to the app market just yet."
Not likely, and apart from various forms of trolls, there's no reason to.
You do not have a moral or legal right to do absolutely anything you want.
There is a reason to if it's likely that Oracle's lawsuits will be successful. If that came to pass, the handset manufacturers (or Google) would be required to pay Oracle. At that point it might be cheaper for them to use Windows Phone. Of course it may also drive the manufacturers to MeeGo as well.
Speculative future; oh hell yes, but there may be reasons for getting rid of Java.
http://developer.android.com/sdk/android-3.0-highlights.html
The enhancements including new/improved GUI controls and built-in animation support will make re-hosting features from iOS easier. There seems to be some confusion (possibly only in my mind) or overlap between Views, Widgets, Fragments, and Drawables as well as between Canvas and Paint. The whole framework seems disorganized or lacking consistent application of patterns, but I admit that I may just not see the forest for the trees.
Google might just end up making a new VM system, similar to what Microsoft did with .NET.
This might have some advantages. Perhaps language independence could be put in, so Java source code files can be used, but they would compile to the new VM format, similar to how Microsoft's J# compiled to .NET. This way, someone can use Java syntax, C++ syntax, heck, even a version of BASIC and still get the same bytecode coming out. Add JIT, and there would be little performance overhead.
Oracle doesn't seem to be doing much with Java anyway, so if Google made a VM system from scratch, perhaps it might be better overall in the long haul, especially if it was designed from the ground up for security, learning the mistakes Sun/Oracle made.
They're making a big deal about the new tablet features, but what does it add for phones? Will it even be released to phones? They don't even mention phones in their promo video. I hope they haven't forgotten about us...
I used to be the biggest supporter of Nokia's Maemo/MeeGo OS. Except for the N770, I owned every single Maemo device they released (N800, N810, N900) and I loved them. They were true pocket computers running full, unlocked versions of Debian.
I still own the N900, which at the time it came out, was miles ahead of anything else available on the market in terms of features, customization, and hardware. It was amazing to have full desktop (not mobile) skype connectivity built into the phone. Just connect to wifi or 3G and make calls to any other Skype computer or N900. Full (not web) browsing enabled by default. Flash 9 preinstalled. But it is almost a year and a half later, and in the meantime Nokia has not released any new Maemo/MeeGo hardware, and only 1 major update to the N900 firmware. Even that update only fixed minor bugs and added the QT libraries.
In the meantime, Android went through at least 3 major revisions, and there are a multitude of devices to fit any need and budget. And now it matches pretty much all the features that made the N900 special. The worst part? Nokia hasn't even announced ANY MeeGo devices, let alone released them. They may still do it, but I think it's too little too late.
Android has it's own VM system, and it's called Dalvik. It has language independence built in so Java source files can be used... they compile to DEX, the Dalvik bytecode format. It does JIT.
Please tell me that the above was (well-disguised) sarcasm.
That's cool and everything, but can we get the *current* Android version for our Nexus Ones please?
There are some ways to use other languages - the Mono project is pretty far along with getting C# working for Android, and you can write native C++ apps with the NDK (native development kit), but google strongly suggests not using the NDK just because you'd rather program in C++, as it is much easier to write bad programs in C++ than it is in Java (they suggest using the NDK when you're doing computationally intensive stuff like 3D games, or you have some game engine already written in C++).
For the most part, yeah, you just need to learn Java. But from what I've seen, its not really that bad. I've never more than toyed with Android development, but none of it looks very tough.
-Taylor
Worldwide Military budgets: $2100 billion. Worldwide Space Exploration budgets: $38 billion. Really, world? Really?
(Note: I'm the person who posted the first response too, but I wasn't logged in then so it came out as from anonymount).
If you want to do some custom drawing, then sure, you can start with a View and extend it to make your own Widget.
You can draw without a View, but only on bitmaps. Canvases from the screen come from Views. If you have a Drawable and you want it to appear on the screen, then the easiest way is to create any view you want and just make the background be that Drawable. This can all be done in XML in your layout resource file and it doesn't take a single line of Java code. It's very easy once you're used to it.
When I started out my biggest confusion was Activities, Apps, and Tasks. Those really mixed me up. But once I got used to them I found them very nice, it makes it easy to build modular apps that work together smoothly.
The 'Action Bar' isn't static, it's is customizable by the application
In what way is that not a menu bar as on a desktop. It's the very definition of a menu bar...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Don't be scared of learning Java on Android. It is the most pleasant experience I've ever had with Java. Basically, Google threw out all the onerous libraries and instead you're talking to the Android framework which is far simpler and easier to work with. A lot of the Java fear and loathing that you read about is based on the ridiculous stack of libraries and bloat that accompanies Java web stacks. Android has none of that.
With a tablet android version, they might finally have gotten me into android app development. I'm not sure exactly how this works, would I have to learn and use java or could I just use any language?
If you have an existing C/C++ codebase it is possible to hive parts of it off as a library (.so) and load it into your java code via JNI, but for the most part your user interface has to be written in Java and compiled into Dalvik bytecode.
As of Android 2.3 it is apparently possible to write the entire program in C/C++, using a special option in the manifest file and an Android-specific entrypoint. 2.3 also adds event hooks to help with getting input, but AFAIK there is still no way to get at the user interface. You can, however, do OpenGL (probably OpenGL SE, but not sure) and roll your own, but that's generally most useful for games and things rather than, say, a text editor (which Android could use a few more of).
There are a few gotchas when using the Native Development Kit - it's got most of POSIX but not everything. pthreads is a little iffy in places and it doesn't support unicode properly (Android doesn't use Unicode, it does something else).
For example, passing a unicode string between C and C++ modules will cause a bus error, because unicode is 32 bits in C++, and 8 bits in C which caused a lot of head-scratching at first.
From the video
at 0:19
Attila Bodis 12/21/2010
CONFIDENTIAL: Death ray hardware rev 2.0
- Hi Mike, Please don't share; this is just a [cut off]
Someday we'll hit the human carrying capacity. And the band will just play on.
Google might just end up making a new VM system, similar to what Microsoft did with .NET.
How would that be different though? MS still pay royalties to Oracle (initially to Sun) for patents used in the .Net system. If Google loses the case with Oracle over Java they will end up paying royalties just like MS does now.
Google did a bang up job kneecapping open source efforts in the mobile space, convincing the community to chase after an environment that discarded pretty much every existing open source tool in the name of NIH and withholds new versions from the community until their partners are done getting their releases out with it.
Then they sit back and have the nerve to tell us that Android is "open" while users are forced to jailbreak and deal with vendors that try to cripple devices so they can leverage later versions as a selling point for the next carrier contract.
I hope that MeeGo takes off with non-asshole hardware vendors, if not the we might as well right off the mobile computing space as being property of Microsoft, Apple, and Google.
Scala, Python, Ruby, Closure, Groovy and a few more.
Dilbert RSS feed
I think android is moving to fast. In the last year we saw 2.1, 2.2, 2.3 and now 3.0. I think they need to scale back to annual releases because phone makers don't or can't keep up and then people end up upset because they are not on the latest version of the OS. Also not everyone wants to root their phone and install some cyanogenmod version or other hacked version. I'm not saying that there is anything wrong with people doing that, but the average phone user wants to buy a phone that will not be out of date in 6 months. I also realize that not all android phones suffer this, but there are many that came out with 1.x last year and still have not been upgraded to 2.x and many wont see 2.3. When apps stop coding to the 1.5 version and 1.6 version as many are doing that makes a phone that is less than a year old outdated and then upsets customers. If you are on a 2 year contract then you screwed after 6 months, you will probably not be doing an android phone again and now that iphones will run on verizon this could be trouble for android.
Only 'flamers' flame!
Oracle's lawsuit is because Google created their own VM system rather than copying the JVM. Oracle believes that any VM system that infringes on their patents (basically any VM system more modern and efficient than the UCSD p-System) should either be compatible with the J2SE specification, or should be licensed with Oracle getting paid out of the deal.
You are not alone. This is not normal. None of this is normal.