We’re currently developing our next Android template which we think will be the most powerful multipurpose app template for the Android platform. It’s designed to be developer- and user-friendly. It’s easily customizable and extensible to build many kinds of real-world apps.
See the demo video or download the [download id=”1423″].
You can create complex apps, by simply using and customizing a set of pre-created module, which we call “applets“, or ones that you created yourself, as building blocks. Applet is basically a collection of screens (fragments), that together can be used to achieve certain use case.
If you have active Developer Membership, you can have early access to the template. Just download the template from your members area. Please send us your feedback, bug reports, or any suggestions or feature requests, so we can build this template to fit your needs. Thanks.
- Android Studio: latest version
- Android SDK: API level 15+ (v 4.0.3+, Ice Cream Sandwich )
- Android Support Library: support-v4, appcompat-v7, design-library, etc.
- DroidUX Library: core-3.0.6+, actiondrawer-3.1.3+, gallery-3.1.1+
- Simple Model-View-Presenter framework for clear separation of UI and business logic.
- Reactive programming for concurrency, background tasks, and responsiveness.
- Mix and Match of applets as building blocks to easily build a complex app from pre-created applet (or create your own).
- Material Design using the official Design library.
- Build with solid and robust libraries used in many real-world high quality apps.
- Clean code and best practices for easy customization and extensibility.
Libraries and Integration
- Android Support AppCompat Library
- Android Support Design Library
- Android Support Annotation Library
- Android Support Multidex Library
- Dagger2 for dependency injection.
- RxAndroid for reactive/async programming.
- GreenRobot EventBus for event messaging.
- Retrofit for Api calls.
- Glide for efficient image loading.
- ButterKnife for view injection.
- Icepick for state persistence.
- FragmentArgs for fragment arguments injection.
- Google Play Services: maps, analytics, ads.
- Google Api Client: youtube api.
- Mobile Ads SDK for apps monetization.
- and others…
- Import the template project into Android Studio.
- Copy the latest version of DroidUX Core library .JAR into the app’s
- Copy the latest version of DroidUX ActionDrawer and GalleryFlow .AAR files into the app’s
- Set your valid DroidUX license key in the
- Replace the Google Analytics configuration file
google-service.json(under your app’s root folder) with your own configuration. For more information on how to get your app-specific analytics configuration, please visit Google Analytics developer site.
- Update the API keys defined in the
res/values/api_keys.xmlfile. This template uses various services that require the use of API keys for authentication, such as Google Maps, YouTube Data API, Mobile Ads, etc. The
api_keys.xmlfile contains all API keys of the services used in this template. To change the API keys with your own, you can follow the appropriate links provided in the
- Build and Run the template project.
Customizing The Template
To customize the template and create your unique app, follow these simple steps:
- Create the main navigation menu resource. This navigation menu will be your main app navigation and will be displayed inside the navigation drawer using the
NavigationViewfrom the Support Design Library. See for example the
res/menu/app_navigation.xml. You need to set this menu as your main navigation via the
AppNavigation.javaclass. See next step.
- Open the
AppNavigationand change it to return your main navigation menu, menu header, and “home” menu id. For the “screen list” see next step.
- Create a list of screens that map your menu items to the appropriate screen of the applets you want to use as part of your application. Return the list from the
getScreenList()method. You can use e.g.
MediaAppletand many more to come.
- That’s it.
- To rename the template’s package, please follow your preferred instruction as suggested in this post: Android Studio Rename Package
- Make sure that any references to the old package are updated to the new name in the Proguard configuration file: