GreenDroid is a development library for the Android platform. It is intented to make UI developments easier and consistent through your applications. A complete description is given on my personal blog.
Keep in mind this is still a work in progress. There are thousands of things to do and I hope I'll have enough time to develop all of the features I have in mind :)
A sample application can be downloaded on the Android Market
Feel free to contact me for any question related to GreenDroid: bug report, questions about the library, etc. I don't have time to provide personal support but I'll try to look at bug reports and important talks about the GreenDroid philosophy.
Using GreenDroid in your projects
Note : The previous
greendroid.py method has been removed from the library. Indeed, this Python script was perfectly functional but wasn't user-friendly (especially for Windows users). Creating libraries for Android is now handled by the ADT plugin.
In order to use GreenDroid you have to do the following steps:
Download the GreenDroid library on your computer with a simple:
git clone http://github.com/cyrilmottier/GreenDroid.git. As usual, Git will clone the GreenDroid repository and create a folder GreenDroid that contains a 3 folders:
- GreenDroid: the core library. This is the code that will be mostly linked to your code
- GreenDroid-GoogleAPIs: GreenDroid's extension including Google APIs related features (GDMapActivity for instance)
- GDCatalog: the demonstration application. This project contains a lot of snippet of code showing you how to use GreenDroid.
Since May 2010, the ADT plugin added an amazing new feature: the ability to work with library projects. Using GreenDroid consists on applying the GreenDroid project as a library to your application. A complete description on how to use library projects is given on the Android documentation website. Make sure your development environment uses the latest tools and platforms, since older releases of the tools and platforms do not support building with library project.
- In case you want to use some Google APIs features, make sure you are using the GreenDroid-GoogleAPIs library. GreenDroid-GoogleAPIs is base on GreenDroid. As a result, you don't need to link GreenDroid as an Android library to your project.
By default, the GreenDroid theme inherits from
@android:style/Theme. If your project inherits from a different theme, you'll have to modify the GreenDroid library on your own (and do that everytime you are updating GreenDroid as updating deletes all of your changes - still working on a way to overcome that problem). Open the
res/values/gd_themes.xmland replace the parent theme
@android:style/Themewith your own theme.
A lot of GreenDroid's feature (
GDTabActivityfor instance) requires your application to be a
GDApplicationso make sure your application is a
GDApplicationclass. In order to do that, simply add
greendroid.app.GDApplicationmay be replaced by your own class that inherits from
GDApplication) in the application tag of your
You finally need to make your project use the GreenDroid base theme. In your
AndroidManifest.xml, go to the application tag and add
android:theme="@style/Theme.GreenDroid"as a new attribute.
Using the GDCatalog application
The GreenDroid project includes a demo projet called GDCatalog. This project shows some of the GreenDroid's features. I strongly encourage you to look at it as it's a great way to apprehend the library and understand how to use it in a correct manner.
GDCatalog obviously uses the GreenDroid library. As a result, it won't build until GreenDroid has been applied to it. If your IDE is up-to-date you'll have nothing particular to do. Simply press the "Play" button!
GreenDroid has been designed for Android 1.6 and greater. It may work on Android 1.5 but I don't want to provide support for this platform as it's way too old ... It has been developed using the following software:
- Eclipse IDE 3.6
- Android SDK 4 (android-4)
- Android Development Tools (ADT) 8.0.1
Go the Android Developers website for complete installation instructions.
Copyright © Cyril Mottier firstname.lastname@example.org