All Projects → tonyjs → Hibiscus

tonyjs / Hibiscus

Licence: other
Hibiscus, mobile microblogging application.

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Hibiscus

Fountain
Android Kotlin paged endpoints made easy
Stars: ✭ 175 (+1150%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
Awesome Wanandroid
⚡致力于打造一款极致体验的 http://www.wanandroid.com/ 客户端,知识和美是可以并存的哦QAQn(*≧▽≦*)n
Stars: ✭ 2,525 (+17935.71%)
Mutual labels:  dagger2, glide, rxjava2, retrofit2
searchi
Demo of PagedListAdapter, PageKeyedDataSource, LiveData, ViewModel in Kotlin
Stars: ✭ 13 (-7.14%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
BakingApp
Udacity Android Developer Nanodegree, project 2.
Stars: ✭ 54 (+285.71%)
Mutual labels:  dagger2, glide, rxjava2, retrofit2
Retrokotlin
Simple Android app to show how unit testing with MockWebServer and Architecture Components (ViewModel + LiveData)
Stars: ✭ 55 (+292.86%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (+250%)
Mutual labels:  dagger2, glide, rxjava2, retrofit2
Pursuit-Core-Android
Pursuit Core Android
Stars: ✭ 45 (+221.43%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (+2628.57%)
Mutual labels:  glide, rxjava2, retrofit2, livedata
Base Mvvm
App built to showcase basic Android View components like ViewPager, RecyclerView(homogeneous and heterogeneous items), NavigationDrawer, Animated Vector Drawables, Collapsing Toolbar Layout etc. housed in a MVVM architecture
Stars: ✭ 18 (+28.57%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
Mvvmarms
Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Stars: ✭ 425 (+2935.71%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
GithubApp-android-architecture
Let's learn a deep look at the Android architecture
Stars: ✭ 16 (+14.29%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
Rxapp
Stars: ✭ 108 (+671.43%)
Mutual labels:  dagger2, glide, rxjava2, retrofit2
Kotlin-MVVM-JetPack
[DEPRECATED. USE https://github.com/egek92/Kotlin-MVVM-Jetpack-Hilt-Coroutines-Flow] Clean Android architecture guidelines that are based on MVVM + Offline 1st approach with LiveData and Room
Stars: ✭ 73 (+421.43%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
Android-Mvi-Starter
Android MVI Starter application
Stars: ✭ 19 (+35.71%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
AndroidCleanArchitecture
Android Project with clean android architecture contain Dagger, Retrofit, Retrofit, Android archtecture components, LiveData with MVVM architecture
Stars: ✭ 22 (+57.14%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
News Sample App
A sample news app which demonstrates clean architecture and best practices for developing android app
Stars: ✭ 334 (+2285.71%)
Mutual labels:  dagger2, rxjava2, retrofit2, livedata
MockAppMVVM
A sample app structure using the MVVM architecture using Retrofit, Dagger2, LiveData, RxJava, ViewModel and Room.
Stars: ✭ 14 (+0%)
Mutual labels:  glide, rxjava2, retrofit2, livedata
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (+2828.57%)
Mutual labels:  dagger2, glide, retrofit2, livedata
Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (+614.29%)
Mutual labels:  dagger2, glide, rxjava2, retrofit2
Wanandroid
WanAndroid客户端,项目基于 Material Design + MVP +dagger2 + RxJava + Retrofit + Glide + greendao 等架构进行设计实现,极力打造一款 优秀的玩Android https://www.wanandroid.com 客户端,是一个不错的Android应用开发学习参考项目
Stars: ✭ 223 (+1492.86%)
Mutual labels:  dagger2, glide, rxjava2, retrofit2

Hibiscus

Hibiscus, simplified mobile blog application. GooglePlay

This repo is using MVVM(without Databinding), Rxjava2, Requery(orm), Retrofit2, Dagger2, Glide, anko and etc.

Image1 Image2 Image3 Image4 Image5

Designing the app. MVVM

Repository - Create, Read, Update, Delete the Model(representative the Application).
  • LocalRepository : deal with Data which provided by Database, ContentProvider, Preferences and etc without networking.
  • RemoteRepository : deal with Data which provided by Networking.
ViewModel - communication between Ui and Data layer.
  • UserViewModel : deal with User data.(nickname and token. the token will be taken into Telegraph Api)
  • PostViewModel : deal with Post data.(title, created time and any texts, images)
Application structure
  • MainActivity : the one and only activity for this application.
  • PostListFragment : show the posts.
  • CreatePostFragment : show users to create posts.
  • PhotoListFragment : show users photo list from ContentProvider.
Dependency Injection - using Dagger 2
  • AppModule : provide classes from Application(Context, Resources, ContentResolver).
  • DatabaseModule : provide Database(using Requery)
  • NetworkModule : provide the class which can networking(using Retrofit2).
  • MapperModule : provide mapper classes. Mapper classs make the Model from the source.
    • ~Entity : from the Local(Database, ContentProvider, Preferences). eg. PostEntity
    • ~DTO : from the Remote. eg. UserDTO
  • RepositoryModule : provide Repository classes. eg. PostLocalRepository
  • DataComponent : wrap all classes from Modules. and used for injecting.
Flow

if the application does not contains any data, chat-bot-styled guide shows how to. When the user types the nickname and confirm, it tries to retrieve token from Telegraph using nickname, and then guides user to create a post. After the guide, user can create the post, and read the posts after he or she uploads the post.

Todo features

Edit the post. Export the post into Telegraph so that user can share the link. Add filter elements, like date and tags, etc. Available to zoom image.

License

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].