diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json new file mode 100644 index 0000000..4549c92 --- /dev/null +++ b/app/release/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.example.beijing_daxing", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 5, + "versionName": "1.5", + "outputFile": "app-release.apk" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 560a9b5..35213d1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,14 +6,11 @@ android:name="android.hardware.camera" android:required="false" /> - - - - - @@ -21,7 +18,8 @@ - + + + + - @@ -61,7 +62,6 @@ - @@ -93,6 +93,7 @@ android:exported="true"> + diff --git a/app/src/main/java/com/example/beijing_daxing/HomePageActivity.java b/app/src/main/java/com/example/beijing_daxing/HomePageActivity.java index f70b541..009664c 100644 --- a/app/src/main/java/com/example/beijing_daxing/HomePageActivity.java +++ b/app/src/main/java/com/example/beijing_daxing/HomePageActivity.java @@ -43,7 +43,9 @@ public class HomePageActivity extends AppCompatActivity { MyApplication.getApplication().setUhfrManager(instance); instance.setRegion(Reader.Region_Conf.RG_PRC); instance.setPower(33,33); - boolean b = instance.setInventoryFilter(Tools.HexString2Bytes("53574C44"), 1, 2, true); + instance.setGen2session(false); + String epcConfig = getIntent().getStringExtra("epcConfig"); + boolean b = instance.setInventoryFilter(Tools.HexString2Bytes(epcConfig), 1, 2, true); Log.e("TAG", "设置过滤:" + b); }catch (NullPointerException e){ Toast.makeText(this, "扫描驱动异常,重新启动程序加载", Toast.LENGTH_SHORT).show(); @@ -83,15 +85,9 @@ public class HomePageActivity extends AppCompatActivity { private void initUi(ActivityHomePageBinding binding) { List list = new ArrayList<>(); - list.add(new HomeIcon(R.mipmap.home_in1, "轮挡入库", InActivity.class)); - list.add(new HomeIcon(R.mipmap.home_out1, "轮挡领用出库", OutActivity.class)); - // list.add(new HomeIcon(R.mipmap.home_store_check, "仓库盘点", StoreCheckActivity.class)); - list.add(new HomeIcon(R.mipmap.home_check, "轮挡巡检", CheckListActivity.class)); - list.add(new HomeIcon(R.mipmap.home_bf, "维修&报废", BFActivity.class)); - list.add(new HomeIcon(R.mipmap.home_in, "异常轮挡回库", FpInActivity.class)); - // list.add(new HomeIcon(R.mipmap.home_out, "废品出库", FpOutActivity.class)); + list.add(new HomeIcon(R.mipmap.home_check, "信息查询", SelectPersonInfoActivity.class)); list.add(new HomeIcon(R.mipmap.home_out, "功率设置", SetingPowerActivity.class)); - var intent = getIntent(); + /*var intent = getIntent(); try { if (!intent.getStringExtra("user").equals("admin")) { ArrayList strings = new Gson().fromJson(intent.getStringExtra("json"), new TypeToken>() { @@ -110,7 +106,7 @@ public class HomePageActivity extends AppCompatActivity { } } catch (Exception e) { e.printStackTrace(); - } + }*/ HomePageAdapter adapter = new HomePageAdapter(list, this); binding.homeGridview.setAdapter(adapter); binding.homeGridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { diff --git a/app/src/main/java/com/example/beijing_daxing/MainActivity.java b/app/src/main/java/com/example/beijing_daxing/MainActivity.java index 8d0881a..179a0cb 100644 --- a/app/src/main/java/com/example/beijing_daxing/MainActivity.java +++ b/app/src/main/java/com/example/beijing_daxing/MainActivity.java @@ -1,15 +1,13 @@ package com.example.beijing_daxing; -import androidx.appcompat.app.AppCompatActivity; -import androidx.databinding.DataBindingUtil; -import androidx.databinding.ObservableField; - import android.content.Intent; import android.os.Bundle; -import android.os.FileObserver; import android.view.View; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableBoolean; + import com.example.beijing_daxing.base.BaseActivity; import com.example.beijing_daxing.databinding.ActivityMainBinding; import com.example.beijing_daxing.uitls.SharedPreferencesUtils; @@ -17,40 +15,49 @@ import com.example.beijing_daxing.vm.LoginVm; import com.lzy.okgo.OkGo; import com.lzy.okgo.callback.StringCallback; import com.lzy.okgo.model.Response; -import com.uhf.api.cls.Reader; -import com.xuexiang.xupdate.XUpdate; -import com.xuexiang.xupdate.easy.EasyUpdate; - -import java.util.List; public class MainActivity extends BaseActivity { private LoginVm loginVm; + private ObservableBoolean isShow = new ObservableBoolean(false); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); loginVm = new LoginVm(); + String ipConfig = SharedPreferencesUtils.getstring("ipConfig", ""); + loginVm.setIpConfig(ipConfig); + String epcConfig = SharedPreferencesUtils.getstring("epcConfig", ""); + loginVm.setEpcConfig(epcConfig); boolean isRemember = SharedPreferencesUtils.getboolean("isRemember", false); if (isRemember) { loginVm.setName(SharedPreferencesUtils.getstring("user", "")); loginVm.setPass(SharedPreferencesUtils.getstring("pass", "")); loginVm.setRemember(isRemember); } + binding.setUser(loginVm); - EasyUpdate.checkUpdate(this,url + "/getVersion"); + isShow.set(ipConfig.isEmpty() || epcConfig.isEmpty()); + binding.setIsShow(isShow); + + // EasyUpdate.checkUpdate(this,url + "/getVersion"); // XUpdate.newBuild(this) // .updateUrl(url + "/getVersion") // .promptIgnoreDownloadError(true) // .update(); } - - public void login_click(View view) { String pass = loginVm.getPass(); String name = loginVm.getName(); - if (pass == null || name == null || pass.isEmpty() || name.isEmpty()) return; + String ipConfig = loginVm.getIpConfig(); + String epcConfig = loginVm.getEpcConfig(); + if (epcConfig.length()!=8){ + Toast.makeText(this, "请输入正确的EPC配置", Toast.LENGTH_SHORT).show(); + return; + } + setUrl(ipConfig); + if (pass == null || name == null || pass.isEmpty() || name.isEmpty() || ipConfig.isEmpty() || epcConfig.isEmpty()) return; dialog.show(); OkGo.get(url + "/login/finduser").tag(this) .params("name", name) @@ -64,15 +71,17 @@ public class MainActivity extends BaseActivity { Toast.makeText(MainActivity.this, "暂无权限", Toast.LENGTH_SHORT).show(); } else if (body.equals("Error")) { Toast.makeText(MainActivity.this, "用户名密码错误", Toast.LENGTH_SHORT).show(); - } else { + } else if (body.equals("ok")) { boolean remember = loginVm.isRemember(); + SharedPreferencesUtils.putstring("ipConfig", ipConfig); + SharedPreferencesUtils.putstring("epcConfig", epcConfig); if (remember) { SharedPreferencesUtils.putboolean("isRemember", remember); SharedPreferencesUtils.putstring("user", name); SharedPreferencesUtils.putstring("pass", pass); Intent intent = new Intent(MainActivity.this, HomePageActivity.class); - intent.putExtra("json", body); - intent.putExtra("user", name); + intent.putExtra("epcConfig", epcConfig); + // intent.putExtra("user", name); startActivity(intent); finish(); } @@ -81,5 +90,8 @@ public class MainActivity extends BaseActivity { }); } + public void setting(View view) { + isShow.set(!isShow.get()); + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/beijing_daxing/SelectPersonInfoActivity.java b/app/src/main/java/com/example/beijing_daxing/SelectPersonInfoActivity.java new file mode 100644 index 0000000..48130c3 --- /dev/null +++ b/app/src/main/java/com/example/beijing_daxing/SelectPersonInfoActivity.java @@ -0,0 +1,59 @@ +package com.example.beijing_daxing; + +import android.os.Bundle; +import android.view.View; +import android.widget.Toast; + +import androidx.databinding.DataBindingUtil; + +import com.bumptech.glide.Glide; +import com.example.beijing_daxing.base.BaseActivity; +import com.example.beijing_daxing.base.MyRecultCall; +import com.example.beijing_daxing.base.MyResult; +import com.example.beijing_daxing.been.PmBasePersonInfo; +import com.example.beijing_daxing.databinding.ActivitySelectPersonInfoBinding; +import com.example.beijing_daxing.dialog.TakePictureDialog; +import com.lzy.okgo.OkGo; +import com.lzy.okgo.model.Response; + +public class SelectPersonInfoActivity extends BaseActivity { + private ActivitySelectPersonInfoBinding binding; + private TakePictureDialog pictureDialog; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + binding = DataBindingUtil.setContentView(this, R.layout.activity_select_person_info); + pictureDialog=new TakePictureDialog(this); + } + + @Override + public void readTidReault(boolean b, String bytes2HexString, byte[] rdata) { + super.readTidReault(b, bytes2HexString, rdata); + binding.selectInfoEpc.setText(bytes2HexString); + OkGo.post(url + "/selectPersonInfo") + .params("epc", bytes2HexString) + .execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + MyResult body = response.body(); + if (body.getCode() == 0) { + PmBasePersonInfo personInfo =gson.fromJson(body.getJson(), PmBasePersonInfo.class); + binding.setPersonInfo(personInfo); + Glide.with(SelectPersonInfoActivity.this).load(url.replace("/api", "")+personInfo.getPhotoPath()).into(binding.selectInfoPhoto); + return; + } + Toast.makeText(SelectPersonInfoActivity.this, body.getMsg(), Toast.LENGTH_SHORT).show(); + } + }); + } + + public void selectInfoPhoto(View view) { + + } + + public void selectInfoSubmit(View view) { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/beijing_daxing/base/BaseActivity.java b/app/src/main/java/com/example/beijing_daxing/base/BaseActivity.java index 363f53a..39abc94 100644 --- a/app/src/main/java/com/example/beijing_daxing/base/BaseActivity.java +++ b/app/src/main/java/com/example/beijing_daxing/base/BaseActivity.java @@ -20,16 +20,16 @@ import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; import android.view.Window; +import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.core.content.FileProvider; - import com.example.beijing_daxing.R; import com.google.gson.Gson; -import com.handheld.uhfr.*; +import com.handheld.uhfr.UHFRManager; import com.uhf.api.cls.Reader; import java.io.File; @@ -43,18 +43,32 @@ import java.time.ZoneId; import java.util.Date; import java.util.List; +import cn.pda.serialport.Tools; import okhttp3.MediaType; -public class BaseActivity extends AppCompatActivity { - // public static String url = "http://192.168.137.1:8090/api"; - public static String url = "http://119.45.202.115:8090/api"; +public class BaseActivity extends AppCompatActivity { + public static final int CAMERA_PHOTO = 0X02; + public static String url; public ProgressDialog dialog; public Gson gson; public MediaType JSON = MediaType.parse("application/json; charset=utf-8"); public UHFRManager uhfLongerManager; - private MediaPlayer mediaPlayer; public MyReceiver myReceiver; public Intent broadcastIntent; + public File outputImage; + public Uri img_uri; + public SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); + public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + private MediaPlayer mediaPlayer; + private byte[] accesspwd; + private boolean addWatermarkType; + private String addWatermarkLocation; + private String[] strings = + new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"}; + + public static void setUrl(String url) { + BaseActivity.url = "http://" + url + "/api"; + } @SuppressLint("UnspecifiedRegisterReceiverFlag") @Override @@ -66,6 +80,7 @@ public class BaseActivity extends AppCompatActivity { broadcastIntent = new Intent("android.rfid.FUN_KEY"); broadcastIntent.putExtra("keydown", false); } + private void initSan() { uhfLongerManager = MyApplication.getApplication().getUhfrManager(); myReceiver = new MyReceiver(); @@ -73,19 +88,27 @@ public class BaseActivity extends AppCompatActivity { intentFilter.addAction("android.rfid.FUN_KEY"); registerReceiver(myReceiver, intentFilter); mediaPlayer = MediaPlayer.create(this, R.raw.msg); + accesspwd = Tools.HexString2Bytes("00000000"); } - public class MyReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - var keydown = intent.getBooleanExtra("keydown", false); - Log.e("TAG", "接收到广播:" + keydown); - if (!keydown) { - sanEpc(); - } + // 1- 读取EPC + public void readEPC(int lenth) { + byte[] rdata = new byte[lenth]; + Reader.READER_ERR readerErr = + uhfLongerManager.getTagData(1, 2, lenth / 2, rdata, accesspwd, (short) 1000); + if (readerErr == Reader.READER_ERR.MT_OK_ERR) { + mediaPlayer.start(); + readTidReault(true, Tools.Bytes2HexString(rdata, lenth), rdata); + } else { + Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show(); + } + + } + + public void readTidReault(boolean b, String bytes2HexString, byte[] rdata) { } public void sanEpc() { @@ -105,8 +128,6 @@ public class BaseActivity extends AppCompatActivity { dialog.setMessage("请求网络..."); } - - public void setPower(int power) { try { Reader.READER_ERR readerErr = uhfLongerManager.setPower(power, power); @@ -125,26 +146,19 @@ public class BaseActivity extends AppCompatActivity { unregisterReceiver(myReceiver); } + public void sanRfid(List epcs) { - public void sanRfid(List epcs){ + } - }; - - public static final int CAMERA_PHOTO = 0X02; - public File outputImage; - public Uri img_uri; - public SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); - public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - private boolean addWatermarkType; - private String addWatermarkLocation; // 拍照 - public void takePhoto(boolean type,String location) { - this.addWatermarkType=type; - addWatermarkLocation=location; + public void takePhoto(boolean type, String location) { + this.addWatermarkType = type; + addWatermarkLocation = location; if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1); } - outputImage = new File(getExternalCacheDir(), "output_imgage" + format.format(new Date()) + ".jpg"); + outputImage = + new File(getExternalCacheDir(), "output_imgage" + format.format(new Date()) + ".jpg"); try { outputImage.createNewFile(); } catch (IOException e) { @@ -162,7 +176,8 @@ public class BaseActivity extends AppCompatActivity { startActivityForResult(intent, CAMERA_PHOTO); } else { // 提示用户开户权限 拍照和读写sd卡权限 - String[] perms = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; + String[] perms = + {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; ActivityCompat.requestPermissions(this, perms, CAMERA_PHOTO); } } @@ -181,7 +196,7 @@ public class BaseActivity extends AppCompatActivity { try { Log.e("TAG", "onActivityResult:" + img_uri.getPath()); bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(img_uri)); - if (addWatermarkType){ + if (addWatermarkType) { // 添加水印 bitmap = addWatermark(bitmap); } @@ -197,7 +212,7 @@ public class BaseActivity extends AppCompatActivity { } } - private String[] strings=new String[]{"星期日","星期一","星期二","星期三","星期四","星期五","星期六","星期日"}; + @SuppressLint("NewApi") private Bitmap addWatermark(Bitmap src) { int w = src.getWidth(); @@ -214,9 +229,22 @@ public class BaseActivity extends AppCompatActivity { LocalDate today = LocalDate.now(ZoneId.systemDefault()); // 获取当前日期是周几 DayOfWeek dayOfWeek = today.getDayOfWeek(); - canvas.drawText("机位:"+addWatermarkLocation, 10, h - 400, paint); + canvas.drawText("机位:" + addWatermarkLocation, 10, h - 400, paint); canvas.drawText(dateFormat.format(new Date()), 10, h - 200, paint); canvas.drawText(strings[dayOfWeek.getValue()], 10, h - 20, paint); return result; } + + public class MyReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + + var keydown = intent.getBooleanExtra("keydown", false); + Log.e("TAG", "接收到广播:" + keydown); + if (!keydown) { + readEPC(6); + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/beijing_daxing/base/MyApplication.java b/app/src/main/java/com/example/beijing_daxing/base/MyApplication.java index 856d2b9..e4652a3 100644 --- a/app/src/main/java/com/example/beijing_daxing/base/MyApplication.java +++ b/app/src/main/java/com/example/beijing_daxing/base/MyApplication.java @@ -46,18 +46,18 @@ public class MyApplication extends Application { super.onCreate(); application = this; LitePal.initialize(this); - SharedPreferencesUtils.init(getApplicationContext(), "myapp"); + SharedPreferencesUtils.init(getApplicationContext(), "myapp_text"); okGoBase(); // getUhfLongerManager(); - XUpdate.get().debug(true).isWifiOnly(false) // 默认设置只在wifi下检查版本更新 - .isGet(true) // 默认设置使用get请求检查版本 - .isAutoMode(false) // 默认设置非自动模式,可根据具体使用配置 - // .param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数 - // .param("appKey", getPackageName()) - - .supportSilentInstall(false) // 设置是否支持静默安装,默认是true - .setIUpdateHttpService(new OkHttpUpdateHttpServiceImpl()) // 这个必须设置!实现网络请求功能。 - .init(this); + // XUpdate.get().debug(true).isWifiOnly(false) // 默认设置只在wifi下检查版本更新 + // .isGet(true) // 默认设置使用get请求检查版本 + // .isAutoMode(false) // 默认设置非自动模式,可根据具体使用配置 + // // .param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数 + // // .param("appKey", getPackageName()) + // + // .supportSilentInstall(false) // 设置是否支持静默安装,默认是true + // .setIUpdateHttpService(new OkHttpUpdateHttpServiceImpl()) // 这个必须设置!实现网络请求功能。 + // .init(this); } public static MyApplication getApplication() { @@ -95,7 +95,7 @@ public class MyApplication extends Application { OkGo.getInstance().init(this).setOkHttpClient(builder.build()) // 建议设置OkHttpClient,不设置将使用默认的 .setCacheMode(CacheMode.NO_CACHE) // 全局统一缓存模式,默认不使用缓存,可以不传 .setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE) // 全局统一缓存时间,默认永不过期,可以不传 - .setRetryCount(1); + .setRetryCount(0); } diff --git a/app/src/main/java/com/example/beijing_daxing/base/MyRecultCall.java b/app/src/main/java/com/example/beijing_daxing/base/MyRecultCall.java index e75d760..6af4caa 100644 --- a/app/src/main/java/com/example/beijing_daxing/base/MyRecultCall.java +++ b/app/src/main/java/com/example/beijing_daxing/base/MyRecultCall.java @@ -32,7 +32,7 @@ public class MyRecultCall extends AbsCallback { if (body == null) return null; Gson gson = new Gson(); MyResult resust = gson.fromJson(body.string(), MyResult.class); - resust.setData(gson.toJson(resust.getData())); + resust.setJson(gson.toJson(resust.getData())); return resust; } diff --git a/app/src/main/java/com/example/beijing_daxing/base/MyResult.java b/app/src/main/java/com/example/beijing_daxing/base/MyResult.java index 5b70893..b644195 100644 --- a/app/src/main/java/com/example/beijing_daxing/base/MyResult.java +++ b/app/src/main/java/com/example/beijing_daxing/base/MyResult.java @@ -8,6 +8,15 @@ public class MyResult { private int code; private String msg; private Object data; + private String json; + + public String getJson() { + return json; + } + + public void setJson(String json) { + this.json = json; + } public int getCode() { return code; diff --git a/app/src/main/java/com/example/beijing_daxing/been/PmBasePersonInfo.java b/app/src/main/java/com/example/beijing_daxing/been/PmBasePersonInfo.java new file mode 100644 index 0000000..ca7130b --- /dev/null +++ b/app/src/main/java/com/example/beijing_daxing/been/PmBasePersonInfo.java @@ -0,0 +1,145 @@ +package com.example.beijing_daxing.been; + +/** + * 人员信息对象 pm_base_person_info + * + * @author ruoyi + * @date 2025-11-26 + */ +public class PmBasePersonInfo { + + /** + * 人员表主键 + */ + private Long basePersonId; + + /** + * RFID编码 + */ + + private String rfidId; + + /** + * 工号 + */ + + private String employeeId; + + /** + * 姓名 + */ + + private String peopleName; + + /** + * 性别 + */ + + private String peopleSex; + + /** + * 驾驶证代号 + */ + private String driverCode; + + /** + * 联系电话 + */ + private String phoneNumber; + + /** + * 照片 + */ + private String photoPath; + + /** + * 有效日期截止 + */ + private String joinDate; + + /** + * 学历 + */ + private String academicQualification; + + public Long getBasePersonId() { + return basePersonId; + } + + public void setBasePersonId(Long basePersonId) { + this.basePersonId = basePersonId; + } + + public String getRfidId() { + return rfidId; + } + + public void setRfidId(String rfidId) { + this.rfidId = rfidId; + } + + public String getEmployeeId() { + return employeeId; + } + + public void setEmployeeId(String employeeId) { + this.employeeId = employeeId; + } + + public String getPeopleName() { + return peopleName; + } + + public void setPeopleName(String peopleName) { + this.peopleName = peopleName; + } + + public String getPeopleSex() { + return peopleSex; + } + + public void setPeopleSex(String peopleSex) { + this.peopleSex = peopleSex; + } + + public String getDriverCode() { + return driverCode; + } + + public void setDriverCode(String driverCode) { + this.driverCode = driverCode; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPhotoPath() { + return photoPath; + } + + public void setPhotoPath(String photoPath) { + this.photoPath = photoPath; + } + + public String getJoinDate() { + return joinDate; + } + + public void setJoinDate(String joinDate) { + this.joinDate = joinDate; + } + + public String getAcademicQualification() { + return academicQualification; + } + + public void setAcademicQualification(String academicQualification) { + this.academicQualification = academicQualification; + } + +} diff --git a/app/src/main/java/com/example/beijing_daxing/dialog/LookPictureDialog.java b/app/src/main/java/com/example/beijing_daxing/dialog/LookPictureDialog.java new file mode 100644 index 0000000..ca120d1 --- /dev/null +++ b/app/src/main/java/com/example/beijing_daxing/dialog/LookPictureDialog.java @@ -0,0 +1,57 @@ +package com.example.beijing_daxing.dialog; + +import android.annotation.SuppressLint; +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; + +import com.bumptech.glide.Glide; +import com.example.beijing_daxing.R; + + +/** + * @author wanghao + * @date 2023/2/1 17:06 + */ +public class LookPictureDialog extends Dialog { + + private Context context; + private String path; + private ImageView imageView; + + public LookPictureDialog(@NonNull Context context) { + super(context, R.style.dialog); + this.context = context; + } + + public void setPath(String path) { + this.path = path; + } + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.dialog_look_picture); + + imageView = findViewById(R.id.picture_imageview); + findViewById(R.id.confirm_back).setOnClickListener(v -> { + dismiss(); + }); + LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); + linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); + } + + + @Override + public void show() { + super.show(); + Glide.with(context).load(path).into(imageView); + } + + +} diff --git a/app/src/main/java/com/example/beijing_daxing/vm/LoginVm.java b/app/src/main/java/com/example/beijing_daxing/vm/LoginVm.java index 8b696e2..6799fef 100644 --- a/app/src/main/java/com/example/beijing_daxing/vm/LoginVm.java +++ b/app/src/main/java/com/example/beijing_daxing/vm/LoginVm.java @@ -11,6 +11,25 @@ public class LoginVm extends BaseObservable { private String pass; private boolean remember; + private String ipConfig; + private String epcConfig; + + public String getIpConfig() { + return ipConfig; + } + + public void setIpConfig(String ipConfig) { + this.ipConfig = ipConfig; + } + + public String getEpcConfig() { + return epcConfig; + } + + public void setEpcConfig(String epcConfig) { + this.epcConfig = epcConfig; + } + public String getName() { return name; } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index eb0df4b..4d2b224 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -9,49 +9,37 @@ name="user" type="com.example.beijing_daxing.vm.LoginVm" /> + + + - - - - - - - - - - - + android:layout_height="55dp" + android:layout_marginTop="80dp" + android:gravity="center" + android:letterSpacing="0.5" + android:text="叉车人员管理" + android:textColor="@color/white" + android:textSize="25sp" + android:textStyle="bold" /> @@ -68,7 +56,7 @@ @@ -94,6 +82,44 @@ android:checked="@={user.remember}" android:text="记住我" /> + + + + + + + + + +