#GreenDroid 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][personal_blog]. [![](http://lh4.ggpht.com/_OHO4y8YcQbs/TQFWEpSo-UI/AAAAAAAAMpc/DzAbSkhOx3I/s800/greendroid_logo.png)](http://lh4.ggpht.com/_OHO4y8YcQbs/TQFWEpSo-UI/AAAAAAAAMpc/DzAbSkhOx3I/s800/greendroid_logo.png) 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 :) [![](http://lh4.ggpht.com/_OHO4y8YcQbs/TQFQZTft6OI/AAAAAAAAMpY/hAloaii6kRA/s288/gd7.png)](http://lh4.ggpht.com/_OHO4y8YcQbs/TQFQZTft6OI/AAAAAAAAMpY/hAloaii6kRA/s800/gd7.png) [![](http://lh5.ggpht.com/_OHO4y8YcQbs/TQFQZWFmWII/AAAAAAAAMpU/MDUQi5mW60o/s288/gd6.png)](http://lh5.ggpht.com/_OHO4y8YcQbs/TQFQZWFmWII/AAAAAAAAMpU/MDUQi5mW60o/s800/gd6.png) [![](http://lh4.ggpht.com/_OHO4y8YcQbs/TQFQSXwRv1I/AAAAAAAAMpA/f2XR1qr1KfI/s288/gd1.png)](http://lh4.ggpht.com/_OHO4y8YcQbs/TQFQSXwRv1I/AAAAAAAAMpA/f2XR1qr1KfI/s800/gd1.png) [![](http://lh6.ggpht.com/_OHO4y8YcQbs/TQFQTfazM2I/AAAAAAAAMpQ/lgPpIKImdZw/s288/gd5.png)](http://lh6.ggpht.com/_OHO4y8YcQbs/TQFQTfazM2I/AAAAAAAAMpQ/lgPpIKImdZw/s800/gd5.png) [![](http://lh3.ggpht.com/_OHO4y8YcQbs/TQFQS5hyrKI/AAAAAAAAMpM/4hqL9y_tVgM/s288/gd4.png)](http://lh3.ggpht.com/_OHO4y8YcQbs/TQFQS5hyrKI/AAAAAAAAMpM/4hqL9y_tVgM/s800/gd4.png) A sample application can be downloaded on the [Android Market][gd_catalog_market] ##Contacts 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: 1. 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. 2. Since [May 2010][adt_history], 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][library_project_doc]. 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. 3. 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.xml` and replace the parent theme `@android:style/Theme` with your own theme. 4. A lot of GreenDroid's feature (`GDActivity`, `GDListActivity` or `GDTabActivity` for instance) requires your application to be a `GDApplication` so make sure your application is a `GDApplication` class. In order to do that, simply add `android:name="greendroid.app.GDApplication` (where `greendroid.app.GDApplication` may be replaced by your own class that inherits from `GDApplication`) in the application tag of your `AndroidManifest.xml`. 5. 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! ##Software Requirements 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][android_developers_website] for complete installation instructions. ##Credits Copyright © Cyril Mottier [android_developers_website]: http://d.android.com/sdk/installing.html [personal_blog]: http://android.cyrilmottier.com/?p=240 [adt_history]: http://d.android.com/sdk/eclipse-adt.html#notes [library_project_doc]: http://d.android.com/guide/developing/eclipse-adt.html#libraryProject [gd_catalog_market]: http://market.android.com/details?id=com.cyrilmottier.android.gdcatalog