diff --git a/app/build.gradle b/app/build.gradle index 2efc5dd..276f9a9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 { diff --git a/app/src/main/java/com/sl/house_property/MainFragment.java b/app/src/main/java/com/sl/house_property/MainFragment.java index 459a672..b7a920f 100644 --- a/app/src/main/java/com/sl/house_property/MainFragment.java +++ b/app/src/main/java/com/sl/house_property/MainFragment.java @@ -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 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 discoveryListEntities = new ArrayList<>(); @@ -125,15 +137,12 @@ public class MainFragment extends BaseFragment implements V private ArrayList mBannerImages; private List 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 implements V super.onResume(); RegisterUser user1; if (user == null) { - - user1 = - Config.getInstance(getActivity()).getUser(); + user1 = Config.getInstance(getActivity()).getUser(); if (user1 != null) { Map map = new HashMap<>(); if (user1 != null) { @@ -180,7 +187,6 @@ public class MainFragment extends BaseFragment implements V page=1; getlist(page); } - ; } if (wy_id.equals("")) { @@ -224,19 +230,174 @@ public class MainFragment extends BaseFragment 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.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())// + .subscribeOn(Schedulers.io())// + .observeOn(AndroidSchedulers.mainThread())// + .subscribe(new io.reactivex.Observer>() { + + @Override + public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) { + // addDisposable(d); + } + + @Override + public void onNext(@io.reactivex.annotations.NonNull Response 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("
", "
"); + 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 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 implements V } }, 13000); mGankLoader = new Loader(); - /* Map map=new HashMap(); - map.put("phone");*/ mGankLoader.getMovie(myurl, map).subscribe(new Action1() { @Override public void call(Resultcode resultcode) { @@ -358,33 +517,9 @@ public class MainFragment extends BaseFragment 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(),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 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 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 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 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 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 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 implements V } -// public void intRecycleHorization(final ArrayList 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_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 implements V } - - - private void requestVersion(String area) { - - RegisterUser registerUser = Config.getInstance(getContext()).getUser(); - if (registerUser != null) { - userid=registerUser.getUserid(); - } - OkGo.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 request) { - super.onStart(request); - } - - @Override - public void onSuccess(Response response) { - - Log.e("onSuccess", response.body()); - String body = (String) response.body(); - - MyAddress groupStatisticalBean = JsonUtils.fromJson(body, MyAddress.class); - - if(groupStatisticalBean.getStatus()==0){ - list = (ArrayList) groupStatisticalBean.getData().getHome(); - final ArrayList 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 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 map = new HashMap<>(); diff --git a/app/src/main/java/com/sl/house_property/MainTabActivity.java b/app/src/main/java/com/sl/house_property/MainTabActivity.java index c6242f3..d1c157b 100644 --- a/app/src/main/java/com/sl/house_property/MainTabActivity.java +++ b/app/src/main/java/com/sl/house_property/MainTabActivity.java @@ -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 如果在下一个界面有数据更改,需要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 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 .init(); initView(); getData(); -// RegisterUser user = Config.getInstance(MainTabActivity.this).getUser(); -// Map 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 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() { -// @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 adta = (ArrayList) resultcode.data; -// String s = gs.toJson(adta); -// //final ArrayList list = null; -// Type type = new TypeToken>() { -// }.getType(); -// final ArrayList 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() { -// @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 } 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 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 MessageEntity messageEntity = gs.fromJson(s, MessageEntity.class); int i = Integer.parseInt(messageEntity.getMsg_count()); if (i > 0) { - - - setMessageCount(i); - - } - - - } }, new Action1() { @Override diff --git a/app/src/main/java/entity/GetVesionResponseBean.java b/app/src/main/java/entity/GetVesionResponseBean.java index b76774a..16c2c0b 100644 --- a/app/src/main/java/entity/GetVesionResponseBean.java +++ b/app/src/main/java/entity/GetVesionResponseBean.java @@ -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; diff --git a/app/src/main/res/drawable/bg_version_btn.xml b/app/src/main/res/drawable/bg_version_btn.xml index e9ac698..86e363a 100644 --- a/app/src/main/res/drawable/bg_version_btn.xml +++ b/app/src/main/res/drawable/bg_version_btn.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/progress.xml b/app/src/main/res/layout/progress.xml index c2c6a20..6e2249a 100644 --- a/app/src/main/res/layout/progress.xml +++ b/app/src/main/res/layout/progress.xml @@ -1,12 +1,12 @@ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 50f620d..7cfcc62 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -29,7 +29,7 @@ #606492 #5b4c00 #6c6c6c - #f8c619 - #ffeb7f + #FE773B + #FE773B #FFF