From bdeef6c8d8cfa905ab925df302a339f375613f61 Mon Sep 17 00:00:00 2001 From: lh <1209405678@qq.com> Date: Wed, 6 Dec 2017 13:34:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E7=BD=AE=E6=9E=81?= =?UTF-8?q?=E5=85=89tag=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=201.0.0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/bwpsoft.jks | Bin 0 -> 2103 bytes .../com/qhclh/ytzh/bean/DownLoadBean.java | 87 +++++++++++++++++ .../com/qhclh/ytzh/home/MainActivity.java | 43 +++++++++ .../com/qhclh/ytzh/home/MyApplication.java | 4 - .../com/qhclh/ytzh/login/LoginActivity.java | 8 ++ .../java/com/qhclh/ytzh/utils/ApkUtils.java | 62 ++++++++++++ .../java/com/qhclh/ytzh/utils/Urltool.java | 89 ++++++++++++++++++ 7 files changed, 289 insertions(+), 4 deletions(-) create mode 100644 app/bwpsoft.jks create mode 100644 app/src/main/java/com/qhclh/ytzh/bean/DownLoadBean.java create mode 100644 app/src/main/java/com/qhclh/ytzh/utils/ApkUtils.java create mode 100644 app/src/main/java/com/qhclh/ytzh/utils/Urltool.java diff --git a/app/bwpsoft.jks b/app/bwpsoft.jks new file mode 100644 index 0000000000000000000000000000000000000000..d6ea904b6b6e0b2dfcfe383e063c167ca41bf484 GIT binary patch literal 2103 zcma)+X*iUN8^+&vW{iE`;#e}-w|U2!j-_Oe$`V5gbB--Tlne%qv2UfaMU*heehMel zF$~#di4(FN*_lYm82tUubv~Sr=fnNsem>mSbKUoK{SG${Hvj;D9Si(htT;m8?VDb~ z$KLq?v~B|cEC57CFd-f!hYAuzfXXm_5M%)mWW;i)zW&?LIh!lxZ^plEZv58TIqndn zX_dazp{V>N?u>)LuSr&)WtWX;Hatb`XT_hlLj4FT&6m-8Z*d%S&J->2<*C>@-wbaTo{(qU@}cRGy1g~#zoFHA}Y!g>}t zuk7nNxvqLXPj$ugtBT*AujY@g7CRboK4p^^g@jyQbgIWlU>)Di)-QMnxZ_2i|A-QQ zW$?DQ)}<3Sq1U&$g=SQ(R=@EA?7yacFO4oK!fEBLJD#J&TCaIzEolO!GWuPk-TI;v zRWDIKH#v;3VS$EyW9A_b4GbzcMgFog2Mf=uZpV}m{nk3arL3Map}xu=wUB%qD{kLf zwOk;ncjDR|*4AkS)9l%lC*f8#9U@(p>`LtoBU@SOy8VPoxnJ4K++XX8nqo3!Tu%(X z+e%|^x@Vn?AZ>Ihl>H&*9fdW@AtCJm+}R6_%IdITQI&k&F+P%UbyPhx^Jy73A=QQx z5cGwc+$uf-A@Q8ram+Y5c@u+G-3XN}?bd+^!bQBxps z2QQZ35cy$daksYcZIMsf@U>H;-8Pmv6vZ(ZQKH_)!%a-n4%SMCB8SbCX5e8eZIwHj z<54ZwMpy*|)y;}$E-BvEiBLiE44=+UjUmKYUd=lu@Fl}m)2u$@*!c`9g z1O_E0hJ`ob!siV+E(i7#^|lrM!##vdZS4S;}j&rKfo(CDxe#1)*DG4=+RtdF;UoC*jifBLFMT z_YI-5^D4csPCiZ3(*4f(N%s56XJ6@Z8K<$I?xxE4d7nVH>)+Ry?5DM@afHdyD62_eNTq z$$*+}RkLsE1ylT;q@~EGB%`3;aaCD;Rcg{EKZu@k(rd=QBr0m0q*~Xaa3^eFry>IM zCh`9)MEdeM%9JJpfwpYD)cZ^^QkU_v?1ybm7kho3I}@@JE9v^1f{w_=m> zI=kBdBcH+8p=W<(%_t=lDD?0;HZ|}xBS)=?7!5q~9V{Gdj-4Xazo%@sI_dYx2Y z<27oD$F6T~Ifq&03wnkHU0Ld-#CUGPsc|p(q><*SJgg}mH(Kij=X78NyoY~n5L5mPTf3tY^h_|yOC@uS!>d{JX$3z%MQ|bd z&HE)1^D;+vw&V@Jxf02VR@JUmm4paejriEM?Z!`6QJ?K*uR4A&=$aDjXtt`8p}!wo zQ3uWqSiqi!@FmGvcQSv$*vr45x>g~f}F>|l*jNL0~3A)!79j#^Yp#p8{mx*fcXA@ z;pAdp$$z+&xSJr8KW1GQ_^MDj8y{}N#J5<;Q=`9PU(8ex0cm=9ba-~! zK6Z3zE>9pIQcMy9{CT3*T(A2FbC(DB*~^tUwsQ#ay7_ahRVZcgtKS}G2@#>z_Hm6k z`)K~Y#d8JsJlW_Sp@mMFr*VGK6=QnvnZXwpelgx`!>oFOsJl*-sK*Fty(EQb6B zz2kolP(IkXq;uq>A|&N*pogZ-tv9VI=TNqXn9Q#uT()*Oy7JO|9IM=V)CX;@qaU@_ zV_c9ynOwR&4Y z1*Z%@b=AFaSm;OQMyZ2CaWt^>rFF|;ZlL!ig*fgqm?ZJw=ClMasKtA8a>PoQ&f-|b z9hlJXhP&h+Y1pjQ(LPQk{6tW`Na_C^4r);l;mv>E02!qkx7WNB-+LG^)re6D={?msA3USW$DNoGt z70&~?_eC-k6n7TUB6*L~rV)^N=9@+Z$>O}7Ke{~CBEBt+f0!KZZAIfe`r6p3IG5A literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/qhclh/ytzh/bean/DownLoadBean.java b/app/src/main/java/com/qhclh/ytzh/bean/DownLoadBean.java new file mode 100644 index 0000000..9aedd88 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/bean/DownLoadBean.java @@ -0,0 +1,87 @@ +package com.qhclh.ytzh.bean; + +import com.google.gson.annotations.SerializedName; + +/** + * Created by 青花瓷 on 2017/9/5. + */ + +public class DownLoadBean { + + /** + * name : MarketPlaceMerchantApp + * version : 0.1 + * filename : release.apk + * versions : {"0.1":"http://bwp.oss-cn-beijing.aliyuncs.com/publish/MarketPlaceMerchantApp/0.1/release.apk"} + * download : http://bwp.oss-cn-beijing.aliyuncs.com/publish/MarketPlaceMerchantApp/release.apk + * qrcode : http://bwp.oss-cn-beijing.aliyuncs.com/publish/MarketPlaceMerchantApp/qrcode.png + */ + + private String name; + private String version; + private String filename; + private VersionsBean versions; + private String download; + private String qrcode; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getFilename() { + return filename; + } + + public void setFilename(String filename) { + this.filename = filename; + } + + public VersionsBean getVersions() { + return versions; + } + + public void setVersions(VersionsBean versions) { + this.versions = versions; + } + + public String getDownload() { + return download; + } + + public void setDownload(String download) { + this.download = download; + } + + public String getQrcode() { + return qrcode; + } + + public void setQrcode(String qrcode) { + this.qrcode = qrcode; + } + + public static class VersionsBean { + @SerializedName("0.1") + private String _$_01260; // FIXME check this code + + public String get_$_01260() { + return _$_01260; + } + + public void set_$_01260(String _$_01260) { + this._$_01260 = _$_01260; + } + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java b/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java index 5646720..bec9ae5 100644 --- a/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java +++ b/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java @@ -1,6 +1,8 @@ package com.qhclh.ytzh.home; import android.Manifest; +import android.content.Intent; +import android.net.Uri; import android.support.annotation.NonNull; import android.support.v4.app.FragmentTransaction; import android.support.v7.widget.Toolbar; @@ -8,10 +10,14 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import com.google.gson.Gson; import com.qhclh.ytzh.R; import com.qhclh.ytzh.base.BaseActivity; +import com.qhclh.ytzh.bean.DownLoadBean; import com.qhclh.ytzh.index.IndexFragment; import com.qhclh.ytzh.me.MeFragment; +import com.qhclh.ytzh.utils.ApkUtils; +import com.qhclh.ytzh.utils.Urltool; import com.qhclh.ytzh.work.WorkFragment; import butterknife.BindView; @@ -55,6 +61,9 @@ public class MainActivity extends BaseActivity { private MeFragment meFragment; + private String versionName, downloadUrl; + private DownLoadBean downLoadBean; + @Override protected int setLayoutId() { return R.layout.act_main; @@ -237,4 +246,38 @@ public class MainActivity extends BaseActivity { super.onRequestPermissionsResult(requestCode, permissions, grantResults); EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); } + + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + checkUpData(); + } + + private void checkUpData() { + ///< 版本更新检查 + final String url = "http://bwp.oss-cn-beijing.aliyuncs.com/publish/ZhongHuiApp/publish.json"; + new Thread(new Runnable() { + @Override + public void run() { + String jsonString = Urltool.getJsonByInternet(url); + if (jsonString != null && !jsonString.equals("")) { + Gson gson = new Gson(); + downLoadBean = gson.fromJson(jsonString, DownLoadBean.class); + versionName = downLoadBean.getVersion(); + downloadUrl = downLoadBean.getDownload(); + String localversionname = ApkUtils.getVersionName(MainActivity.this); + + if (localversionname.equals(versionName)) { +// showToast(""); + } else { + Intent intent = new Intent(); + intent.setAction("android.intent.action.VIEW"); + Uri content_url = Uri.parse(downloadUrl); + intent.setData(content_url); + startActivity(intent); + } + } + } + }).start(); + } } diff --git a/app/src/main/java/com/qhclh/ytzh/home/MyApplication.java b/app/src/main/java/com/qhclh/ytzh/home/MyApplication.java index 76effc0..5a2596b 100644 --- a/app/src/main/java/com/qhclh/ytzh/home/MyApplication.java +++ b/app/src/main/java/com/qhclh/ytzh/home/MyApplication.java @@ -51,10 +51,6 @@ public class MyApplication extends LitePalApplication { RpcFacade.init(this.getApplicationContext(),NAME); JPushInterface.setDebugMode(true); JPushInterface.init(this); - -// Set setTags = new LinkedHashSet<>(); -// setTags.add("aaa"); -// JPushInterface.setTags(this,0,setTags); } public void exit() { diff --git a/app/src/main/java/com/qhclh/ytzh/login/LoginActivity.java b/app/src/main/java/com/qhclh/ytzh/login/LoginActivity.java index 784f51d..7f8a432 100644 --- a/app/src/main/java/com/qhclh/ytzh/login/LoginActivity.java +++ b/app/src/main/java/com/qhclh/ytzh/login/LoginActivity.java @@ -19,8 +19,12 @@ import com.qhclh.ytzh.utils.HdHttpUtil; import org.forks.jsonrpc.RpcFacade; +import java.util.LinkedHashSet; +import java.util.Set; + import butterknife.BindView; import butterknife.OnClick; +import cn.jpush.android.api.JPushInterface; /** * Created by 青花瓷 on 2017/11/28. @@ -36,6 +40,7 @@ public class LoginActivity extends BaseActivity { private LoginUserConfig config = new LoginUserConfig(this); private ServerConfig sconfig = new ServerConfig(this); + @Override protected int setLayoutId() { return R.layout.act_login; @@ -105,6 +110,9 @@ public class LoginActivity extends BaseActivity { @Override protected void successUI() { ConfigUtil.Fill(sconfig); + Set setTags = new LinkedHashSet<>(); + setTags.add(config.Username); + JPushInterface.setTags(LoginActivity.this, 0, setTags); ActivityUtil.Go(LoginActivity.this, MainActivity.class); } }; diff --git a/app/src/main/java/com/qhclh/ytzh/utils/ApkUtils.java b/app/src/main/java/com/qhclh/ytzh/utils/ApkUtils.java new file mode 100644 index 0000000..a1871c1 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/utils/ApkUtils.java @@ -0,0 +1,62 @@ +package com.qhclh.ytzh.utils; + +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.util.Log; + +public class ApkUtils { + /** + * This method provide the package's name. + * + * @param context + * @return String name + */ + public static String getPackageName(Context context) { + PackageManager manager = context.getPackageManager(); + String packageName = "0"; + try { + PackageInfo info = manager.getPackageInfo(context.getPackageName(),0); + packageName = info.packageName; + } catch (Exception e) { + Log.e("ApkInfo", e.getMessage()); + } + return packageName; + } + + /** + * This method provide the package's version name. + * + * @param context + * @return String name + */ + public static String getVersionName(Context context) { + PackageManager manager = context.getPackageManager(); + String versionName = "0"; + try { + PackageInfo info = manager.getPackageInfo(context.getPackageName(),0); + versionName = info.versionName; + } catch (Exception e) { + Log.e("ApkInfo", e.getMessage()); + } + return versionName; + } + + /** + * This method provide the package's version code + * + * @param context + * @return int code + */ + public static int getVersionCode(Context context) { + PackageManager manager = context.getPackageManager(); + int versionCode = 0; + try { + PackageInfo info = manager.getPackageInfo(context.getPackageName(),0); + versionCode = info.versionCode; + } catch (Exception e) { + Log.e("ApkInfo", e.getMessage()); + } + return versionCode; + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/utils/Urltool.java b/app/src/main/java/com/qhclh/ytzh/utils/Urltool.java new file mode 100644 index 0000000..3db0e70 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/utils/Urltool.java @@ -0,0 +1,89 @@ +package com.qhclh.ytzh.utils; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLDecoder; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by 青花瓷 on 2017/8/18. + */ + +public class Urltool { + ///< 获取url的键值 + public static Map getParameters(String url) { + Map params=new HashMap(); + if(url==null || "".equals(url.trim())){ + return params; + } + try { + url = URLDecoder.decode(url, "UTF-8"); + } catch (UnsupportedEncodingException e1) { + e1.printStackTrace(); + } + String[] split = url.split("[?]"); + if (split.length == 2 && !"".equals(split[1].trim())) { + String[] parameters = split[1].split("&"); + if (parameters != null && parameters.length != 0) { + for (int i = 0; i < parameters.length; i++) { + if (parameters[i] != null + && parameters[i].trim().contains("=")) { + String[] split2 = parameters[i].split("="); + //split2可能为1,可能为2 + if(split2.length==1){ + //有这个参数但是是空的 + params.put(split2[0], ""); + }else if(split2.length==2){ + if(!"".equals(split2[0].trim())){ + params.put(split2[0], split2[1]); + } + } + } + } + } + } + return params; + } + + + + /** + * 从网络获取json数据,(String byte[}) + + * @param path + * @return + */ + public static String getJsonByInternet(String path){ + try { + URL url = new URL(path.trim()); + //打开连接 + HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); + urlConnection.setConnectTimeout(3000); + urlConnection.setRequestMethod("GET"); + + if(200 == urlConnection.getResponseCode()){ + //得到输入流 + InputStream is =urlConnection.getInputStream(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int len = 0; + while(-1 != (len = is.read(buffer))){ + baos.write(buffer,0,len); + baos.flush(); + } + is.close(); + baos.close(); + return baos.toString("utf-8"); + } + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } +}