app/src/main/AndroidManifest.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/rechargeqh/activity/ParameterActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/rechargeqh/activity/RegionActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/rechargeqh/dao/BaseDaoSingleton.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/rechargeqh/dao/RegionDao.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/dayu/rechargeqh/dbBean/RegionBean.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/activity_region.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 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); } }); } } app/src/main/java/com/dayu/rechargeqh/activity/RegionActivity.java
New file @@ -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(); } }); } } 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"); } }; } 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; app/src/main/java/com/dayu/rechargeqh/dao/RegionDao.java
New file @@ -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(); } app/src/main/java/com/dayu/rechargeqh/dbBean/RegionBean.java
New file @@ -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; } } 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"