AndroidBlueprints
AndroidBlueprints copied to clipboard
Playground for widgets, services, new frameworks and new features.
Android Blueprints
My architect experience and passion for Android into this project to simplify the creation of a new App for Android. Instead of configuring everything from scratch we can just import or take inspiration from the features of this project.
Computer Science is experimentation, automation and engineering (...).
So, this App is also a playground to experiment new frameworks and new features.
Features
Note: All features are under deep analysis with continuous development; Features will be added step by step.
- Ready to use gradle files with GrabVer versioning.
- Build variants and flavors: Debug, Offline and Release, to test please use Offline.
- Adaptive Icon with API compatibility.
- A real splash screen
- Architectures: - On going
- Clean Architecture
- Android Architecture Components
- LifecycleOwner and LifecycleObserver
- RxAndroid
- Persistence: - On going
- Timber for logging.
- Common, Utils and Helper classes. - On going
- Material Design. - On going
- Styles and Theme with DayNight. - On going
- Preferences. - On going
Not started:
- Gradle scripts for Bintray.
- Architectures:
- Adapter for RecyclerView.
- Various UI Widgets from community / Devlight.
- Animations and Activity transitions.
- Constraints Layouts / Litho.
- Glide for image loading and caching.
- Best drawer from community.
- About & ReleaseNote libraries.
- Persistence:
- View Injector: ButterKnife.
- Dependency injector: Dagger / Toothpick.
- Authentication (Firebase Auth / JWT / OAuth2 / Social Networks).
- Custom Annotation and Annotation Processor.
- Encryption.
- Google Maps.
- Firebase Messaging with Notification manager!
- App analyzer with crash notification: Analytics / Fabric.
- Beacons / Bluetooth / NFC.
- Espresso for UI tests.
- Robolectric for framework specific unit tests.
- Mockito.
- Continuous Integration.
- Checkstyle and Findbugs for code analysis.
Contributions
Everybody is welcome to improve existing solutions, to experiment basic and specific features.
License
Copyright 2017 Davide Steduto
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.