README.md 5.9 KB
Newer Older
J
jess 已提交
1
# MVPArms 
J
jessyan 已提交
2
[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/nimelepbpejjlbmoobocpfnjhihnpked.svg)]()
J
jess 已提交
3
[![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 已提交
4
[![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 已提交
5

J
jess 已提交
6
##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 已提交
7 8

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

J
jessyan 已提交
10
##Architectural
J
jessyan 已提交
11
<img src="https://github.com/JessYanCoding/MVPArms/raw/master/image/Architecture.png" >
J
jessyan 已提交
12

J
jess 已提交
13
##Usage
J
jess 已提交
14
> New Project
J
jess 已提交
15
>> 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 已提交
16

J
jess 已提交
17
> Old Project
J
jessyan 已提交
18
>> [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 已提交
19

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

J
jess 已提交
23
##Notice
J
jess 已提交
24

J
jessyan 已提交
25
* 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 已提交
26

J
jessyan 已提交
27 28 29
* 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 已提交
30

J
jessyan 已提交
31
* 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 已提交
32

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

J
jessyan 已提交
35
* 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 已提交
36

J
jessyan 已提交
37
* 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 已提交
38

J
jess 已提交
39

J
jess 已提交
40
##Functionality & Libraries
J
jessyan 已提交
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
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 已提交
58 59 60 61 62 63 64 65 66 67 68


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


##TODO
* Improve RxErrorHandler
* Improve RequestIntercept


J
jess 已提交
69
##Acknowledgements 
J
jessyan 已提交
70
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 已提交
71

J
jess 已提交
72
##About Me
J
jess 已提交
73
* **Email**: jess.yan.effort@gmail.com  
J
jess 已提交
74 75

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

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