As an Android dish, it is necessary to always look at the big guys’ open source projects. Here I have collected 10 excellent open source projects for you to learn from in your daily development!

Author: ListenToCode blog: www.jianshu.com/p/9742ce36b…

KnowWeather

GitHub github.com/SilenceDut/…)

An Android open-source weather App, including weather information, details and life index, the notification bar, desktop widget, regularly updated weather, etc., application no advertising, support county, district, city of the weather, the original: www.diycode.cc/projects/Si…

  • The overall framework

    According to the actual project introduction to the framework to build an Android project (https://silencedut.github.io/2016/12/05/ according to the practical projects introduction to the Android framework of building /)Copy the code
  • about

    Know the weather, the weather is in control of all (https://silencedut.github.io/2016/12/06/ to know the weather, the weather is in control of all /)Copy the code
  • The characteristics of

    Supports county-level and district-level weather. The polling system periodically updates the weather, realizing the permanent notification bar in systems (such as Meizu system) that are highly customized and stringent on background tasks, and the polling system runs normally. Many weather apps with tens of millions of downloads can't do this without ads and forced live-pullingCopy the code

FolioReader-Android

Making address github.com/FolioReader…

An Android open source ebook reading App (ePub),

The original:

www.diycode.cc/projects/Fo…

rendering

Gradle

Add following dependency to your app build.gradle

The compile 'com. Folioreader: folioreader: 0.2.3'Copy the code

NBAPlus

Making address github.com/SilenceDut/…

An Android open source NBA information and game information platform App

rendering

The characteristics of

  • A concrete practice that follows Android development best practices
  • The use of Retrofit2.0 + RxJava + EventBus + GreenDao
  • The code structure is clear, extensible and easy to reuse to other projects
  • Combine with NBAPlus Server to learn background development knowledge and interface design
  • Dynamic Blur effect.

about

NBA information and game information platform. Comprehensive, convenient and fast access to news, game data. No advertising, push information, no background resident, small space occupation. The Web background section is here:

NBAPlus Server

(github.com/SilenceDut/…).

MyDiary

Making address github.com/DaxiaK/MyDi…

Android open source App: Your Name

www.diycode.cc/projects/er…

rendering

Jane poem

Making address github.com/wingjay/jia…

An elegant Chinese wind records app, including the Android client and Server side, the original: www.diycode.cc/projects/wi…

Related blog

How to create a Cool Android product in one day

(www.jianshu.com/p/cf496fc40)…

banya

GitHub address (github.com/forezp/bany…)

An open source project based on Douban API imitation NetEase cloud music. Original: www.diycode.cc/projects/fo…

Project Introduction:

  • The overall style of material design is adopted. I am a fan of NetEase Cloud Music, so the interface imitates web cloud music. In addition, new controls after 5.0 are used as far as possible in the project.
  • The overall project adopts MVP + RXJava + RetroFIT framework, glide is used for picture display, butterknIF annotations, in addition to the use of Java 8 new features, Ramda expression, Android native does not support, need to guide plug-in, see the project for details.
  • And retrofit’s okhttpClient Cache configuration, unfortunately, Douban API on the server side does not Cache-Control Settings for the returned data.
  • The data will be cached using a local database, initially using Realm.
  • Project address: github.com/forezp/bany…
  • The main interface adopts the material design design style, using the drawer effect of NavigationView and DrawerLayout, CoordinatorLayout and ViewPager, using the behavior attribute, Controls the toolbar show and hide. The combination of TabLayout and Viewpager is used to switch fragments, and the overall style is similar to NetEase Cloud Music.
  • The Douban API used includes hot list, Top250, book search, music search, etc.

yasea

Making address github.com/begeekmyfri…

The Android live streaming open source client project with beauty filter is sampled by phone camera and microphone, coded as H.264 and AAC, packaged in FLV format, and pushed to RTMP server. The delay is millisecond.

Coding-Android

Making address github.com/Coding/Codi…

Android Studio 2.2.3 is a compilation environment for Android Studio 2.2.3. Many third-party libraries referenced by Gradle are a bit slow to load at first, and need to be built after loading. These classes to be underlined (such as MainActivity_) are automatically generated after build.

package

  • Common base classes and utility classes
  • The comment comments area
  • Enter input box
  • Network encapsulates the network a bit
  • Photopick Image selection control
  • Umeng encapsulates umENG
  • Hide Indicates the staging interface
  • Maopao bubble interface
  • Message interface
  • Model Some data structures
  • Project My project interface
  • Setting Interface
  • Task Indicates my task interface
  • Third Some third-party code
  • User Friend Interface

Sprayscape

Making address github.com/googlecreat…

The original www.diycode.cc/projects/go… Sprayscape is built into Unity and supports native Android. Using the Google VR SDK for Unity to process the gyroscope data and the NatCam Unity plugin for precise camera control, Sprayscape maps the camera input onto a 360-degree sphere. The GPU makes everything possible. When the user clicks or touches, the camera renders the texture at 60 frames per second. This texture is then synthesized with any existing texture through the fragment shader on the GPU. The same shader also handles projections from the 2D camera to the 360 sphere, creating the landscape you see in the app. When the user saves the landscape, the planar panoramic image is stored in the application data and written to a single atlas file containing all the landscapes. The atlas is loaded into the landscape, a landscape gallery with gyroscopic navigation. Sharing is handled by native Android code. When a user shares a landscape through a link, the user will log in using Google OAuth and prompt you for read and write access on the cloud drive. All user-generated content is stored in the user’s cloud drive account, so the user can delete it at any time. With the appropriate permissions, Drive API V3 checks the Sprayscape folder, creates one if it is missing, and then uploads the file. The shared URL is presented to the user in the Native Share dialog box and is also attached to a Scape object on the application for easy sharing later. Facebook’s share is also handled locally. Panoramas are prepared as image objects with appropriate EXIF data to ensure proper rendering on Facebook, and then rendered to users via native sharing. Users choose Facebook to share to their network.

ListenerrMusicPlayer

Making address github.com/hefuyicoder…

An elegant open source music player that follows Material Design, using the Lastfm Api and Cool Dog lyrics Api. Mvp-clean project architecture, based on Retrofit2 + Dagger2 + Rxjava + RxBus + Glide.

Project characteristics

  • Follow Material Design specification, clean interface, elegant interaction.
  • Based on MVP-Clean + Retrofit2 + Dagger2 + Rxjava + Glide
  • Function modules: my songs, my playlist, folder, I like, recently played, recently added, play rankings, local search, etc.
  • Support to display lyrics and cache
  • Support earphone wire play, earphone pull out automatically pause
  • Dynamically refresh the media library to learn about media file changes in time
  • Day night mode switch, support dynamic skin change

To read more

Interviewer: Please tell me something about your project experience

Google has gone out of its way to launch a new project architecture

Guide to preventing Secondary packaging of Android apps

NDK project actual combat – high imitation 360 mobile phone assistant uninstall monitoring

(Android) Interview Questions

Believe in yourself, there is nothing impossible, only unexpected

It’s not just technology that’s gained here!