There’s the cloud. Github is facebook for programmers.

Github is an unofficial, open source, android-based Github client App.

GithubApp

At present, the name is not good, welcome everyone to provide a message 🙂

The other

At first, I wrote this App as an example of a blog post. Later, I found that I also had some practical needs. For example, I often check Trending on Github to see the trend of technology and popular libraries.

In addition, I have always been deeply interested in the API that Github provides in full accordance with RESTful architecture. I think it has reference significance for API development, background architecture and client interface design, so I really want to know more about it.

So I wrote this App.

preview

Technical point

  1. Using MVP architecture

    Architecture should be an idea, not a fixed model. MVP, everyone might do it a little differently. For details, please check the related blog posts during the development process.

  2. Dagger2 dependency injection was introduced to decouple

    M-P-V use injection mode decoupling, stratification. For details, please check the related blog posts during the development process.

  3. RxJava + Retrofit + OkHttp asynchronous RESTful network request architecture

    • An asynchronous request
    • Network cache implementation
  4. Many mature wheels are used, such as Glide, ButterKnift, Looger, etc. Please check the third party library for details.

The function point

v0.1

  1. Daily Trending list, based on language, currently includes:
    • java
      • python
      • objective-c
      • swift
      • shell
      • html
  2. The list of the most stars for each major technology platform currently includes:
    • android
    • iOS
    • python
    • web
    • php
  3. Search the Repo by keyword, and you can select a language category.
  4. Log in using the Github account.
  5. Personal/user information display, including:
    • The basic information
    • The user’s Repos
    • Starred-mode users of Repos
    • The user’s Following list
    • A user’s followers list
  6. Repo details, including:
    • Warehouse basic information (name, introduction, author, Star number, language classification)
    • Contributors list
    • Forks list
    • Code display
    • Show the Readme
  7. Star/Unstar a Repo.
  8. Settings/About/Version
  9. Sharing features, ShareSDK integration (to be improved across platforms)
  10. Crash collection, integrated with Tencent Bugly.

The development process

MVP series

Including MVP architecture implementation, Dagger2 injection and RxJava + Retrofit + OkHttp network request architecture.

  1. MVP architecture implementation for Github client (1- Preparation)
  2. MVP architecture implementation of Github client (2- Build project framework)
  3. MVP architecture implementation of Github client (3- Feature implementation)
  4. MVP architecture implementation of Github client (4- join the network cache)

App Optimization series

  1. Background: How to optimize Android App?
  2. App optimized performance analysis tool
  3. The theoretical basis for improving your App startup speed through App optimization
  4. App optimization: A practical challenge to improve your App launch speed
  5. How to place the Layout of App optimization
  6. App optimization to make your App smooth
  7. App optimized memory analysis tool
  8. App optimization memory leakage how to solve
  9. App optimized durable battery
  10. How does App optimization make network requests efficient

Third-party libraries

Network related

  • Retrofit (including OkHttp)
  • OkHttp logging interceptor

Rx

  • RxJava
  • RxAndroid
  • RxBinding

Rapid development of

  • ButterKnift

injection

  • Dagger2

Image to load

  • Glide
  • glide-transformations

auxiliary

  • Logger

UI

  • BaseRecyclerViewAdapterHelper
  • BottomBar
  • spots-dialog
  • material
  • MaterialSearchView
  • RecyclerView-FlexibleDivider
  • FloatingActionButton
  • AppIntro
  • AndroidViewAnimations
  • PagerSlidingTabStrip
  • FlycoLabelView
  • Android-Iconics
  • highlightjs-android
  • MarkdownView-Android

The last

  1. This App doesn’t have a name yet, so you’re welcome to leave your name.
  2. The picture of the user guide interface has not been found, welcome to leave the picture.
  3. At present this is still a 0.1 version, the function is not perfect. Welcome to star, fork, PR, or make requests to make it better.

GithubApp

To contact me

Blog Github Simple book Gmail