Quellcode durchsuchen

本地生成二维码图片

zengjiebin vor 7 Jahren
Ursprung
Commit
f90951fb6d

+ 1 - 1
app/build.gradle

@@ -150,7 +150,7 @@ dependencies {
     compile 'org.xutils:xutils:3.5.0'
     compile 'com.mylhyl:acp:1.1.7'
 
-    //    compile 'cn.yipianfengye.android:zxing-library:2.2'
+    compile 'cn.yipianfengye.android:zxing-library:2.2'
     compile 'com.github.huburt-Hu:NewbieGuide:v1.2.0'
     debugCompile 'com.android.support:multidex:1.0.1'
 

+ 28 - 0
app/src/main/java/com/sheep/gamegroup/util/GlideImageLoader.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.util;
 
 import android.content.Intent;
+import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.net.Uri;
 import android.text.TextUtils;
@@ -14,6 +15,7 @@ import com.sheep.gamegroup.util.glide.GlideCircleTransformWithBorder;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.FileCallBack;
 
@@ -99,6 +101,32 @@ public class GlideImageLoader {
                 .into(imageView);
     }
 
+    /**
+     * 设置二维码图片
+     * @param imageView
+     * @param link
+     * @param w
+     */
+    public static void saveAndSetRqImage(final ImageView imageView, String link, int w) {
+        String fileName = String.format(Locale.CHINA, "%d.png", link.hashCode());
+        File file = new File(ClassFileHelper.DIR, fileName);
+        if(!file.exists()){
+            Bitmap mBitmap = CodeUtils.createImage(link, w, w, null);
+            if(mBitmap != null) {
+                ViewUtil.saveImage(mBitmap, ClassFileHelper.DIR, fileName);
+                if(imageView != null)
+                    imageView.setImageBitmap(mBitmap);
+            }
+        }
+        if(file.exists()){
+            if(imageView != null)
+                Glide.with(SheepApp.getInstance())
+                        .load(file)
+                        .apply(new RequestOptions().override(w, w))
+                        .into(imageView);
+        }
+    }
+
 
     public static void downloadAndSetImage(final ImageView imageView, final String link, final int w) {
         downLoadImage(String.format(Locale.CHINA, "%d", link.hashCode()), link, new Action1<File>() {

+ 2 - 3
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -99,7 +99,6 @@ import com.sheep.jiuyan.samllsheep.service.FloatShotScreenService;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
-import org.afinal.simplecache.ACache;
 import org.xutils.ex.DbException;
 
 import java.io.File;
@@ -254,7 +253,7 @@ public class Jump2View {
             public void call(UserEntity userEntity) {
                 if(userEntity != null && !TextUtils.isEmpty(userEntity.getShare_link())) {
                     //PersionInfoAct.java与AskGetMoneyAct.java中分享二维码时的图片预下载
-                    GlideImageLoader.downloadAndSetImage(null, AppUtil.getQRLink(userEntity.getShareLink(DialogShare.FACE_TO_FACE), 800), 800);
+                    GlideImageLoader.saveAndSetRqImage(null, AppUtil.getQRLink(userEntity.getShareLink(DialogShare.FACE_TO_FACE), 800), 800);
                 }
 
                 if(userEntity != null && userEntity.canBindMobile()
@@ -280,7 +279,7 @@ public class Jump2View {
             public void call(UserEntity userEntity) {
                 if(userEntity != null && !TextUtils.isEmpty(userEntity.getShare_link())) {
                     //PersionInfoAct.java与AskGetMoneyAct.java中分享二维码时的图片预下载
-                    GlideImageLoader.downloadAndSetImage(null, AppUtil.getQRLink(userEntity.getShareLink(DialogShare.FACE_TO_FACE), 800), 800);
+                    GlideImageLoader.saveAndSetRqImage(null, AppUtil.getQRLink(userEntity.getShareLink(DialogShare.FACE_TO_FACE), 800), 800);
                 }
 
                 if(userEntity != null && userEntity.canBindMobile()

+ 3 - 12
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -14,7 +14,6 @@ import android.graphics.drawable.Drawable;
 import android.media.MediaPlayer;
 import android.net.Uri;
 import android.os.Build;
-import android.os.Bundle;
 import android.provider.MediaStore;
 import android.support.v7.app.AlertDialog;
 import android.support.v7.widget.GridLayoutManager;
@@ -23,23 +22,19 @@ import android.text.Html;
 import android.text.TextUtils;
 import android.text.method.ScrollingMovementMethod;
 import android.util.DisplayMetrics;
-import android.util.Log;
 import android.view.Display;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
 import android.webkit.WebView;
-import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
-import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.VideoView;
 
@@ -48,7 +43,6 @@ import com.bumptech.glide.RequestBuilder;
 import com.bumptech.glide.request.RequestOptions;
 import com.google.gson.Gson;
 import com.kfzs.duanduan.fragment.FgtPersonalCenter;
-import com.kfzs.duanduan.fragment.FgtSmallSheep;
 import com.sheep.gamegroup.dateview.DatePickerDialog;
 import com.sheep.gamegroup.dateview.DateUtil;
 import com.sheep.gamegroup.model.entity.Advertising;
@@ -58,8 +52,6 @@ import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.GameAccountEntity;
 import com.sheep.gamegroup.model.entity.PayEntity;
 import com.sheep.gamegroup.model.entity.RobTask;
-import com.sheep.gamegroup.model.entity.TaskEty;
-import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.glide.RoundedCornersTransformation;
 import com.sheep.gamegroup.view.activity.PersonalInfoAct;
@@ -78,7 +70,6 @@ import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
 import org.afinal.simplecache.ACache;
-import org.greenrobot.eventbus.EventBus;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -88,7 +79,6 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
-import io.reactivex.annotations.Nullable;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.functions.Action1;
 import rx.schedulers.Schedulers;
@@ -131,7 +121,8 @@ public class ViewUtil {
         final ImageView iv_qr = view.findViewById(R.id.iv_qr);
         View save_pic = view.findViewById(R.id.save_pic);
         ImageView iv_qr_small = view.findViewById(R.id.iv_qr_small);
-        GlideImageLoader.downloadAndSetImage(iv_qr, AppUtil.getQRLink(link, 800), 800);
+
+        GlideImageLoader.saveAndSetRqImage(iv_qr, AppUtil.getQRLink(link, 800), 800);
         Glide.with(activity)
                 .load(R.drawable.icon)
                 .apply(new RequestOptions().override(G.WIDTH / 8))
@@ -474,7 +465,7 @@ public class ViewUtil {
         if (!TextUtils.isEmpty(link))
             tv_link.setText(link);
 
-        GlideImageLoader.downloadAndSetImage(iv_qr, AppUtil.getQRLink(link, 800), 800);
+        GlideImageLoader.saveAndSetRqImage(iv_qr, AppUtil.getQRLink(link, 800), 800);
         dialog_close.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/PersonalInfoAct.java

@@ -279,7 +279,7 @@ public class PersonalInfoAct extends AbsChooseImageActivity {
         personal_info_name.setText(userEntity.getNickname());
         personal_info_code.setText(userEntity.getInvitation_code());
 
-        GlideImageLoader.downloadAndSetImage(personal_info_qr, AppUtil.getQRLink(userEntity.getShareLink(DialogShare.FACE_TO_FACE), 90), 90);
+        GlideImageLoader.saveAndSetRqImage(personal_info_qr, AppUtil.getQRLink(userEntity.getShareLink(DialogShare.FACE_TO_FACE), 90), 90);
         GlideImageLoader.setAvatar(personal_info_avatar, userEntity.getAvatar());
         //账号与安全