You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tasks/greendroid/README.mdown

78 lines
5.9 KiB
Markdown

#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 <cyril@cyrilmottier.com>
[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