From 82e57df230ecb744af6c8865f80870ba03c86d89 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期二, 25 七月 2023 22:18:27 +0800 Subject: [PATCH] 基本功能完成 --- app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 50 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java index a44e4f2..6875b77 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java @@ -1,9 +1,17 @@ package com.application.zhangshi_app_android.ui.main; +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; import android.view.MenuItem; +import android.view.View; import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; import androidx.viewpager2.widget.ViewPager2; import com.android.app_base.base.adapter.BaseVp2FragmentAdapter; @@ -13,12 +21,17 @@ import com.android.app_base.manager.AppManager; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; +import com.application.zhangshi_app_android.bean.UpdateVersionBean; import com.application.zhangshi_app_android.databinding.ActivityMainBinding; +import com.application.zhangshi_app_android.ui.dialog.VersionUpdateDialog; import com.application.zhangshi_app_android.ui.function.FunctionFragment; import com.application.zhangshi_app_android.ui.home.HomeFragment; import com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragment; +import com.blankj.utilcode.util.AppUtils; import com.blankj.utilcode.util.ToastUtils; import com.google.android.material.navigation.NavigationBarView; + +import java.io.Serializable; /** * @author Ljj @@ -26,6 +39,7 @@ * @desc app涓婚〉 */ public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> { + BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter; @Override public int getLayoutId() { return R.layout.activity_main; @@ -42,7 +56,7 @@ @Override public void initView() { - BaseVp2FragmentAdapter<BaseFragment> mPagerAdapter = new BaseVp2FragmentAdapter<>(this); + mPagerAdapter = new BaseVp2FragmentAdapter<>(this); mPagerAdapter.addFragment(HomeFragment.newInstance()); mPagerAdapter.addFragment(FunctionFragment.newInstance()); mPagerAdapter.addFragment(PersonalCenterFragment.newInstance()); @@ -55,7 +69,7 @@ } }); binding.mainVp.setUserInputEnabled(false); - + binding.mainVp.setOffscreenPageLimit(3); // 涓嶄娇鐢ㄥ浘鏍囬粯璁ゅ彉鑹� binding.mainBnv.setItemIconTintList(null); binding.mainBnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { @@ -81,12 +95,28 @@ @Override public void initData() { - + viewModel.getUpdateVersion(); } @Override public void initLiveDataObserve() { + viewModel.getUpdateVersionBeanLiveData().observe(this, new Observer<UpdateVersionBean>() { + @Override + public void onChanged(UpdateVersionBean updateVersionBean) { + if(updateVersionBean != null && updateVersionBean.getVersionCode()> AppUtils.getAppVersionCode()&&!TextUtils.isEmpty(updateVersionBean.getAppUrl())){ + VersionUpdateDialog.Builder dialogBuilder = new VersionUpdateDialog.Builder(getSelfActivity()) + .setContent(updateVersionBean.getContent()) + .setDownloadUrl(updateVersionBean.getAppUrl()) + ; + if(updateVersionBean.isForceUpdate()){ + dialogBuilder.setCancelable(false); + dialogBuilder.setCanceledOnTouchOutside(false); + } + dialogBuilder.show(); + } + } + }); } @Override @@ -106,4 +136,21 @@ ToastUtils.showShort("鍐嶆寜涓�娆¢��鍑�"); } } + + private static final String INTENT_KEY_IN_FRAGMENT_INDEX = "fragmentIndex"; + private static final String INTENT_KEY_IN_FRAGMENT_CLASS = "fragmentClass"; + + public static void start(Context context) { + start(context, HomeFragment.class); + } + + public static void start(Context context, Class<? extends BaseFragment> fragmentClass) { + Intent intent = new Intent(context, MainActivity.class); + intent.putExtra(INTENT_KEY_IN_FRAGMENT_CLASS, fragmentClass); + if (!(context instanceof Activity)) { + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + } + context.startActivity(intent); + } + } -- Gitblit v1.9.1