Awesome WanAndroid project is based on Material Design + MVP + Rxjava2 + Retrofit + Dagger2 + GreenDao + Glide
This is a technology learning APP that will make you feel very nice. The technology used basically covers the mainstream technology frameworks commonly used in current Android development. The reading content is mainly for friends who want to become experts in the field of Android development. In addition, I am working on a brand new Android advanced plan, dedicated to becoming a better Android developer. Friends who are interested can refer to it~
Android Studio prompts that the classes generated by Dagger are missing. You can compile the project directly and it will be automatically generated by Dagger2.
There are still some imperfections in this project. If you find any bugs, please feel free to issue, email ([email protected]), or PR.
The APIs in the project are all from the WanAndroid website. They are purely for shared learning and may not be used for commercial purposes! ! If you have any questions or suggestions, please contact [email protected]
The project code tries its best to follow Alibaba Java development specifications and Alibaba Android development specifications, and has good comments.
Use Rxjava2 combined with Retrofit2 to make network requests.
Use Rxjava2 operators to convert, delay, filter, and other operations on the event stream. Use the Compose operator in combination with the RxUtils tool class to simplify the number of codes for thread switching calls.
Use Dagger2 combined with Dagger.Android to inject the Model into the Presenter and the Presenter into the View without coupling, realizing the MVP pattern more efficiently.
BasePresenter is used to integrate the life cycle of event stream subscriptions.
Use the Behavior collection ToolBar in Material Design to implement the responsive "up and down" special effect.
Floating buttons that slide to the top are used in many places to improve reading convenience.
Use SmartRefreshLayout's rich refresh animation to elevate the beauty of the project to a new level.
Tencent Bugly is used to fix bugs and CI on the project.
Dazzling animations and special effects are used in many places in the project.
High coverage unit testing and some UI testing.
Please Clone this project to view more. . .
See Awesome-Third-Library-Source-Analysis
1. Globally replace the scheme field of the request URL with https
2. Solve the bugs in the issue
1. Added a new official account column to support search within the official account
2. Solve bugs on Bugly
1. Adapt to Android O version
2. Solve bugs on Bugly
1. Added unit testing of the Presenter layer and automated UI testing of some View layers
2. Solve the bug that the login status will become invalid after a period of time
3. Carry out appropriate small-scale refactoring
4. Solve Bugly’s compatibility bug
1. Add dagger.android
2. Use config.gradle to uniformly manage gradle dependencies
3. Encapsulate RxBinding subscription processing
4. Add shared element adaptation processing
5. Use Compose to add unified return result processing
6. Add Glide memory, bitmapPool, diskCache configuration
7. Optimize the display logic of loading error page
8. Optimize the registration interface
9. Optimize the immersive status bar display effect
10.Update Gradle version to 3.0.1
1. Add setting module
2. Separate common website interfaces
3. Add item multi-labels
4. Beautify the details interface menu
5. Add ActivityOption jump animation
6. Solve more than 90% of memory leaks
1. Add RxBus subscription management to solve the problem of RxBus memory leakage
2. Solve the problem that Webview sometimes cannot be loaded.
3. Add RxPermission to handle Android 6.0 permission issues
4. Base response base class is generic, reducing a large amount of entity code
5. Add knowledge classification navigation details page
6. Added and deleted search records on the search page, and the UI interface is more beautiful.
7. Overall UI beautification of the project
1. Rationalize project subcontracting structure
2. Optimize search module
3. Add automatic login
4. Add TabLayout intelligent linkage RecyclerView
5. Add immersive status bar
6. Optimize the detail article menu style
7. Overall UI beautification of the project
1.Submit the first version of Awesome WanAndroid
WanAndroid API provided by Hongyang
GeekNews provides the architectural ideas of Dagger2 and MVP
MD special effects implementation ideas provided by Toutiao
Implementation ideas for smart sliding floating buttons provided by diycode
Ideas for implementing search interface switching special effects provided by Eyepetizer-in-Kotlin
In addition, I also referred to many projects of outstanding people at home and abroad. Thank you for the open source!
Petal provides a beautiful UI interface design, thank you Petal
iconfont Alibaba’s great icon resource open to the outside world
Rxjava
RxAndroid
RxBinding
Retrofit
OkHttp
Gson
Glide
Dagger2
ButterKnife
GreenDao
SmartRefreshLayout
Lottie-android
Nowadays, the Android industry has gradually become saturated with talents, but senior talents are still scarce. What we often encounter is that there are only 2 or 3 suitable candidates out of 100 resumes, and most of them are tired of business. , did not take the time to study hard, or did not know what to learn to improve their skills. For Android developers, it is very important to establish a complete Android knowledge framework as early as possible, understand the common test knowledge points that appear frequently in major manufacturers, and master interview skills.
Last year, in order to enter a first-tier factory to do more challenging things and get a higher salary, I prepared for half a year in advance and compiled a set of systematic and high-quality interview questions that "sharpened my sword for two years" . For half a year, I have been conducting interviews continuously, and I have interviewed in total After each interview at twenty or thirty companies, I systematically summarized the corresponding interview questions and detailed answers, and updated them into my interview projects. Now, under each module, I Frequently asked questions about ultra-high frequency and high frequency have been carefully compiled. Knowledge points.
In the past year, I have gradually optimized the original content and added a lot of new content during my review of practical interviews with large companies. It can be said to be a summary of the essence of interviews at first-tier Internet companies. At the same time, it will also include content on how to write a resume and interview skills. It can help you save time and effort in preparing for interviews, and greatly reduce the difficulty of finding a good job.
This interview project is different from the Awesome-Android-Interview interview project on my Github: https://github.com/JsonChao/Awesome-Android-Interview. Awesome-Android-Interview was discontinued 2 years ago (in October 2020 Update), the content is slightly outdated, there are many points in it that are not rigorously expressed, and the overall gold content is low. The interview question bank I want to share today is a systematic and high-quality interview question that I have continuously summarized, refined, and accumulated over the past two years. Many of the core questions in it have been repeatedly corrected and corrected under the pressure of interviews. Sublimation, extremely high gold content.
Before sharing, one thing to note is that you must not leak the information! If you think about it carefully, you will understand:
1. If you are exposed and people who get it grasp it faster than you, enter a big factory earlier, and get a high salary, your chances of entering a big factory will become smaller. After all, there are only so many good companies now, and every carrot is a pitfall.
2. The simple version of the Awesome-Android-Interview interview question bank that I shared publicly two years ago is still used as a drainage material by various training institutions, which has increased the current Android involution. .
So, this must be remembered.
How to obtain: Scan the QR code below.
This is a proposition I have been researching for the past seven years. First of all, I was doing research for myself, because I came from a small town and established myself in Shenzhen through continuous counterattacks. The more ordinary a person comes from, the more patience he needs to make systematic and comprehensive improvements. In this regard, I have very rich practical experience and methodology . Therefore, I started the "JsonChao" growth community, hoping to complete a systematic transformation with you.
My public account JsonChao
has been opened, focusing on building a knowledge system necessary for future Android development. We will push you high-quality articles every working day so that you can increase your knowledge every day. If you want to get the latest articles and updates as soon as possible, please scan and follow~
Copyright 2018 JsonChao
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.