Browse Source

增加设置极光tag,增加自动更新 1.0.0版本

master
lh 8 years ago
parent
commit
bdeef6c8d8
7 changed files with 289 additions and 4 deletions
  1. BIN
      app/bwpsoft.jks
  2. +87
    -0
      app/src/main/java/com/qhclh/ytzh/bean/DownLoadBean.java
  3. +43
    -0
      app/src/main/java/com/qhclh/ytzh/home/MainActivity.java
  4. +0
    -4
      app/src/main/java/com/qhclh/ytzh/home/MyApplication.java
  5. +8
    -0
      app/src/main/java/com/qhclh/ytzh/login/LoginActivity.java
  6. +62
    -0
      app/src/main/java/com/qhclh/ytzh/utils/ApkUtils.java
  7. +89
    -0
      app/src/main/java/com/qhclh/ytzh/utils/Urltool.java

BIN
app/bwpsoft.jks View File


+ 87
- 0
app/src/main/java/com/qhclh/ytzh/bean/DownLoadBean.java View File

@ -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;
}
}
}

+ 43
- 0
app/src/main/java/com/qhclh/ytzh/home/MainActivity.java View File

@ -1,6 +1,8 @@
package com.qhclh.ytzh.home; package com.qhclh.ytzh.home;
import android.Manifest; import android.Manifest;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
@ -8,10 +10,14 @@ import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.google.gson.Gson;
import com.qhclh.ytzh.R; import com.qhclh.ytzh.R;
import com.qhclh.ytzh.base.BaseActivity; import com.qhclh.ytzh.base.BaseActivity;
import com.qhclh.ytzh.bean.DownLoadBean;
import com.qhclh.ytzh.index.IndexFragment; import com.qhclh.ytzh.index.IndexFragment;
import com.qhclh.ytzh.me.MeFragment; 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 com.qhclh.ytzh.work.WorkFragment;
import butterknife.BindView; import butterknife.BindView;
@ -55,6 +61,9 @@ public class MainActivity extends BaseActivity {
private MeFragment meFragment; private MeFragment meFragment;
private String versionName, downloadUrl;
private DownLoadBean downLoadBean;
@Override @Override
protected int setLayoutId() { protected int setLayoutId() {
return R.layout.act_main; return R.layout.act_main;
@ -237,4 +246,38 @@ public class MainActivity extends BaseActivity {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); 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();
}
} }

+ 0
- 4
app/src/main/java/com/qhclh/ytzh/home/MyApplication.java View File

@ -51,10 +51,6 @@ public class MyApplication extends LitePalApplication {
RpcFacade.init(this.getApplicationContext(),NAME); RpcFacade.init(this.getApplicationContext(),NAME);
JPushInterface.setDebugMode(true); JPushInterface.setDebugMode(true);
JPushInterface.init(this); JPushInterface.init(this);
// Set<String> setTags = new LinkedHashSet<>();
// setTags.add("aaa");
// JPushInterface.setTags(this,0,setTags);
} }
public void exit() { public void exit() {


+ 8
- 0
app/src/main/java/com/qhclh/ytzh/login/LoginActivity.java View File

@ -19,8 +19,12 @@ import com.qhclh.ytzh.utils.HdHttpUtil;
import org.forks.jsonrpc.RpcFacade; import org.forks.jsonrpc.RpcFacade;
import java.util.LinkedHashSet;
import java.util.Set;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
import cn.jpush.android.api.JPushInterface;
/** /**
* Created by 青花瓷 on 2017/11/28. * Created by 青花瓷 on 2017/11/28.
@ -36,6 +40,7 @@ public class LoginActivity extends BaseActivity {
private LoginUserConfig config = new LoginUserConfig(this); private LoginUserConfig config = new LoginUserConfig(this);
private ServerConfig sconfig = new ServerConfig(this); private ServerConfig sconfig = new ServerConfig(this);
@Override @Override
protected int setLayoutId() { protected int setLayoutId() {
return R.layout.act_login; return R.layout.act_login;
@ -105,6 +110,9 @@ public class LoginActivity extends BaseActivity {
@Override @Override
protected void successUI() { protected void successUI() {
ConfigUtil.Fill(sconfig); ConfigUtil.Fill(sconfig);
Set<String> setTags = new LinkedHashSet<>();
setTags.add(config.Username);
JPushInterface.setTags(LoginActivity.this, 0, setTags);
ActivityUtil.Go(LoginActivity.this, MainActivity.class); ActivityUtil.Go(LoginActivity.this, MainActivity.class);
} }
}; };


+ 62
- 0
app/src/main/java/com/qhclh/ytzh/utils/ApkUtils.java View File

@ -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;
}
}

+ 89
- 0
app/src/main/java/com/qhclh/ytzh/utils/Urltool.java View File

@ -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<String, String> getParameters(String url) {
Map<String, String> params=new HashMap<String, String>();
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;
}
}

Loading…
Cancel
Save