README.mdown

GreenDroid

GreenDroid is a development library for the Android platform. It is intended to make UI developments easier and consistent through your applications. A complete description is given on my personal blog. You can also take a tour to the GreenDroid website at http://greendroid.cyrilmottier.com!

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 :)

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:

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

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 based 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.xml and
replace the parent theme @android:style/Theme with your own theme.

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.

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!

Documentation

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: