Pro Android Python with SL4A is for programmers and hobbyists who want to write apps for Android devices without having to learn Java first. Paul Ferrill leads you from installing the Scripting Layer for Android (SL4A) to writing small scripts, to more complicated and interesting projects, and finally to uploading and packaging your programs to an Android device. Android runs scripts in many scripting languages, but Python, Lua, and Beanshell are particularly popular. Most programmers know more than one programming language, so that they have the best tool for whatever task they want to accomplish. Pro Android Python with SL4A explores the world of Android scripting by introducing you to the most important open-source programming languages that are available on Android-based hardware. Pro Android Python with SL4A starts by exploring the Android software development kit and then shows you how to set up an Eclipse-based Android development environment. You then approach the world of Android programming by using Beanshell, which runs on the Dalvik, and learning how to write small programs to administer an Android device. Next, discover how Lua, a lightweight language perfectly suited for scripting on smaller devices, can work with Android. Lua can be used for small but important tasks, like SMS encryption and synchronizing photos with flickr. Last, but certainly not least, you will discover the world of Python scripting for SL4A, and the power contained within the full range of Python modules that can combine with the Android SDK. You'll learn to write small location-aware apps to get you started, but by the end of this book, you'll find yourself writing fully GUI-fied applications running on the Android desktop! Pro Android Python with SL4A is rounded out with a chapter on distributing and packaging scripts, a skill that you'll find very useful as you reach out to a wider audience with your programs.
Author(s): Paul Ferrill
Publisher: Apress
Year: 2011
Language: English
Pages: 296
Contents at a Glance
Contents
About the Author
About the Technical Reviewer
Acknowledgments
Preface
Introduction
Why SL4A?
The World of Android
Android Application Anatomy
Activities
Intents
SL4A History
SL4A Architecture
SL4A Concepts
JavaScript Object Notation (JSON)
Events
Languages
Beanshell 2.0b4
Lua 5.1.4
Perl 5.10.1
PHP 5.3.3
Rhino 1.7R2
JRuby 1.4
Shell
Python
Summary
Getting Started
Installing SL4A on the Device
Installing the Android SDK
Linux
Mac OS X
Windows
Installing Python
Remotely Connecting to the Device
Device Settings
Executing Simple Programs
Summary
Navigating the Android SDK
Wading Through the SDK Documentation
Examining the Different SDK Components
Testing With the Android Emulator
Android Debug Bridge
Dalvik Debug Monitor Service (DDMS)
Summary
Developing with Eclipse
Installing Eclipse on a Development Machine
Eclipse Basics
Perspectives
Projects
Android Development Toolkit
Using Pydev
Using Multiple File Types in Eclipse
Summary
Exploring the Android API
Exploring the Android APIs
Android Facades
ActivityResultFacade
AndroidFacade
ApplicationManagerFacade
BatteryManagerFacade
BluetoothFacade
CameraFacade
CommonIntentsFacade
ContactsFacade
EventFacade
EyesFreeFacade
LocationFacade
MediaPlayerFacade
MediaRecorderFacade
PhoneFacade
PreferencesFacade
SensorManagerFacade
SettingsFacade
SignalStrengthFacade
SmsFacade
SpeechRecognitionFacade
TextToSpeechFacade
ToneGeneratorFacade
UiFacade
WakeLockFacade
WebCamFacade
WifiFacade
Summary
Background Scripting with Python
Background Tasks
Triggers
Orientation-based Actions
Location-based Actions
Time-based Actions
Elapsed Time-based Triggers
FTP File Sync Tool
Syncing Photos with Flickr
Syncing with Google Docs
A Startup Launcher
Summary
Python Scripting Utilities
Python Libraries
E-mail–Based Applications
Location-Aware Applications
Tweet My Location
Killing a Running App
URL File Retriever
Python FTP Server
Summary
Python Dialog Box–based GUIs
UI Basics
Book Title Search
Convenience Dialog Boxes
Progress Dialog Boxes
Modal versus Non–Modal Dialog Boxes
Options Menu
File Listing with dialogCreateAlert
Dialog Boxes as Python Objects
Podplayer App
Building the mysettings App
Summary
Python GUIs with HTML
HTML and Basic Information Display
HTML and JavaScript
HTML GUI Form Basics
Simple HTML Forms
Cascading Style Sheets
SMS Merger
Summary
Packaging and Distributing
QR Codes
Application Packages
Packaging Your Own Application
Building with Ant
Compiling SL4A
Finishing Touches
Winding Down
Summary
Index
A
B
C
D
E, F, G, H
I
J, K, L
M
N
O
P, Q
R
S, T
U, V, W, X, Y, Z