Android is getting popular among mobile users very rapidly, and the fact that Android’s user base is increasing the demand for more usable applications on Android is increasing too. The demand for more applications is causing more and more developers to get into Android development, unfortunately until now the only way to develop for Android was to develop in Java.
But thanks to Google that one of their employee has come up with a solution that allows not only Python programmers but Perl, lua and bash programmers to develop on Android. The new project that has come out from Google is called SL4A and it allows you to use Python to develop for Android. You can get to know more about SL4A from the home page of the project on Google Code. This article tells you the exact steps you can take to setup Android SDK, Install SL4a and Python for Android and then Write your first Android Application in Python and run it.
Setup Android SDK and Android Virtual Device.
First you will have to download latest Android SDK from Google and setup your Android Virtual Device. If you like you can directly develop your Android application on your phone device. Skip to “Installing SL4A and Python for Android” if you want to directly develop on your phone.
1. Download Android SDK. For Linux download the tar ball and for Windows download the executable (recommended).
2. Install the SDK. You might also want to read the Installing the SDK document on Android’s developer site.
Extract the tarball in any directory of your choice.
Run the executable to install the Android SDK.
3. Go into the “tools” directory inside the extracted or installed directory.
4. Run the “android” executable.
Double click the executable to run it.
5. The android executable will start the Android SDK and AVDManager.
6. Click on the Create New AVD to setup the new AVD for your Android application development.
7. When the new AVD is created, select it and click on Start. You will see a Android device emulator screen and an Android Logo, the Android OS is booting, you will have to wait for some time. After some time you will get a fully loaded Android OS on your Android emulator to develop and test your Android Application.
Installing SL4A and Python for Android
Scripting Layer For Android is the main Android Application you need to be able to run your Python applications on Android, so first you need to install SL4A on either your Android emulator or on the real Android device in case if you are going to do the development directly on your device. Follow the steps below to install the SL4A on your Android.
1. Open Android Browser and browse to the SL4A home page: http://code.google.com/p/android-scripting/.
2. Tap on the QR code icon (the big square box) to download the SL4A application.
3. Tap on the download notification to install the app.
4. Once the installation is complete tap OK and then go back to SL4A home page on your Android Browser.
5. Tap on Python for Android in the Featured Downloads section to download Python for Android.
6. Tap on the download notification to install Python for Android.
7. Once the Installation is complete go to SL4A application which is located under your applications menu. You will see some python scripts that got Installed along with Python for Android.
8. Tap the test.py, a menu will popup.
9. Tap the second icon from left. The test.py script will execute and will demonstrate some of the possibilities of the SL4A API available for your Python programs.
Note: The most left icon is to run the application in terminal, the second from left is to run the application normally, the third from left is to edit the script, the fourth from left to rename the script and the last one from left is to delete the script.
Writing the First Android Application in Python
Now that our Android is ready and you have already tested that everything is working fine, its time to write your first Python application. You will write a very simplest version of hello world, this application will ask your name and then it will greet you. Thats it.
1. Copy the following code to greet_app.py on your computer.
import android app = android.Android() name = app.dialogGetInput("Enter your name:", "Please enter your name: ").result app.dialogDismiss() app.dialogCreateAlert("Greetings!!!", "Hello %s, how are you?" % name) app.dialogSetPositiveButtonText('OK') app.dialogShow() app.dialogGetResponse().result app.dialogDismiss()
2. Goto “platform-tools” directory which is found under the Android SDK directory.
3. Copy (push) the greet_app.py to your Android by running the following command.
$ ./adb push /sdcard/sl4a/scripts/
4. Press the menu button on your Android device or Android emulator, and tap Refresh.
5. greet_app.py will appear in the script listing, tap the greet_app.py script.
6. The SL4A run menu will appear, click the second icon from left.
7. A popup will appear asking you for your name, enter your name and click OK.
8. Another popup will appear with a greeting message for you.
Congratulations!!! You are done here. Its now up to you how you make use of the Android API available via SL4A. Best of luck.
You should subscribe to the feed to stay updated about the next article that will describe how you can build a stand alone .APK application from your Python script.