GreenDroid


Source link: https://github.com/cyrilmottier/GreenDroid

#GreenDroid

Foreword : This project, initially initiated by me, Cyril Mottier, is not maintained anymore and can be considered as deprecated. As a consequence, it will not receive any new features nor fixes. Please keep that in mind and use it at your own risks.

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

A sample application can be downloaded on the Android 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, 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.
  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!

##Documentation

GreenDroid documentation is available online at http://greendroid.cyrilmottier.com.

##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 for complete installation instructions.

##Credits

Copyright © Cyril Mottier [email protected]

Resources

Android library for grabbing info from link using reactive way.

"Favor composition over inheritance" for ListView.

This library intends to help developers to parse QR text returned from any QR reader to an elegant form which you can display in a TextView.

This plugin add an inspection that check if Activity implements following method.

A small library containing two adapters which allow for easy fragment management with a NavigationView.

Custom view for user input that models horizontal wheel controller.

Topics


2D Engines   3D Engines   9-Patch   Action Bars   Activities   ADB   Advertisements   Analytics   Animations   ANR   AOP   API   APK   APT   Architecture   Audio   Autocomplete   Background Processing   Backward Compatibility   Badges   Bar Codes   Benchmarking   Bitmaps   Bluetooth   Blur Effects   Bread Crumbs   BRMS   Browser Extensions   Build Systems   Bundles   Buttons   Caching   Camera   Canvas   Cards   Carousels   Changelog   Checkboxes   Cloud Storages   Color Analysis   Color Pickers   Colors   Comet/Push   Compass Sensors   Conferences   Content Providers   Continuous Integration   Crash Reports   Credit Cards   Credits   CSV   Curl/Flip   Data Binding   Data Generators   Data Structures   Database   Database Browsers   Date &   Debugging   Decompilers   Deep Links   Dependency Injections   Design   Design Patterns   Dex   Dialogs   Distributed Computing   Distribution Platforms   Download Managers   Drawables   Emoji   Emulators   EPUB   Equalizers &   Event Buses   Exception Handling   Face Recognition   Feedback &   File System   File/Directory   Fingerprint   Floating Action   Fonts   Forms   Fragments   FRP   FSM   Functional Programming   Gamepads   Games   Geocaching   Gestures   GIF   Glow Pad   Gradle Plugins   Graphics   Grid Views   Highlighting   HTML   HTTP Mocking   Icons   IDE   IDE Plugins   Image Croppers   Image Loaders   Image Pickers   Image Processing   Image Views   Instrumentation   Intents   Job Schedulers   JSON   Keyboard   Kotlin   Layouts   Library Demos   List View   List Views   Localization   Location   Lock Patterns   Logcat   Logging   Mails   Maps   Markdown   Mathematics   Maven Plugins   MBaaS   Media   Menus   Messaging   MIME   Mobile Web   Native Image   Navigation   NDK   Networking   NFC   NoSQL   Number Pickers   OAuth   Object Mocking   OCR Engines   OpenGL   ORM   Other Pickers   Parallax List   Parcelables   Particle Systems   Password Inputs   PDF   Permissions   Physics Engines   Platforms   Plugin Frameworks   Preferences   Progress Indicators   ProGuard   Properties   Protocol Buffer   Pull To   Purchases   Push/Pull   QR Codes   Quick Return   Radio Buttons   Range Bars   Ratings   Recycler Views   Resources   REST   Ripple Effects   RSS   Screenshots   Scripting   Scroll Views   SDK   Search Inputs   Security   Sensors   Services   Showcase Views   Signatures   Sliding Panels   Snackbars   SOAP   Social Networks   Spannable   Spinners   Splash Screens   SSH   Static Analysis   Status Bars   Styling   SVG   System   Tags   Task Managers   TDD &   Template Engines   Testing   Testing Tools   Text Formatting   Text Views   Text Watchers   Text-to   Toasts   Toolkits For   Tools   Tooltips   Trainings   TV   Twitter   Updaters   USB   User Stories   Utils   Validation   Video   View Adapters   View Pagers   Views   Watch Face   Wearable Data   Wearables   Weather   Web Tools   Web Views   WebRTC   WebSockets   Wheel Widgets   Wi-Fi   Widgets   Windows   Wizards   XML   XMPP   YAML   ZIP Codes