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