From 7b80692e038ec9b1f06fbfdc61498c6ff3f97d71 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 28 三月 2024 15:13:25 +0800
Subject: [PATCH] 修改卡结构
---
app/src/main/java/com/dayu/rechargeqh/activity/RegionActivity.java | 69 +++++++++++++++++
app/src/main/java/com/dayu/rechargeqh/dao/BaseDaoSingleton.java | 4
app/src/main/res/layout/activity_region.xml | 2
app/src/main/AndroidManifest.xml | 1
app/src/main/java/com/dayu/rechargeqh/activity/ParameterActivity.java | 7 +
app/src/main/java/com/dayu/rechargeqh/dao/RegionDao.java | 36 +++++++++
app/src/main/java/com/dayu/rechargeqh/dbBean/RegionBean.java | 37 +++++++++
app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java | 28 ++++++
8 files changed, 181 insertions(+), 3 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a6fab18..d955331 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -117,6 +117,7 @@
<activity android:name="com.dayu.rechargeqh.activity.ReplacementActivity" />
<activity android:name="com.dayu.rechargeqh.activity.RechargeDetail" />
<activity android:name="com.dayu.rechargeqh.activity.PasswordCardActivity" />
+ <activity android:name="com.dayu.rechargeqh.activity.RegionActivity"/>
<meta-data
diff --git a/app/src/main/java/com/dayu/rechargeqh/activity/ParameterActivity.java b/app/src/main/java/com/dayu/rechargeqh/activity/ParameterActivity.java
index 5ce52da..b1b4d29 100644
--- a/app/src/main/java/com/dayu/rechargeqh/activity/ParameterActivity.java
+++ b/app/src/main/java/com/dayu/rechargeqh/activity/ParameterActivity.java
@@ -65,5 +65,12 @@
startActivity(intent);
}
});
+ binding.parameterRegion.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(ParameterActivity.this, RegionActivity.class);
+ startActivity(intent);
+ }
+ });
}
}
diff --git a/app/src/main/java/com/dayu/rechargeqh/activity/RegionActivity.java b/app/src/main/java/com/dayu/rechargeqh/activity/RegionActivity.java
new file mode 100644
index 0000000..0edc729
--- /dev/null
+++ b/app/src/main/java/com/dayu/rechargeqh/activity/RegionActivity.java
@@ -0,0 +1,69 @@
+package com.dayu.rechargeqh.activity;
+
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import com.dayu.rechargeqh.databinding.ActivityRegionBinding;
+import com.dayu.rechargeqh.dbBean.PowerBean;
+import com.dayu.rechargeqh.dbBean.RegionBean;
+import com.dayu.rechargeqh.utils.TipUtil;
+
+/**
+ * author: zuo
+ * Date: 2024-03-06
+ * Time: 17:28
+ * 澶囨敞锛氬尯鍩熸爣鍙峰崱璁剧疆鐣岄潰
+ */
+public class RegionActivity extends BaseActivity {
+
+
+ ActivityRegionBinding binding;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityRegionBinding.inflate(LayoutInflater.from(this));
+ setContentView(binding.getRoot());
+ initView();
+ initData();
+ }
+
+ private void initData() {
+ RegionBean regionBean = baseDao.regionDao().findFirst();
+ if (regionBean!=null){
+ binding.controllerOldText.setText(regionBean.getControllerCodel());
+ binding.regionOldText.setText(regionBean.getRegion());
+ }else {
+ binding.controllerOldText.setText("褰撳墠涓洪粯璁ゅ��");
+ binding.regionOldText.setText("褰撳墠涓洪粯璁ゅ��");
+ }
+ }
+
+ private void initView() {
+
+
+ binding.electricOk.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String region = binding.regionNewET.getText().toString();
+ String controller = binding.controllerNewET.getText().toString();
+ if (TextUtils.isEmpty(region)) {
+ TipUtil.show("璇疯緭鍏ユ柊鍖哄煙鍦板潃");
+ return;
+ }
+ if (TextUtils.isEmpty(controller)) {
+ TipUtil.show("璇疯緭鍏ユ柊鎺у埗鍣ㄧ紪鍙�");
+ return;
+ }
+ RegionBean regionBean=new RegionBean();
+ regionBean.setRegion(region);
+ regionBean.setControllerCodel(controller);
+ baseDao.regionDao().insert(regionBean);
+ TipUtil.show("淇濆瓨鎴愬姛");
+ initData();
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java b/app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java
index 7839100..9920523 100644
--- a/app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java
+++ b/app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java
@@ -1,7 +1,10 @@
package com.dayu.rechargeqh.dao;
+import androidx.annotation.NonNull;
import androidx.room.Database;
import androidx.room.RoomDatabase;
+import androidx.room.migration.Migration;
+import androidx.sqlite.db.SupportSQLiteDatabase;
import com.dayu.rechargeqh.dbBean.AdminDataBean;
import com.dayu.rechargeqh.dbBean.CardData;
@@ -14,6 +17,7 @@
import com.dayu.rechargeqh.dbBean.PassWordCardBean;
import com.dayu.rechargeqh.dbBean.PowerBean;
import com.dayu.rechargeqh.dbBean.RechargeBean;
+import com.dayu.rechargeqh.dbBean.RegionBean;
import com.dayu.rechargeqh.dbBean.UserCardBean;
/**
@@ -22,7 +26,7 @@
* Date: 2023-11-05 16:23
* Description:
*/
-@Database(entities = {PassWordCardBean.class,CardData.class, DeviceNumber.class, IdentityBean.class, DomainBean.class, ElectricPriceBean.class, IpBean.class, AdminDataBean.class, PassWordBean.class, UserCardBean.class, RechargeBean.class, PowerBean.class}, version = 3, exportSchema = false)
+@Database(entities = {RegionBean.class, PassWordCardBean.class, CardData.class, DeviceNumber.class, IdentityBean.class, DomainBean.class, ElectricPriceBean.class, IpBean.class, AdminDataBean.class, PassWordBean.class, UserCardBean.class, RechargeBean.class, PowerBean.class}, version = 4, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
@@ -49,4 +53,26 @@
public abstract CardDataDao cardDataDao();
public abstract PassWordCardDao passWordCardDao();
+
+ public abstract RegionDao regionDao();
+
+ public static final Migration MIGRATION_3_4 = new Migration(3, 4) {
+ @Override
+ public void migrate(@NonNull SupportSQLiteDatabase database) {
+ // 鍦ㄨ繖閲屾坊鍔犳偍鐨勮縼绉讳唬鐮�
+ database.execSQL("CREATE TABLE IF NOT EXISTS `RegionBean_temp` " +
+ "(`region` TEXT, `controllerCodel` TEXT, `id` INTEGER, PRIMARY KEY(`id`))");
+
+ // 澶嶅埗鏁版嵁鍒版柊琛�
+ database.execSQL("INSERT INTO RegionBean_temp (region, controllerCodel, id) " +
+ "SELECT region, controllerCodel, id FROM RegionBean");
+
+ // 鍒犻櫎鏃ц〃
+ database.execSQL("DROP TABLE RegionBean");
+
+ // 閲嶅懡鍚嶆柊琛ㄤ负鏃ц〃鍚�
+ database.execSQL("ALTER TABLE RegionBean_temp RENAME TO RegionBean");
+ }
+ };
+
}
diff --git a/app/src/main/java/com/dayu/rechargeqh/dao/BaseDaoSingleton.java b/app/src/main/java/com/dayu/rechargeqh/dao/BaseDaoSingleton.java
index 7987609..bdefc9c 100644
--- a/app/src/main/java/com/dayu/rechargeqh/dao/BaseDaoSingleton.java
+++ b/app/src/main/java/com/dayu/rechargeqh/dao/BaseDaoSingleton.java
@@ -25,7 +25,7 @@
context,
AppDatabase.class,
SqlitePath + "ConfigurationData"
- ).allowMainThreadQueries().build();
+ ).allowMainThreadQueries().addMigrations(AppDatabase.MIGRATION_3_4).build();
}
return baseDao;
}
@@ -37,7 +37,7 @@
context,
AppDatabase.class,
SqlitePath + "ConfigurationData"
- ).build();
+ ).addMigrations(AppDatabase.MIGRATION_3_4).build();
}
return AsynchBaseDao;
diff --git a/app/src/main/java/com/dayu/rechargeqh/dao/RegionDao.java b/app/src/main/java/com/dayu/rechargeqh/dao/RegionDao.java
new file mode 100644
index 0000000..a1e62f0
--- /dev/null
+++ b/app/src/main/java/com/dayu/rechargeqh/dao/RegionDao.java
@@ -0,0 +1,36 @@
+package com.dayu.rechargeqh.dao;
+
+import androidx.room.Dao;
+import androidx.room.Delete;
+import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
+import androidx.room.Query;
+import androidx.room.Update;
+
+import com.dayu.rechargeqh.dbBean.RegionBean;
+
+/**
+ * author: zuo
+ * Date: 2024-03-07
+ * Time: 14:17
+ * 澶囨敞锛氬尯鍩熻〃鍙蜂繚瀛�
+ */
+
+@Dao
+public interface RegionDao {
+
+
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ void insert(RegionBean adminData);
+
+ @Update
+ void update(RegionBean adminData);
+
+ @Delete
+ void delete(RegionBean adminData);
+
+ @Query("select * from RegionBean limit 1")
+ RegionBean findFirst();
+
+
+}
diff --git a/app/src/main/java/com/dayu/rechargeqh/dbBean/RegionBean.java b/app/src/main/java/com/dayu/rechargeqh/dbBean/RegionBean.java
new file mode 100644
index 0000000..aee1ba2
--- /dev/null
+++ b/app/src/main/java/com/dayu/rechargeqh/dbBean/RegionBean.java
@@ -0,0 +1,37 @@
+package com.dayu.rechargeqh.dbBean;
+
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+/**
+ * author: zuo
+ * Date: 2024-03-07
+ * Time: 12:05
+ * 澶囨敞锛�
+ */
+@Entity
+public class RegionBean {
+ @PrimaryKey(autoGenerate = true)
+ public long id;
+
+ public String region;//鍖哄煙鍦板潃
+
+ public String controllerCodel;//鎺у埗鍣ㄧ紪鍙�(浣庡墠楂樺悗) 鏈尯鍩熷唴鎺у埗鍣ㄧ紪鍙�
+
+
+ public String getRegion() {
+ return region;
+ }
+
+ public void setRegion(String region) {
+ this.region = region;
+ }
+
+ public String getControllerCodel() {
+ return controllerCodel;
+ }
+
+ public void setControllerCodel(String controllerCodel) {
+ this.controllerCodel = controllerCodel;
+ }
+}
diff --git a/app/src/main/res/layout/activity_region.xml b/app/src/main/res/layout/activity_region.xml
index 3c2af80..90538ab 100644
--- a/app/src/main/res/layout/activity_region.xml
+++ b/app/src/main/res/layout/activity_region.xml
@@ -67,6 +67,7 @@
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:hint="璇疯緭鍏ユ柊鍖哄煙鍦板潃锛堜袱浣�16杩涘埗瀛楃锛�"
+ android:maxLength="4"
android:inputType="numberDecimal" />
<EditText
@@ -76,6 +77,7 @@
android:layout_below="@+id/region_newET"
android:layout_alignParentStart="true"
android:layout_marginStart="20dp"
+ android:maxLength="4"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
--
Gitblit v1.8.0