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