README.md 5.7 KB
Newer Older
J
jess 已提交
1 2
# MVPArms 
[![License](http://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](http://www.apache.org/licenses/LICENSE-2.0)
J
jess 已提交
3
[![API](https://img.shields.io/badge/API-15%2B-blue.svg?style=flat-square)](https://developer.android.com/about/versions/android-4.0.3.html)
J
jess 已提交
4

J
jess 已提交
5
##a common Architecture for Android Applications developing based on MVP,integrates many Open Source Projects( like Dagger2,Rxjava,Retrofit... ),to make your developing quicker and easier. 
J
jessyan 已提交
6 7

[中文说明](MVPArms.md)
J
jess 已提交
8

J
jess 已提交
9
##Usage
J
jess 已提交
10
> New Project
J
jess 已提交
11
>> If you are building a new project, directly to the entire project **clone** (or download), as **Demo** as the main module, then the package name into their own package name , **Demo** contains the package structure can be used directly, a mainstream `MVP` +` Dagger2` + `Retrofit` +` Rxjava` framework so easy to build successful, and now you refer **Demo Mvp** Package under the **UserActivity** format,[Use Template to automatically generate MVP, Dagger2 related classes under the corresponding package](http://www.jianshu.com/p/56cf17ab896d),With access to [Wiki documents] (https://github.com/JessYanCoding/MVPArms/wiki) slowly grasp the framework to see more articles as soon as possible in the project to use it, in practice, learning is the fastest
J
jessyan 已提交
12

J
jess 已提交
13
> Old Project
J
jessyan 已提交
14
>> [Old projects would like to introduce this framework, you can refer to the Wiki documentation, written in great detail](https://github.com/JessYanCoding/MVPArms/wiki)
J
jess 已提交
15

J
jess 已提交
16
##Wiki
J
jessyan 已提交
17
[Detailed usage reference Wiki](https://github.com/JessYanCoding/MVPArms/wiki)
J
jess 已提交
18

J
jess 已提交
19
##Notice
J
jess 已提交
20

J
jessyan 已提交
21
* The use of these technologies for the latter part of the project maintenance and iterative, especially large projects is very helpful, but is to develop a pre-write a page to write a lot of `MVP`,` Dagger2` class and interface, which is indeed a headache for the development of pre- Now the framework has been able to [mvp_generator_solution](https://github.com/JessYanCoding/MVPArms/blob/master/MVP_generator_solution) automatically generate some `MVP`,` Dagger2` template code, and now we can very easily use the framework.
J
jess 已提交
22

J
jessyan 已提交
23 24 25
* First run **app**, the cold start will be a long time, this is not because of this framework, because the `Instant run` in **Debug** mode will start the first deployment of some resources, if the signature to play **Release** package is not There will be a cold start is very slow, so do not worry about affecting the user experience.

* If you rename **WEApplication**, the following error occurs in the startup **app**: `Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication`, please close the instant run.
J
jess 已提交
26

J
jessyan 已提交
27
* AppComponent is a management of all single-instance object class, the use of dagger2 management, DaggerAppComponent for Dagger2 automatically generated using apt if missing, the first part of the error comment out, and then compile the project, DaggerAppComponent automatically generated, this time to open the Notes on Can, the specific use of dagger2 please refer to the document.
J
jess 已提交
28

J
jessyan 已提交
29
* Use this frame comes with automatic adaptation function, please refer to [AndroidAutoLayout](https://github.com/hongyangAndroid/AndroidAutoLayout).
J
jess 已提交
30

J
jessyan 已提交
31
* This framework uses `RxPermissions` for rights management (adaptation android6.0), and provides a PermissionUtil tool class line of code to implement the permission request.
J
jess 已提交
32

J
jessyan 已提交
33
* This framework does not provide any third-party libraries associated with the **UI**(except for the [`AndroidAutoLayout`](https://github.com/hongyangAndroid/AndroidAutoLayout) screen adaptation scheme).
J
jess 已提交
34

J
jess 已提交
35

J
jess 已提交
36
##Functionality & Libraries
J
jessyan 已提交
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
1. [`Mvp` Google's official` Mvp` architecture project, which contains several different schema branches (this is the Dagger branch).](https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger/)
2. [`Dagger2`](https://github.com/google/dagger)
3. [`Rxjava`](https://github.com/ReactiveX/RxJava)
4. [`RxAndroid`](https://github.com/ReactiveX/RxAndroid)
5. [`Rxlifecycle`](https://github.com/trello/RxLifecycle)
6. [`Rxbinding`](https://github.com/JakeWharton/RxBinding)
7. [`RxCache`](https://github.com/VictorAlbertos/RxCache)
8. [`Retrofit`](https://github.com/square/retrofit)
9. [`Okhttp`](https://github.com/square/okhttp)
10. [`Autolayout`](https://github.com/hongyangAndroid/AndroidAutoLayout)
11. [`Gson`](https://github.com/google/gson)
12. [`Butterknife`](https://github.com/JakeWharton/butterknife)
13. [`Androideventbus`](https://github.com/hehonghui/AndroidEventBus)
14. [`Timber`](https://github.com/JakeWharton/timber)
15. [`Glide`](https://github.com/bumptech/glide)
16. [`LeakCanary`](https://github.com/square/leakcanary)
17. [`RxErroHandler`](https://github.com/JessYanCoding/RxErrorHandler)
J
jessyan 已提交
54 55 56 57 58 59 60 61 62 63 64


##Update
* Thursday, 15 December 2016: [**AppManager**](https://github.com/JessYanCoding/MVPArms/wiki#3.11)


##TODO
* Improve RxErrorHandler
* Improve RequestIntercept


J
jess 已提交
65
##Acknowledgements 
J
jessyan 已提交
66
Thanks to all the three libraries used in this framework **Author**, and all for the 'Open Sourece' selfless contributions **Developer** and **Organizations**, so that we can better work and study, I will also spare time return to the open source community
J
jess 已提交
67

J
jess 已提交
68
##About Me
J
jess 已提交
69
* **Email**: jess.yan.effort@gmail.com  
J
jess 已提交
70 71

##License
J
jess 已提交
72
``` 
J
jess 已提交
73
 Copyright 2016, jessyan       
J
jess 已提交
74
  
J
jess 已提交
75 76
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
J
jess 已提交
77
   You may obtain a copy of the License at 
J
jess 已提交
78
 
J
jess 已提交
79
       http://www.apache.org/licenses/LICENSE-2.0 
J
jess 已提交
80 81 82 83 84 85 86

   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.
```