views:

39216

answers:

8

I like the Android platform. Actually, with some friends, we even participate to the ADC with the Spoxt project.

But Java is not my favourite language at all. We are working on a S60 version and this platform has a nice Python API. Of course there is nothing official about Python on Android, but since Jython exists, does anybody know a way to let the snake and the robot work together ?

+2  A: 

Not at the moment and you would be lucky to get Jython to work soon. If you're planning to start your development now you would be better of with just sticking to Java for now on.

Ilya Kochetov
+10  A: 

You can use Jythonroid to do that. Note that the project is still in the beginning and for now you can access the shell from the screen.

nosklo
Sorry guy, the right answer has switched :-)
e-satis
+5  A: 

As a python lover and Android programmer, I am sad to say this is not really a good way to go. There's two problems.

One problem is that there is a lot more than just a programming language to the Android development tools. A lot of the Android graphics involve XML files to configure the display, similar to HTML. The built-in java objects are really integrated with this XML layout, and it's a lot easier than writing your own code to go from logic to bitmap.

The other problem is that the G1 (and probably other android devices for the near future) are really not that fast. 200 Mhz processors, and RAM is very limited. Even in Java you have to do a decent amount of rewriting-to-avoid-more-object-creation if you want to make your app perfectly smooth. Python is going to be too slow for a while still on mobile devices.

lacker
There is not a single java word on an Android phone, it's compiled to byte code during the packaging process. Speed is not the issue : Google could provide tools producing the right byte code from a python code (like for Jython). BTW, Dalvik is not the Java VM so this is not about Java VS Python.
e-satis
+6  A: 

I just posted some directions for cross compiling Python 2.4.5 for Android. It takes some patching, and not all modules are supported, but the basics are there.

Damon
+20  A: 

YES!

An example via Matt Cutts -- "here’s a barcode scanner written in six lines of Python code:

import android
droid = android.Android()
code = droid.scanBarcode()
isbn = int(code['result']['SCAN_RESULT'])
url = "http://books.google.com?q=%d" % isbn
droid.startActivity('android.intent.action.VIEW', url)
bvmou
the curly quotes fsck with the code parsing
lfaraone
s/YES/meh. maybe/ ...it's extremely limited. anything graphical or multi touch? a big NO.
gcb
+47  A: 

There is also the new ASE project, it looks awesome, and has some integration with native Android components. Android Scripting Environment

Heat Miser
+2  A: 

I would soo like to write python apps for Android!

And come on, many of the apps are really small, so there would be zero issue with speed on the new snapdragon and above processors in the future.

Look at that barcode scan example from above, there would never be a speed issue there. Nobody would start writing hard core 3D games with python today anyways.

But for small mobile apps, python would be great! Java - I just throw up at thinking about studying that language again. Also Python would be a great starting point for people who want to write apps for their phone, Java is DIFFICULT for the newbie.

I have some great plans for some apps, but I´d rather not do them if I have to sit down with Java again.

Mika
+1  A: 

Given the Oracle lawsuit, lets just lobby Google to replace Dalvik with Pylvik and be rid of Larry and the J2me, which I've seen called an overly verbose mess by people who gave impressive code examples...

I guess there's ASEand this 10-step instruction and this cool example and the SL4A Wiki

Tsais
I doubt they will invest in that. Going to HTML 5 apps with Offline mode and JS API to access the phone capabilities feels more like the way everybody's heading to.
e-satis