Author: ListenToCode
Blog: https://www.jianshu.com/p/9742ce36b6a8
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!
01
KnowWeather
Making (https://github.com/SilenceDut/KnowWeather)
Android open source weather App, including weather information, details, life index, etc., notification bar, desktop widgets, regular weather updates, etc., the App does not have any advertising, support county, district city weather. https://www.diycode.cc/projects/SilenceDut/KnowWeather
-
Overall framework according to the actual project to talk about the framework of Android project
(https://silencedut.github.io/2016/12/05/ according to the practical projects introduction to the Android framework of building /)
-
The thing about knowing the weather — it’s in your control
(https://silencedut.github.io/2016/12/06/ to know the weather, the weather is in control of all /)
-
The polling system periodically updates the weather. The notification bar is resident in systems (such as Meizu system) that are highly customized and stringent on background tasks. The polling system works normally. Many weather apps with tens of millions of downloads can’t do this without ads and forced live-pulling
02
FolioReader-Android
Making (https://github.com/FolioReader/FolioReader-Android)
An Android open source ebook reading App (ePub),
The original:
https://www.diycode.cc/projects/FolioReader/FolioReader-Android
rendering
Gradle
Add following dependency to your app build.gradle
The compile 'com. Folioreader: folioreader: 0.2.3'
Copy the code
03
NBAPlus
Making (https://github.com/SilenceDut/NBAPlus)
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
(https://github.com/SilenceDut/nbaplus-server)
04
MyDiary
Making (https://github.com/DaxiaK/MyDiary)
Android open source App: Your Name
https://www.diycode.cc/projects/erttyy8821/MyDiary
rendering
05
Jane poem
Making (https://github.com/wingjay/jianshi)
An elegant Chinese wind records app, including the Android client and Server side, the original: https://www.diycode.cc/projects/wingjay/jianshi
Related blog
How to create a Cool Android product in one day
(https://www.jianshu.com/p/cf496fc408b2)
06
banya
Making (https://github.com/forezp/banya)
An open source project based on Douban API imitation netease cloud music. Original: https://www.diycode.cc/projects/forezp/banya
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.
-
The address of the project: https://github.com/forezp/banya
-
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.
07
yasea
Making (https://github.com/begeekmyfriend/yasea)
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.
08
Coding-Android
Making (https://github.com/Coding/Coding-Android)
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
09
Sprayscape
Making (https://github.com/googlecreativelab/Sprayscape)
The original https://www.diycode.cc/projects/googlecreativelab/SprayscapeSprayscape in Unity within, support 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.
10
ListenerrMusicPlayer
Making (https://github.com/hefuyicoder/ListenerMusicPlayer)
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
Recent Articles:
-
JavaScript for Android developers
-
Visible data structures – Do you really know anything about array tables?
-
CSS font icon to know how much
Wait, don’t go yet! Code egg is on the move again! Participate in the activity can not only develop their own good habits, but also get “code egg” IP series exclusive prizes, speed up…
Poke me for details
Question of the day:
Do you usually study open source projects?
Message format:
Punch x days, answer: XXX.
Here’s a trick:
In just 3 steps, you won’t miss a single article!