From 99c0c488ead4baf7a709a6ee4620bee6d3dcc2e2 Mon Sep 17 00:00:00 2001 From: endian11 <Dana_Lee1016@126.com> Date: 星期一, 09 九月 2019 18:53:32 +0800 Subject: [PATCH] 加入viewmodel和Dimenutil --- app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java | 33 ++++++++++++++++ app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java | 75 +++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java b/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java new file mode 100644 index 0000000..0f8b220 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java @@ -0,0 +1,75 @@ +package safeluck.drive.evaluation.util; + +import android.app.Activity; +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.telephony.TelephonyManager; +import android.util.DisplayMetrics; +import android.view.Surface; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.MultiFormatWriter; +import com.google.zxing.WriterException; +import com.google.zxing.common.BitMatrix; + +import java.util.Hashtable; + +import static android.graphics.Color.BLACK; + + +public final class DimenUtil { + + public static int getScreenWidth(Context context ) { + final Resources resources = context.getResources(); + final DisplayMetrics dm = resources.getDisplayMetrics(); + return dm.widthPixels; + } + + public static int getScreenHeight(Context context) { + final Resources resources = context.getResources(); + final DisplayMetrics dm = resources.getDisplayMetrics(); + return dm.heightPixels; + } + + public static int getDisplayRotation(Activity activity) { + int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); + switch (rotation) { + case Surface.ROTATION_0: + return 0; + case Surface.ROTATION_90: + return 90; + case Surface.ROTATION_180: + return 180; + case Surface.ROTATION_270: + return 270; + } + return 0; + } + + public static Bitmap createQRCode(String str, int widthAndHeight) + throws WriterException { + Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(); + hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); + BitMatrix matrix = new MultiFormatWriter().encode(str, + BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight); + + int width = matrix.getWidth(); + int height = matrix.getHeight(); + int[] pixels = new int[width * height]; + //鐢婚粦鐐� + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + if (matrix.get(x, y)) { + pixels[y * width + x] = BLACK; //0xff000000 + } + } + } + Bitmap bitmap = Bitmap.createBitmap(width, height, + Bitmap.Config.ARGB_8888); + bitmap.setPixels(pixels, 0, width, 0, 0, width, height); + return bitmap; + } + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java new file mode 100644 index 0000000..44a397b --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/MainViewModel.java @@ -0,0 +1,33 @@ +package safeluck.drive.evaluation.viewmodels; + + +import android.arch.lifecycle.LiveData; +import android.arch.lifecycle.MutableLiveData; +import android.arch.lifecycle.ViewModel; + +import safeluck.drive.evaluation.util.MyLog; + +public class MainViewModel extends ViewModel { + private MutableLiveData<String> json = new MutableLiveData<>(); + public LiveData<String> getJson(){ + //寰�json瀛楃涓插啓鍏ユ暟鎹� + loadJson(); + return json; + } + + private void loadJson() { + MyLog.i("loadJson"); + new Thread(new Runnable() { + @Override + public void run() { + try { + Thread.sleep(10*1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + json.postValue("鎴戠埍浣燡etPack锛侊紒"); + } + }).start(); + } + +} -- Gitblit v1.8.0