Skip to content

Commit 00dbbff

Browse files
committed
优化细节
1 parent 2749251 commit 00dbbff

19 files changed

+85
-52
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ allprojects {
4040
#### **v2.x**(使用 **Hilt** 简化 **Dagger2** 依赖注入用法)
4141
```gradle
4242
//AndroidX 版本
43-
implementation 'com.github.jenly1314:mvvmframe:2.2.0'
43+
implementation 'com.github.jenly1314:mvvmframe:2.2.1'
4444
4545
```
4646

@@ -545,6 +545,11 @@ public interface ApplicationComponent {
545545

546546
## 版本记录
547547

548+
#### v2.2.1:2022-04-21
549+
* 更新Okhttp至v4.9.3
550+
* 更新Hilt至v2.41
551+
* 更新Gson至v2.9.0
552+
548553
#### v2.2.0:2021-11-18
549554
* minSdk要求从 16+ 改为 21+
550555
* 更新编译SDK至30

app/release/app-release.apk

2.94 KB
Binary file not shown.

app/release/output-metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
{
1111
"type": "SINGLE",
1212
"filters": [],
13-
"versionCode": 12,
14-
"versionName": "2.2.0",
13+
"versionCode": 13,
14+
"versionName": "2.2.1",
1515
"outputFile": "app-release.apk"
1616
}
1717
]

app/src/main/java/com/king/mvvmframe/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
* 其中,只有 Application 这个入口点是使用 @HiltAndroidApp 注解来声明,示例如下
3535
*
3636
*
37-
* @example: Application
37+
* Example: Application
3838
* //-------------------------
3939
* @HiltAndroidApp
4040
* public class YourApplication extends Application {

build.gradle

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ task clean(type: Delete) {
2727
delete rootProject.buildDir
2828
}
2929

30+
allprojects {
31+
plugins.withId("com.vanniktech.maven.publish") {
32+
mavenPublish {
33+
sonatypeHost = "S01"
34+
}
35+
}
36+
}
37+
3038
allprojects {
3139
tasks.withType(Javadoc) {
3240
options{

gradle.properties

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,29 @@ org.gradle.jvmargs = -Xmx1536m
1414
android.useAndroidX=true
1515
android.enableJetifier=true
1616

17-
VERSION_NAME=2.2.0
18-
VERSION_CODE=12
17+
VERSION_NAME=2.2.1
18+
VERSION_CODE=13
1919
GROUP=com.github.jenly1314
2020

2121
POM_DESCRIPTION=MVVMFrame for Android
2222
POM_URL=https://github.com/jenly1314/MVVMFrame
23+
2324
POM_SCM_URL=https://github.com/jenly1314/MVVMFrame
2425
POM_SCM_CONNECTION=scm:git@github.com:jenly1314/MVVMFrame.git
2526
POM_SCM_DEV_CONNECTION=scm:git@github.com:jenly1314/MVVMFrame.git
27+
2628
POM_LICENCE_NAME=The MIT License
2729
POM_LICENCE_URL=https://opensource.org/licenses/mit-license.php
2830
#POM_LICENCE_NAME=The Apache Software License, Version 2.0
2931
#POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
32+
POM_LICENSE_DIST=repo
33+
3034
POM_DEVELOPER_ID=jenly
3135
POM_DEVELOPER_NAME=Jenly Yu
36+
POM_DEVELOPER_URL=https://github.com/jenly1314/
37+
3238
RELEASE_REPOSITORY_URL=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
3339
SNAPSHOT_REPOSITORY_URL=https://s01.oss.sonatype.org/content/repositories/snapshots/
34-
RELEASE_SIGNING_ENABLED=false
3540

41+
RELEASE_SIGNING_ENABLED=false
3642

mvvmframe/build.gradle

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,6 @@ task javadoc(type: Javadoc) {
4545
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
4646
}
4747

48-
repositories {
49-
flatDir {
50-
dirs 'libs' //this way we can find the .aar file in libs folder
51-
}
52-
53-
}
5448

5549

5650
dependencies {

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseActivity.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
*
4848
* <p>如果您继承使用了 BaseActivity 或其子类,你需要参照如下方式添加 @AndroidEntryPoint 注解
4949
*
50-
* <p>Example: BaseActivity
50+
* <p>Example:
5151
* <pre>
5252
* &#64;AndroidEntryPoint
5353
* public class YourActivity extends BaseActivity {
@@ -60,11 +60,11 @@
6060
public abstract class BaseActivity<VM extends BaseViewModel,VDB extends ViewDataBinding> extends AppCompatActivity implements IView<VM>, BaseNavigator {
6161

6262
/**
63-
* 请通过 {@link #getViewModel()}获取,后续版本 {@link #mViewModel}可能会私有化
63+
* 请通过 {@link #getViewModel()}获取
6464
*/
6565
private VM mViewModel;
6666
/**
67-
* 请通过 {@link #getViewDataBinding()}获取,后续版本 {@link #mBinding}可能会私有化
67+
* 请通过 {@link #getViewDataBinding()}获取
6868
*/
6969
private VDB mBinding;
7070

@@ -109,6 +109,10 @@ private void initViewModel(){
109109
}
110110
}
111111

112+
/**
113+
* 获取泛型VM对应的类
114+
* @return
115+
*/
112116
private Class<VM> getVMClass(){
113117
Class<?> cls = getClass();
114118
Class<VM> vmClass = null;
@@ -122,6 +126,11 @@ private Class<VM> getVMClass(){
122126
return vmClass;
123127
}
124128

129+
/**
130+
* 根据传入的 cls 获取泛型VM对应的类
131+
* @param cls
132+
* @return
133+
*/
125134
private Class getVMClass(Class<?> cls){
126135
Type type = cls.getGenericSuperclass();
127136
if(type instanceof ParameterizedType){

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseBroadcastReceiver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
* <p>如果您继承使用了 BaseBroadcastReceiver 或其子类,你需要参照如下方式添加 @AndroidEntryPoint 注解
1010
*
11-
* <p>Example: BaseBroadcastReceiver
11+
* <p>Example:
1212
* <pre>
1313
* &#64;AndroidEntryPoint
1414
* public class YourBroadcastReceiver extends BaseBroadcastReceiver {

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseDialogFragment.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
*
4646
* <p>如果您继承使用了 BaseDialogFragment 或其子类,你需要参照如下方式添加 @AndroidEntryPoint 注解
4747
*
48-
* <p>Example: BaseDialogFragment
48+
* <p>Example:
4949
* <pre>
5050
* &#64;AndroidEntryPoint
5151
* public class YourFragment extends BaseDialogFragment {
@@ -58,15 +58,15 @@
5858
public abstract class BaseDialogFragment<VM extends BaseViewModel,VDB extends ViewDataBinding> extends DialogFragment implements IView<VM>, BaseNavigator {
5959

6060
/**
61-
* 请通过 {@link #getViewModel()}获取,后续版本 {@link #mViewModel}可能会私有化
61+
* 请通过 {@link #getViewModel()} 获取
6262
*/
6363
private VM mViewModel;
6464
/**
65-
* 请通过 {@link #getViewDataBinding()}获取,后续版本 {@link #mBinding}可能会私有化
65+
* 请通过 {@link #getViewDataBinding()} 获取
6666
*/
6767
private VDB mBinding;
6868
/**
69-
* 请通过 {@link #getRootView()} ()}获取,后续版本 {@link #mRootView}可能会私有化
69+
* 请通过 {@link #getRootView()} 获取
7070
*/
7171
private View mRootView;
7272

@@ -155,6 +155,10 @@ private void initViewModel(){
155155
}
156156
}
157157

158+
/**
159+
* 获取泛型VM对应的类
160+
* @return
161+
*/
158162
private Class<VM> getVMClass(){
159163
Class<?> cls = getClass();
160164
Class<VM> vmClass = null;
@@ -168,6 +172,11 @@ private Class<VM> getVMClass(){
168172
return vmClass;
169173
}
170174

175+
/**
176+
* 根据传入的 cls 获取泛型VM对应的类
177+
* @param cls
178+
* @return
179+
*/
171180
private Class getVMClass(Class<?> cls){
172181
Type type = cls.getGenericSuperclass();
173182
if(type instanceof ParameterizedType){
@@ -320,9 +329,7 @@ private ViewModelProvider createViewModelProvider(@NonNull ViewModelStoreOwner o
320329

321330
//---------------------------------------
322331
protected void finish(){
323-
if(getActivity() != null){
324-
getActivity().finish();
325-
}
332+
requireActivity().finish();
326333
}
327334

328335
protected Intent newIntent(Class<?> cls){

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseFragment.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
*
5050
* <p>如果您继承使用了 BaseFragment 或其子类,你需要参照如下方式添加 @AndroidEntryPoint 注解
5151
*
52-
* <p>Example: BaseFragment
52+
* <p>Example:
5353
* <pre>
5454
* &#64;AndroidEntryPoint
5555
* public class YourFragment extends BaseFragment {
@@ -62,15 +62,15 @@
6262
public abstract class BaseFragment<VM extends BaseViewModel,VDB extends ViewDataBinding> extends Fragment implements IView<VM>, BaseNavigator {
6363

6464
/**
65-
* 请通过 {@link #getViewModel()}获取,后续版本 {@link #mViewModel}可能会私有化
65+
* 请通过 {@link #getViewModel()} 获取
6666
*/
6767
private VM mViewModel;
6868
/**
69-
* 请通过 {@link #getViewDataBinding()}获取,后续版本 {@link #mBinding}可能会私有化
69+
* 请通过 {@link #getViewDataBinding()} 获取
7070
*/
7171
private VDB mBinding;
7272
/**
73-
* 请通过 {@link #getRootView()} ()}获取,后续版本 {@link #mRootView}可能会私有化
73+
* 请通过 {@link #getRootView()} 获取
7474
*/
7575
private View mRootView;
7676

@@ -138,6 +138,10 @@ private void initViewModel(){
138138
}
139139
}
140140

141+
/**
142+
* 获取泛型VM对应的类
143+
* @return
144+
*/
141145
private Class<VM> getVMClass(){
142146
Class<?> cls = getClass();
143147
Class<VM> vmClass = null;
@@ -151,6 +155,11 @@ private Class<VM> getVMClass(){
151155
return vmClass;
152156
}
153157

158+
/**
159+
* 根据传入的 cls 获取泛型VM对应的类
160+
* @param cls
161+
* @return
162+
*/
154163
private Class getVMClass(Class<?> cls){
155164
Type type = cls.getGenericSuperclass();
156165
if(type instanceof ParameterizedType){
@@ -302,9 +311,7 @@ private ViewModelProvider createViewModelProvider(@NonNull ViewModelStoreOwner o
302311

303312
//---------------------------------------
304313
protected void finish(){
305-
if(getActivity() != null){
306-
getActivity().finish();
307-
}
314+
requireActivity().finish();
308315
}
309316

310317
protected Intent newIntent(Class<?> cls){

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseIntentService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
* <p>如果您继承使用了 BaseIntentService 或其子类,你需要参照如下方式添加 @AndroidEntryPoint 注解
1010
*
11-
* <p>Example: BaseIntentService
11+
* <p>Example:
1212
* <pre>
1313
* &#64;AndroidEntryPoint
1414
* public class YourIntentService extends BaseIntentService {

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*
1717
* <p>如果您继承使用了 BaseModel 或其子类,你需要参照如下方式在构造函数上添加 @Inject 注解
1818
*
19-
* <p>Example: BaseModel
19+
* <p>Example:
2020
* <pre>
2121
* public class YourModel extends BaseModel {
2222
* &#64;Inject
@@ -26,7 +26,7 @@
2626
* }
2727
* </pre>
2828
*
29-
* <p>标准MVVM模式中的M (Model)层基类
29+
* <p>MVVM模式中的M (Model)层基类
3030
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
3131
*/
3232
public class BaseModel implements IModel {

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/BaseViewModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@
4444
* }
4545
* </pre>
4646
*
47-
* <p>标准MVVM模式中的VM (ViewModel)层基类
47+
* <p>MVVM模式中的VM (ViewModel)层基类
4848
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
4949
*/
5050
public class BaseViewModel<M extends BaseModel> extends AndroidViewModel implements IViewModel {
5151

5252

5353
/**
54-
* 请通过 {@link #getModel()} 获取,后续版本 {@link #mModel}可能会私有化
54+
* 请通过 {@link #getModel()} 获取
5555
*/
5656
private M mModel;
5757

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/IView.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
import androidx.annotation.LayoutRes;
66
import androidx.annotation.Nullable;
7-
import androidx.lifecycle.ViewModel;
87

98
/**
109
* 用来规范 {@link BaseActivity} 和 {@link BaseFragment} 风格。
1110
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
1211
*/
13-
public interface IView<VM extends ViewModel> {
12+
public interface IView<VM extends IViewModel> {
1413

1514
/**
1615
* 根布局id
@@ -26,13 +25,13 @@ public interface IView<VM extends ViewModel> {
2625
void initData(@Nullable Bundle savedInstanceState);
2726

2827
/**
29-
* 是否使用DataBinding
28+
* 是否使用 DataBinding
3029
* @return
3130
*/
3231
boolean isBinding();
3332

3433
/**
35-
* 创建ViewModel
34+
* 创建 ViewModel
3635
* @return
3736
*/
3837
VM createViewModel();

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/IViewModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import androidx.lifecycle.OnLifecycleEvent;
88

99
/**
10-
* 继承LifecycleObserver提供生命周期感知能力
10+
* 通过继承LifecycleObserver提供生命周期感知能力
1111
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
1212
*/
1313
public interface IViewModel extends LifecycleObserver {

mvvmframe/src/main/java/com/king/frame/mvvmframe/base/livedata/SingleLiveEvent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import timber.log.Timber;
1313

1414
/**
15-
* 提供观察单个对象 {@link T} 事件
15+
* 提供观察单个对象 {@link T} 事件:适用于一次数据更新,只通知一次的场景
1616
* @see <a href="https://github.com/googlesamples/android-architecture/blob/6419d4c523b67d020120fc400ed5a7372e5615f2/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/SingleLiveEvent.java">google sample</a>
1717
* @author <a href="mailto:jenly1314@gmail.com">Jenly</a>
1818
*/

mvvmframe/src/main/java/com/king/frame/mvvmframe/config/AppliesOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ interface InterceptorConfigOptions{
5252
void applyOptions(InterceptorConfig.Builder builder);
5353
}
5454
/**
55-
* 为框架中的{@link Gson}提供配置参数入口
55+
* 为框架中的{@link RoomDatabase}提供配置参数入口
5656
*/
5757
interface RoomDatabaseOptions<T extends RoomDatabase>{
5858
void applyOptions(RoomDatabase.Builder<T> builder);

0 commit comments

Comments
 (0)