README.md 5.4 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**.
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
jess 已提交
54
 
J
jess 已提交
55
##Acknowledgements 
J
jessyan 已提交
56
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 已提交
57

J
jess 已提交
58
##About Me
J
jess 已提交
59
* **Email**: jess.yan.effort@gmail.com  
J
jess 已提交
60 61

##License
J
jess 已提交
62
``` 
J
jess 已提交
63
 Copyright 2016, jessyan       
J
jess 已提交
64
  
J
jess 已提交
65 66
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
J
jess 已提交
67
   You may obtain a copy of the License at 
J
jess 已提交
68
 
J
jess 已提交
69
       http://www.apache.org/licenses/LICENSE-2.0 
J
jess 已提交
70 71 72 73 74 75 76

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