About

Featured

RADDroid is a tool for developers that generates sophisticated skeleton code for apps via a web-based interface. It’s a code generator, not an app generator in that it generates projects that can be imported into Eclipse.

RADroid creates Java rather than HTML/Javascript so you get native look and feel, a large range of available functionality ,  get to keep and extend the source code and there are no ties to RADDroid after code generation.

It’s plain Android Java. There’s no runtime, subscription or dependencies on a 3rd party web server that you get with many app generators.

RADDroid saves experienced developers days of boring cutting and pasting of existing code. It frees up time to do more interesting things. It can potentially save inexperienced Android developers weeks of experimentation and the web-based UI is designed to guide newcomers to Android terminology and idioms via context sensitive ‘information’ tooltips.

Completing an Application
RADDroid generates a large amount of code for commonly required scenarios. However, you will need to complete and extend the code to include program logic that implements your application’s main purpose. For example, in the case of included http functionality, you will need to configure the code to point to your server and interpret the response. You might also need to include any additional data, graphical assets and additional program specific error handing.

Using RADDroid
Using RADDroid is quick and simple. Everything is done via a point and click web interface with no coding. After filling in some basic settings, you can create a new project. You can then specify the comments that will appear at the top of every Java source code file. You create one or more activities (screens), one of which can be chosen to run at startup. Activities have methods (functions) that are automatically added whenever layouts (screen definitions) or menus are added. A large range of commonly used functionality can be quickly added to a method. Functionality added to a method, for example accessing a web server via http, can in some cases automatically generate new activity methods that are asynchronous callbacks when the (e.g web server response) functionality is complete. These new methods are then eligible to have functionality added to them. RADDroid does all this while also providing code to manage screen orientation changes (when the activity dies), long running functionality and app permissions. When you have completed your project you press the generate button that downloads the full project as a zip file. At all stages the project is saved as you go and you can come back to the project in the future. RADDroid projects can also be optionally password protected .

RADDroid Fee
Anyone can experiment with the RADDroid web UI and build up applications free of charge to get a feel for what’s provided. Code generation is provided for 24hrs, for the currently loaded project, after paying £10 (about €11 or $16) via Paypal. Additionally, VAT is also payable for users within the EEC (European Economic Community).

If you are a journalist, well known blogger, Google developer evangelist or involved in hardware OEM or operator developer engagement then please ask for an invite code that removes the need to pay.

Example Code
An example project is available for you to view typical generated code. This includes a test activity with an item list layout, http GET in OnCreate and three menu items to ‘Create’, ‘Modify’ and ‘Delete’.

About the Author
RADDroid has been created by Simon Judge. I am a freelance freelance mobile developer  in the United Kingdom working though my company Surerange Analysis Ltd. I have been developing for mobile since 1996. I run a blog on mobile development at mobilephonedevelopment.com .

Development Services

Development Services

Looking for an Android developer? Looking for someone to complete your RADDroid generated application?

The author of RADDroid can help get your app to market faster.  I am a cross platform mobile app developer in the United Kingdom. I have been developing for mobile since 1996 and have worked with entrepreneurs, small companies, public sector organisations and large companies such as Vodafone, Symbian and Sony Ericsson. I work through my own registered company Surerange Analysis Ltd.

I have apps on the Apple App Store, Nokia Ovi Store and Android Market. My apps on the Android Market have been particularly popular and have achieved over 180,000 downloads.

Please visit simonjudge.com  for more information.

Suggest

There are many ways RADDroid can be extended and improved. These include improving the generated code, making the web UI more asynchronous, extending the existing generated code to cope with more scenarios, adding new functionality in activity methods, additional screen layouts and more specific support for Android fragments and tablets. It’s even possible to add higher level functionality to create complete white label apps.

However, as with apps themselves, the best and most useful ideas for new features often come from users themselves rather than the developer. Please use the following form to suggest new features. While there’s no promise to answer or implement every suggestion, every one will be read and considered and used to help shape the future of RADDroid.

