AndCollectiom / RapidAndroidFramework

Abstract, easy, quick, flexible and extendable Rapid Android development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rapid Android Development Template

  • master: Build Status

  • Published in: Android Arsenal

Tools

Android Studio 1.x and Gradle 2.x

IDE Tools

Libraries

3rd Parties Social (as gradle imports)

  • Facebook SDK
  • Twitter SDK by Fabric
  • Crashlytics SDK by Fabric

Note: You can change the keys into api_keys.xml. For Crashlytics you can change it into AndroidManifest.xml. There is a SocialManager class to use for social actions.

Check the documentation

Testing

  • Robolectric for unit testing
  • JaCoCo coverage testing
  • Shell scripts to run tests fast. Check scripts folder.
  • CircleCI continuous integration server
  • Calabash (SOON)

Proguard

  • Proguard enable for LIVE, UAT environments to minify the build

Gradle

  • Gradle configuration for multi-environment support

Environment Manager

  • Multi-environment support (LIVE, UAT, STAGING)
  • Assigns dynamically environment for the current build
  • Assigns dynamically the API URL for the current build
  • Assigns dynamically the API logging level for the current build
  • Assigns dynamically the logging level for the current build
  • Decides if the app according to the environment can track in analytics
  • Decides if the app according to the environment can receive notifications
  • Decides if the app according to the environment can track bugs in crashlytics

API Managers

  • OkHttpClient support to make the HTTP requests for API
  • AbstractApiManager with Retrofit based on the Environment manager API URL
  • FULL/NONE logging for API based on the Environment manager LOGLEVEL of API
  • AbstractAsyncTask which produces events in a public BUS
  • Event Base architecture with Otto for each response after an AbstractAsyncTask
  • Access to API methods via Reflection. The only thing you must set up is the ApiRequestAttrs. Example in wiki

Activities

  • Dagger for dependency injection
  • ButterKnife views injection to use this -> @InjectView(R.id.btnTest) to minimize and remove the old (Button) findViewById(R.id.btnTest)
  • Each Activity/FragmentActivity registered to listen the Event BUS
  • Customizable/Overridable action bar for each Activity/FragmentActivity
  • AbstractFragmentActivity to extended by each Fragment activity and it can contains the fragment you want. You must implement only the createFragment method
  • BaseFragment to be extended by each fragment as generic fragment

Google Analytics

  • Support for google analytics track events and pageviews. Use AnalyticsManager

About

Abstract, easy, quick, flexible and extendable Rapid Android development


Languages

Language:Java 99.8%Language:Shell 0.2%