添加版本更新功能

This commit is contained in:
2023-09-29 00:23:10 +08:00
parent 2bdbcc643f
commit 90cce8552a
7 changed files with 247 additions and 361 deletions

View File

@@ -38,7 +38,7 @@ android {
minSdkVersion 21
targetSdkVersion 29
// multiDexEnabled true
versionCode 6
versionCode 118
versionName "1.1.8"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
ndk {

View File

@@ -1,14 +1,17 @@
package com.sl.house_property;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.Html;
import android.text.TextPaint;
import android.text.TextUtils;
import android.util.Log;
@@ -17,10 +20,19 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.StyleRes;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.cutil.ScreenUtils;
@@ -32,14 +44,14 @@ import com.lxj.xpopup.XPopup;
import com.lzy.ninegrid.ImageInfo;
import com.lzy.ninegrid.preview.NineGridViewClickAdapter;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.cache.CacheMode;
import com.lzy.okgo.convert.StringConvert;
import com.lzy.okgo.model.Response;
import com.lzy.okgo.request.base.Request;
import com.lzy.okrx2.adapter.ObservableResponse;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.selectpicker.OptionsPopupWindow;
import com.sl.house_property.databinding.FragmentMainBinding;
import com.sl.house_property.databinding.ItemCommentBinding;
import com.sl.house_property.databinding.ItemDiscoveryBinding;
import com.sl.house_property.db.CommentBeanData;
@@ -49,7 +61,6 @@ import com.sl.house_property.discovery.GoodsInfoDialog;
import com.sl.house_property.discovery.HistoryRecordActivity;
import com.sl.house_property.discovery.HistoryRecordActivitytwo;
import com.sl.house_property.discovery.SelectDialog;
import com.sl.house_property.okgonet.HttpConstants;
import com.sl.house_property.order.SettleActivity;
import com.sl.house_property.user.MyMarketShopActivity;
import com.sl.house_property.user.MyPropertyActivity;
@@ -77,12 +88,15 @@ import java.util.Map;
import adapter.BaseRecycleViewAdapter;
import entity.Advert_carouseleEntity;
import entity.DiscoveryListEntity;
import entity.GetVesionResponseBean;
import entity.GoodsDetailEntity;
import entity.HomelistitemEntity;
import entity.MainF1Entity;
import entity.MyAddress;
import entity.RegisterUser;
import http.ApiConfig;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import my_loader.Loader;
import my_loader.Resultcode;
import my_view.CommentDialog;
@@ -92,12 +106,13 @@ import rx.functions.Action1;
import tools.Config;
import utils.CommonUtils;
import utils.DateUtilss;
import utils.JsonUtils;
import utils.KeyboardUtil;
import utils.Md5;
import utils.SPUtils;
import utils.TimeUtils;
import utils.UpdateManager;
import utils.UtilHelpers;
import utils.VersionUtils;
/**
@@ -109,12 +124,9 @@ import utils.UtilHelpers;
* create an instance of this fragment.
*/
public class MainFragment extends BaseFragment<FragmentMainBinding> implements View.OnClickListener, MainTabActivity.MyOnTouchListener {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
BaseActivity baseActivity;
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private ArrayList<DiscoveryListEntity> discoveryListEntities = new ArrayList<>();
@@ -125,15 +137,12 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
private ArrayList<String> mBannerImages;
private List<String> bannerTitile;
private BaseRecycleViewAdapter baseRecycleViewAdapterh;
private BaseRecycleViewAdapter baseRecycleViewAdapterv;
private RegisterUser user;
private String miyuetime;
private String wy_id="";
private String areatwo="";
private String userid="";
private String dangqianversion;
private UpdateManager mUpdateManager;//版本更新
public MainFragment() {
// Required empty public constructor
@@ -162,9 +171,7 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
super.onResume();
RegisterUser user1;
if (user == null) {
user1 =
Config.getInstance(getActivity()).getUser();
user1 = Config.getInstance(getActivity()).getUser();
if (user1 != null) {
Map<String, String> map = new HashMap<>();
if (user1 != null) {
@@ -180,7 +187,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
page=1;
getlist(page);
}
;
}
if (wy_id.equals("")) {
@@ -224,19 +230,174 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
e.printStackTrace();
}
}
// areatwo=(String) SPUtils.getSp(getActivity(), DoConfig.MY_HOUST_ADDRESS,"");
// if(!areatwo.equals("")){
// wy_id="-";
// requestVersion(areatwo);
// }
//版本更新
upDataVersion();
}
private void upDataVersion() {
//获取当前应用版本号
try {
dangqianversion = getVersion()+"";
} catch (Exception e) {
e.printStackTrace();
}
requestVersion();
}
/**
* 获取当前应用版本号
*/
public int getVersion() {
int versionCode=0;
try {
PackageInfo packageInfo = getContext().getPackageManager().getPackageInfo(getContext().getPackageName(), 0);
String versionName = packageInfo.versionName;
versionCode = packageInfo.versionCode;
Log.d("当前版本号==", "Version Name: " + versionName);
Log.d("当前版本号==", "Version Code: " + versionCode);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionCode;
}
/**
* 请求最新版本号
*/
public void requestVersion() {
OkGo.<String>post(ApiConfig.BASE_URL)
.params("app", "Cas")
.params("class", "GetVersion")
.params("sign", Md5.md5("Cas" + "GetVersion" + Md5.secret))
.converter(new StringConvert())//
.cacheMode(CacheMode.NO_CACHE) //无缓存模式 CacheMode.NO_CACHE
.adapt(new ObservableResponse<String>())//
.subscribeOn(Schedulers.io())//
.observeOn(AndroidSchedulers.mainThread())//
.subscribe(new io.reactivex.Observer<Response<String>>() {
@Override
public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) {
// addDisposable(d);
}
@Override
public void onNext(@io.reactivex.annotations.NonNull Response<String> response) {
String body = (String) response.body();
Log.e("版本更新",body);
Log.e("当前版本",dangqianversion);
try {
JSONObject jsonObject = new JSONObject(body);
int status = jsonObject.getInt("status");
if (status == 0) {
JSONObject data = jsonObject.getJSONObject("data");
String newVersion = data.getString("version");
String newVersion_url = data.getString("version_url");
int versionUpdate = VersionUtils.compareVersion(dangqianversion, newVersion);
if (versionUpdate == -1) {//两个版本相同
GetVesionResponseBean mGetVesionResponseBean = new GetVesionResponseBean();
GetVesionResponseBean.ResultBean resultBean = new GetVesionResponseBean.ResultBean();
resultBean.setContent("修复若干bug");
resultBean.setVersion(newVersion);
mGetVesionResponseBean.setResult(resultBean);
ADialog mShareWechatDialog = new ADialog(getContext(), 0, mGetVesionResponseBean);
mShareWechatDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//代码中取消标题栏
mShareWechatDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Window win = mShareWechatDialog.getWindow();
win.getDecorView().setPadding(0, 0, 0, 0);
WindowManager.LayoutParams lp = win.getAttributes();
lp.width = WindowManager.LayoutParams.FILL_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
win.setAttributes(lp);
mShareWechatDialog.setCancelable(false);
mShareWechatDialog.show();
} else {//没有最新版本
Log.e("当前版本",dangqianversion);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onError(@io.reactivex.annotations.NonNull Throwable e) {
e.printStackTrace();
}
@Override
public void onComplete() {
}
});
}
class ADialog extends Dialog implements View.OnClickListener {
private Context context;
GetVesionResponseBean mGetVesionResponseBean;
public ADialog(@NonNull Context context, @StyleRes int themeResId, GetVesionResponseBean mGetVesionResponseBean) {
super(context, themeResId);
this.context = context;
this.mGetVesionResponseBean = mGetVesionResponseBean;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.version_dailog);
launchAppDetail();
}
public void launchAppDetail() {
String content = mGetVesionResponseBean.getResult().getContent();
content = content.replace("</br>", "<br>");
TextView mContentTv = (TextView) findViewById(R.id.tv_content);
mContentTv.setText(Html.fromHtml(content));
TextView mVersionTv = (TextView) findViewById(R.id.tv_version);
mVersionTv.setText("V" + mGetVesionResponseBean.getResult().getVersion());
Button mUpdateBtn = (Button) findViewById(R.id.btn_update);
Button btn_update_one = (Button) findViewById(R.id.btn_update_one);
mUpdateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dismiss();
// 这里来检测版本是否需要更新
mUpdateManager = new UpdateManager(getContext(), "http://ruilaizipj.com/door.apk");
mUpdateManager.checkUpdateDownload();
}
});
btn_update_one.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dismiss();
}
});
}
@Override
public void onClick(View v) {
}
}
private void getGankList(final String myurl, Map<String, String> map, String string, final int getcode1) {
progressDialog.setMessage(string);
//map.put("")
progressDialog.setCancelable(false);
progressDialog.show();
mDataBinding.getRoot().postDelayed(new Runnable() {
@@ -247,8 +408,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
}
}, 13000);
mGankLoader = new Loader();
/* Map<String,String> map=new HashMap<String,String>();
map.put("phone");*/
mGankLoader.getMovie(myurl, map).subscribe(new Action1<Resultcode>() {
@Override
public void call(Resultcode resultcode) {
@@ -358,33 +517,9 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) {
super.onCreateVew(inflater, savedInstanceState);
baseActivity = (BaseActivity) getActivity();
// progressDialog = new ProgressDialog(baseActivity);
// progressDialog.show();
// progressDialog.setMessage(getActivity().getString(R.string.loading));
progressDialog = new ProgressDialog(getContext());
intRecycleView();
// getGankList(ApiConfig.GETHOMEBANNER,new HashMap<String, String>(),getString(R.string.loading),0);
mDataBinding.taobaoRefreshLayout.setOnRefreshLoadMoreListener(onrefalshlister);
// mDataBinding.taobaoRefreshLayout.postDelayed(new Runnable() {
// @Override
// public void run() {
// /* configFragments();
// intRecycleHorization();
// intRecycleVerization();*/
// user =
// Config.getInstance(getActivity()).getUser();
// Map<String, String> map = new HashMap<>();
// if (user != null) {
// map.put("userid", user.getUserid());
// } else {
// map.put("userid", 0 + "");
// }
// map.put("app", "Advert");
// map.put("class", "Advertr_an_AdvertHomeList");
// map.put("sign", Md5.md5("Advert" + "Advertr_an_AdvertHomeList" + Md5.secret));
// getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), 0, true);
// }
// }, 0);
mDataBinding.scan.setOnClickListener(this);
mDataBinding.entrancegurd.setOnClickListener(this);
mDataBinding.cargara.setOnClickListener(this);
@@ -471,9 +606,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
mDataBinding.service.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Intent intent = new Intent(getContext(), PropertyActivity.class);
// startActivity(intent);
if( (Config.getInstance(getContext()).getUser()==null)){
Intent intent =new Intent(getContext(),LoginActivity.class);
startActivity(intent);
@@ -654,9 +786,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
TextPaint tp = mDataBinding.usershoptextid.getPaint();
tp.setFakeBoldText(true);
// TextPaint tp1 = mDataBinding.userommunitybutextid.getPaint();
// tp1.setFakeBoldText(true);
}
private int currentKeyboardH;
@@ -763,16 +892,9 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
public void onBindViewHolder(Object b, final int position) {
if (!(position >= discoveryListEntities.size())) {
final ItemDiscoveryBinding homeGridAdapterItemBinding = (ItemDiscoveryBinding) b;
// homeGridAdapterItemBinding.setMyentity(discoveryListEntities.get(position));
final DiscoveryListEntity discoveryListEntity = discoveryListEntities.get(position);
homeGridAdapterItemBinding.tvNikeName.setText(discoveryListEntity.getNickname());
homeGridAdapterItemBinding.tvContent.setText(discoveryListEntity.getGoods_detail());
// Picasso.with(getActivity()).load(discoveryListEntity.getAvatar())
// .placeholder(R.mipmap.icon_default_rectangle)
// .transform(new PicassoRoundTransform())
// .into(homeGridAdapterItemBinding.imageHead);
homeGridAdapterItemBinding.ivComment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
@@ -810,24 +932,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
mDataBinding.scrollViewExtend.smoothScrollBy(0, mBottomY - y);
}
}, 300);
// mDataBinding.llComment.setVisibility(View.VISIBLE);
// mDataBinding.etComment.requestFocus();
// mDataBinding.etComment.setHint("评论");
// MainTabActivity activity = (MainTabActivity) getActivity();
// KeyboardUtil.showSoftInput(getContext());
// activity.visibilyBottom(View.GONE);
// commentPosition = position;
// commentDialog.dismiss();
// mDataBinding.etComment.setText("");
// homeGridAdapterItemBinding.ivComment.postDelayed(new Runnable() {
// @Override
// public void run() {
// int y = getCoordinateY(mDataBinding.llComment) - 20;
// //评论时滑动到对应item底部和输入框顶部对齐
// mDataBinding.scrollViewExtend.smoothScrollBy(0, mBottomY - y);
// }
// }, 300);
} else if (type == 4) {
// addCart(discoveryListEntity.getGoods_id(),discoveryListEntity.)
@@ -1170,16 +1274,7 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
dis_content1.add(dis_content);
discoveryListEntity.setDis_content(dis_content1);
adapter.upDateOne(position, discoveryListEntity);
// BaseRecycleViewAdapter adapter = (BaseRecycleViewAdapter) mDataBinding.recyView.getAdapter();
// if (discoveryListEntities.get(position).getDis_content().isEmpty()) {
// DiscoveryListEntity.Dis_content dis_content = new DiscoveryListEntity.Dis_content();
// dis_content.setContents(content);
//
// }
//
// adapter.upDateOne(position, discoveryListEntities.get(position));
}
}
@@ -1196,88 +1291,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
}
// public void intRecycleHorization(final ArrayList<Advertorial_listEntity> advertorial_list) {
//
// FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
// mgr.setOrientation(FullyGridLayoutManager.HORIZONTAL);
// mgr.setSmoothScrollbarEnabled(true);
// // mDataBinding.fragmentRecyclerviewHorization.setLayoutManager(mgr);
// baseRecycleViewAdapterh = new BaseRecycleViewAdapter(getActivity(), R.layout.fragment_recyclerview_horization_item);
//
// baseRecycleViewAdapterh.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
// @Override
// public void onBindViewHolder(Object b, final int position) {
// FragmentRecyclerviewHorizationItemBinding homeGridAdapterItemBinding = (FragmentRecyclerviewHorizationItemBinding) b;
// homeGridAdapterItemBinding.setMyentity(advertorial_list.get(position));
// if (advertorial_list.get(position).getAdvertorial_picture_array().size() > 0) {
// Picasso.with(getActivity()).load(advertorial_list.get(position).getAdvertorial_picture_array().get(0))
// .placeholder(R.mipmap.icon_default_rectangle)
// .transform(new PicassoRoundTransform())
// .into(homeGridAdapterItemBinding.imageView);
// }
// homeGridAdapterItemBinding.fragmentRecyclerviewHorizationItem.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
// intent.putExtra("url", advertorial_list.get(position).getAdvertorial_url());
// intent.putExtra("titile", advertorial_list.get(position).getAdvertorial_title());
// startActivity(intent);
// /* Intent intent=new Intent(getActivity(),CommodityActivity.class);
// intent.putExtra("homegridentity",advertorial_list.get(position));
// startActivity(intent);*/
// }
// });
//
// }
// });
//
// mDataBinding.fragmentRecyclerviewHorization.setAdapter(baseRecycleViewAdapterh);
// baseRecycleViewAdapterh.setData(advertorial_list);
//
//
// }
// private void intRecycleVerization(final ArrayList<Message_listEntity> message_list) {
// mDataBinding.myversion.setVisibility(View.VISIBLE);
// FullyGridLayoutManager mgr = new FullyGridLayoutManager(getActivity(), 1);
// mgr.setOrientation(FullyGridLayoutManager.VERTICAL);
// mgr.setSmoothScrollbarEnabled(true);
// mDataBinding.recyView.setLayoutManager(mgr);
// baseRecycleViewAdapterv = new BaseRecycleViewAdapter(getActivity(), R.layout.fragment_recyclerview_vorization_item);
//
// baseRecycleViewAdapterv.setOnBindViewHolder(new BaseRecycleViewAdapter.BindView() {
// @Override
// public void onBindViewHolder(Object b, final int position) {
// if (!(position >= message_list.size())) {
// FragmentRecyclerviewVorizationItemBinding homeGridAdapterItemBinding = (FragmentRecyclerviewVorizationItemBinding) b;
// homeGridAdapterItemBinding.setMyentity(message_list.get(position));
//
// Picasso.with(getActivity()).load(message_list.get(position).getMessage_picture())
// .placeholder(R.mipmap.icon_default_rectangle)
// .transform(new PicassoRoundTransform())
// .into(homeGridAdapterItemBinding.imageView);
// homeGridAdapterItemBinding.fragmentRecyclerviewVorizationItem.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
//
//
// Intent intent = new Intent(getActivity(), NewsDetailActivity.class);
// intent.putExtra("url", message_list.get(position).getMessage_url());
// intent.putExtra("titile", message_list.get(position).getMessage_title());
// startActivity(intent);
// }
// });
// }
//
// }
// });
//
// mDataBinding.recyView.setAdapter(baseRecycleViewAdapterv);
// baseRecycleViewAdapterv.setData(message_list);
//
// }
//如果你需要考虑更好的体验,可以这么操作
@Override
public void onStart() {
@@ -1546,67 +1559,6 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> implements V
}
private void requestVersion(String area) {
RegisterUser registerUser = Config.getInstance(getContext()).getUser();
if (registerUser != null) {
userid=registerUser.getUserid();
}
OkGo.<String>post(HttpConstants.URiBase)
.params("app", "Cas")
.params("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret))
.params("userid", userid)
.params("class", "GetMyAddress")
.execute(new StringCallback() {
@Override
public void onStart(Request<String, ? extends Request> request) {
super.onStart(request);
}
@Override
public void onSuccess(Response<String> response) {
Log.e("onSuccess", response.body());
String body = (String) response.body();
MyAddress groupStatisticalBean = JsonUtils.fromJson(body, MyAddress.class);
if(groupStatisticalBean.getStatus()==0){
list = (ArrayList<HomelistitemEntity>) groupStatisticalBean.getData().getHome();
final ArrayList<String> strings = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
strings.add(list.get(i).getAddress());
}
if (list.size() > 0) {
for(int i=0;i<list.size();i++){
HomelistitemEntity homelistitemEntity = list.get(i);
if(homelistitemEntity.getArea().equals(areatwo)){
wy_id = homelistitemEntity.getWy_id();
Log.e("wy_id",wy_id);
}
}
}
}
}
@Override
public void onError(Response<String> response) {
super.onError(response);
}
@Override
public void onFinish() {
super.onFinish();
}
});
}
private void deleteComment(String dis_id, String userid, final int superPosition, final int itemPosition) {
Map<String, String> map = new HashMap<>();

View File

@@ -1,9 +1,15 @@
package com.sl.house_property;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.util.Log;
@@ -43,7 +49,11 @@ public class MainTabActivity extends BaseActivity<ActivityMainTabBinding>
如果在下一个界面有数据更改需要Fragment刷新时通过setResult方法通知主界面主界面的
onActivityResult方法会接收到通知再刷新相应的Fragment
*/
//请求状态码,这里的状态码可以随便写什么数字都可以
private static final int REQUEST_PERMISSION_CODE = 1;
private final static String[] PERMISSIONS_STORAGE = {
android.Manifest.permission.READ_EXTERNAL_STORAGE,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE,};
public static final int RESUlT_CODE_0 = 201;//首页
public static final int RESUlT_CODE_1 = 202;//发现
public static final int RESUlT_CODE_2 = 203;//购物车
@@ -63,17 +73,6 @@ public class MainTabActivity extends BaseActivity<ActivityMainTabBinding>
private Loader mGankLoader;
// @Override
// public boolean dispatchTouchEvent(MotionEvent ev) {
// switch (ev.getAction()) {
// case MotionEvent.ACTION_DOWN:
//
// UtilHelpers.hideKeyboard(ev, getCurrentFocus(), this);
// break;
// }
// return super.dispatchTouchEvent(ev);
//
// }
public void visibilyBottom(int isVisibily) {
findViewById(R.id.rl_bottom).setVisibility(isVisibily);
}
@@ -134,65 +133,45 @@ public class MainTabActivity extends BaseActivity<ActivityMainTabBinding>
.init();
initView();
getData();
// RegisterUser user = Config.getInstance(MainTabActivity.this).getUser();
// Map<String, String> map = new HashMap<>();
// if (user != null) {
// map.put("userid", user.getUserid());
// } else {
// map.put("userid", 0 + "");
// }
// map.put("app", "Cas");
// map.put("class", "MyHouseList");
// //map.put("home_id", "GetHomeByPid");
// map.put("sign", Md5.md5("Cas" + "MyHouseList" + Md5.secret));
// getGankList(ApiConfig.BASE_URL, map, getResources().getString(R.string.requsting), 0);
verifyStoragePermissions(this);
}
public void verifyStoragePermissions(Activity activity) {
try {
//判断当前系统是否是Android6.0(对应API 23)以及以上,如果是则判断是否含有了权限
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
//检测是否有写的权限
int permission = ActivityCompat.checkSelfPermission(activity,
"android.permission.WRITE_EXTERNAL_STORAGE");
/***
* checkSelfPermission返回两个值
* 有权限: PackageManager.PERMISSION_GRANTED
* 无权限: PackageManager.PERMISSION_DENIED
*/
if (permission != PackageManager.PERMISSION_GRANTED) {
// 没有写的权限,去申请写的权限,会弹出对话框
ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
// private void getGankList(String myurl, Map<String, String> map, String msg, final int requstecode) {
//// progressDialog.setMessage(msg);
//// progressDialog.setCancelable(false);
//// progressDialog.show();
// mGankLoader = new Loader();
// Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1<Resultcode>() {
// @Override
// public void call(Resultcode resultcode) {
// progressDialog.dismiss();
//
// if (!(resultcode.status == 0)) {
// setToast(resultcode.msg);
// }
// if (resultcode.status == 0) {
// if (requstecode == 0) {
// Gson gs = new Gson();
// ArrayList<LinkedTreeMap> adta = (ArrayList<LinkedTreeMap>) resultcode.data;
// String s = gs.toJson(adta);
// //final ArrayList<MyHomequEntity> list = null;
// Type type = new TypeToken<ArrayList<MyHouseEntity>>() {
// }.getType();
// final ArrayList<MyHouseEntity> list = new Gson().fromJson(s, type);
// if(list.size()==0){
// SPUtils.setSP(MainTabActivity.this, DoConfig.FANGCHAN_DATA, "0");
// }else {
// SPUtils.setSP(MainTabActivity.this, DoConfig.FANGCHAN_DATA, "1");
// }
// }
// }
// }
//
// }, new Action1<Throwable>() {
// @Override
// public void call(Throwable throwable) {
// progressDialog.dismiss();
// setToast(getString(R.string.getdatafailure));
// throwable.printStackTrace();
// }
// });
//
// addSubscription(subscription);
// }
//回调函数申请权限后回调onRequestPermissionResult函数第一个参数为请求码第二个参数是刚刚请求的权限集第三个参数是请求结果0表示授权成功-1表示授权失败
//requestCode这个对应请求状态码permissions这个是前面你要申请的权限集合grantResults这个是申请权限的结果
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_PERMISSION_CODE) {
for (int i = 0; i < permissions.length; i++) {
//grantResults[i]返回0表示授权成功返回-1表示授权失败
Log.i("111333", "申请的权限为:" + permissions[i] + ",申请结果:" + grantResults[i]);
}
}
}
@SuppressLint("MissingSuperCall")
@Override
@@ -290,15 +269,6 @@ public class MainTabActivity extends BaseActivity<ActivityMainTabBinding>
}
currentFragment = fragment4;
break;
// case R.id.like:
// if (likeFragment == null) {
// likeFragment = LikeFragment.newInstance();
// fragmentTransaction.add(R.id.mycontent, likeFragment, "likeFragment");
// } else {
// fragmentTransaction.show(likeFragment);
// }
// currentFragment = likeFragment;
// break;
}
try {
fragmentTransaction.commit();
@@ -338,37 +308,9 @@ public class MainTabActivity extends BaseActivity<ActivityMainTabBinding>
Log.e("测试","测试");
if (resultCode == RESUlT_CODE_4) {
if (currentFragment == fragment4) {
// if(fragment0!=null){
// fragmentTransaction.remove(fragment0);
// fragment0 = null;
// }
// if(fragment1!=null){
// fragmentTransaction.remove(fragment1);
// fragment1 = null;
// }
// if(fragment2!=null){
// fragmentTransaction.remove(fragment2);
// fragment2 = null;
// }
// if(fragment3!=null){
// fragmentTransaction.remove(fragment3);
// fragment3 = null;
// }
//
// fragmentTransaction.remove(fragment4);
// mDataBinding.getRoot().setBackground(getResources().getDrawable(R.mipmap.beijing));
// if (fragment4 == null) {
// fragment4 = Main4Fragment.newInstance("", "");
// fragmentTransaction.add(R.id.mycontent, fragment4, "fragment4");
// } else {
//
// }
// fragmentTransaction.show(fragment4);
// currentFragment = fragment4;
fragment4.refreshData();
}
try {
// fragmentTransaction.commit();
} catch (Exception e) {
e.fillInStackTrace();
fragmentTransaction.commitAllowingStateLoss();
@@ -413,16 +355,8 @@ public class MainTabActivity extends BaseActivity<ActivityMainTabBinding>
MessageEntity messageEntity = gs.fromJson(s, MessageEntity.class);
int i = Integer.parseInt(messageEntity.getMsg_count());
if (i > 0) {
setMessageCount(i);
}
}
}, new Action1<Throwable>() {
@Override

View File

@@ -34,10 +34,10 @@ public class GetVesionResponseBean {
* version : 1.1.0
*/
private int success;
private String msg;
private String version;
private String content;
private int success=0;
private String msg="";
private String version="112";
private String content="aas";
public int getSuccess() {
return success;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#ffd700" />
<solid android:color="#FE773B" />
<corners android:radius="25dp" />
</shape>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ProgressBar
android:id="@+id/progress"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
/>

View File

@@ -29,7 +29,7 @@
<color name="text_name">#606492</color>
<color name="color_5b4c00">#5b4c00</color>
<color name="color_6c6c6c">#6c6c6c</color>
<color name="color_8c619">#f8c619</color>
<color name="color_ffeb7f">#ffeb7f</color>
<color name="color_8c619">#FE773B</color>
<color name="color_ffeb7f">#FE773B</color>
<color name="colorWhite">#FFF</color>
</resources>