Functionality

RADDroid Functionality
General
Permissions     Missing permissions is one the main reasons why manually written code doesn’t initially run as expected. RADDroid automatically adds and removes permissions as functionality is added to the application so they are right first time and don’t need to be edited manually.
Imports     Imports are automatically added and removed as functionality is added and removed.
Long running tasks     Asynchronous tasks are automatically created for long running tasks, for example http server access so that they don’t block the UI thread and cause an Application Not Responding (ANR) dialog. Callback methods are created for long running tasks that can be configured to contain further functionality.
Data retention on orientation switch     Activity death and subsequent loss of state on an activity orientation change is a common problem for beginners. Activities (screens) are created with a mechanism to allow saving of state, including any long running asynchonous tasks.
TAGs for logging     All activities are automatically created with a ‘TAG’ for use in logging.
Code header comments     Optional common code header comments can be added to all generated .java files.
UI
Common layouts     Common, pre-created layouts such as list, imagelist, gallery, web and login can be added to an activity. Alternatively, an ‘empty’ layout can be used that can be filled in later in Eclipse. Pre-created layouts automatically create commonly used event handers, for example for clicking on a list, that can be configured to contain further functionality.
Menus     Menu items can be created. Menu listener methods are automatically created that can be configured to contain further functionality.
Dialogs     Commonly used alert, progress, date picker and time picker dialogs can be added to an activity. Their listener methods can contain further functionality.
Toast     Shows a toast message.
Full Screen     Sets activity to full screen
Switch Activity     Changes the current activity.
Web Functionality
Network Available     Detects whether a network is available and, if so, whether it’s WiFi or Mobile.
Http GET     Creates a Http GET in a chosen activity method, as an asynchrounous task, with a corresponding callback method.
Http POST     Creates a Http POST in a chosen activity method, as an asynchrounous task, with a corresponding callback method.
Open Browser     Opens the built-in browser to show a URL.
Data Manipulation
Parse XML     Parses XML.
Parse JSON     Parses JSON.
Encrypt/Decrypt     Encrypts and decrypts text using encryption type suitable for communicating to and from a server, for example, via php.
Time
Elapsed Time Timer     Starts and stops a timer to measure elapsed times.
Alarm     Triggers a method to be run in the future even if the app isn’t running.
Audio
Play Local Audio     Plays audio already on the phone, most likely packaged in the res/raw folder.
Play Remote Audio     Plays audio on a server. The file encoding must support progressive download.
Record Audio     Records audio to the SD Card
Clipboard
Copy     Sends text to clipboard
Paste     Retrieves text from the clipboard.
Location
GPS Position     Receives GPS location updates in a callback method that can contain further functionality. Easily modified to receive cellid or network based location updates.
Open Map     Opens a location in the built-in Map application. Includes comments how to change code to open directions in a web browser web page.
Contacts
Pick Contact     Allows the user to picks a contact and retrieves the name, address, phone numbers and email addresses. Only for Android 2.0 and later.
Camera
Take Photo     Allows the user to take a photo and passes a thumbnail bitmap back to the activity.
Power
Battery     Retrieves battery information such as level, voltage, temperature, technology, health and charge status.
Sensors
Sensor Exists     Detects if a particular sensor exists.
Accelerometer     Receives accelerometer data in a callback method that can contain further functionality.
Notification
Vibrate     Vibrates the phone for fixed time.
Status Bar Notification     Shows a status bar notification that starts the activity.
System
Get Android ID     Get’s the phone’s unique Android ID.
Telecoms
Send SMS     Sends an SMS message.
Send Email     Sends an email (non silently – user needs to send on via Email app).
Call number     Calls a telephone number.
Detect Call State     Detects idle, offhook and ringing dial state with incoming number. Detects outgoing call with outgoing number.
Get IMEI     Get’s the phone’s International Mobile Equipment Identity.