diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a34ec06..75966ef 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,8 +15,12 @@ tools:targetApi="31"> - + android:exported="true"> + + + + + - - - - - - + android:exported="true"/> @@ -40,11 +38,10 @@ - - - - - + + + + diff --git a/app/src/main/java/com/example/jinyu_rfid/AppLoginActivity.java b/app/src/main/java/com/example/jinyu_rfid/AppLoginActivity.java index f39eb12..addb279 100644 --- a/app/src/main/java/com/example/jinyu_rfid/AppLoginActivity.java +++ b/app/src/main/java/com/example/jinyu_rfid/AppLoginActivity.java @@ -1,14 +1,69 @@ package com.example.jinyu_rfid; import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; +import android.content.Intent; +import android.content.res.Configuration; +import android.content.res.Resources; import android.os.Bundle; +import android.view.View; + +import com.example.jinyu_rfid.databinding.ActivityAppLoginBinding; +import com.example.jinyu_rfid.uitls.SharedPreferencesUtils; + +import java.util.Arrays; +import java.util.List; +import java.util.Locale; public class AppLoginActivity extends AppCompatActivity { + private ActivityAppLoginBinding binding; + + private Resources resources; + private Configuration config; + private int index; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_app_login); + resources = getResources(); + config = resources.getConfiguration(); + var languageString = SharedPreferencesUtils.getstring("language", "中文"); + getLocaleStringXML(languageString); + resources.updateConfiguration(config, resources.getDisplayMetrics()); + binding = DataBindingUtil.setContentView(this, R.layout.activity_app_login); + binding.appLanguage.setSelection(index); + var workmode = SharedPreferencesUtils.getInt("workmode", 0); + binding.mainWork.setSelection(workmode); + } + + public void appLoginClick(View view) { + // 工作模式 0=net + var workModeStr = binding.mainWork.getSelectedItem().toString(); + var strings = Arrays.asList(getResources().getStringArray(R.array.work_mode)); + SharedPreferencesUtils.putInt("workmode", strings.indexOf(workModeStr)); + // 选择语言 + var s = binding.appLanguage.getSelectedItem().toString(); + SharedPreferencesUtils.putstring("language", s); + getLocaleStringXML(s); + resources.updateConfiguration(config, resources.getDisplayMetrics()); + + + startActivity(new Intent(this, ReadActivity.class)); + finish(); + } + + private void getLocaleStringXML(String languageString) { + if (languageString.equals("中文")) { + config.locale = Locale.CHINA; + index = 0; + } else if (languageString.equals("English")) { + config.locale = Locale.ENGLISH; + index = 1; + } else { + config.locale = new Locale("vi", "VN"); + index = 2; + } } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_app_login.xml b/app/src/main/res/layout/activity_app_login.xml index a84f887..716d620 100644 --- a/app/src/main/res/layout/activity_app_login.xml +++ b/app/src/main/res/layout/activity_app_login.xml @@ -4,9 +4,8 @@ xmlns:tools="http://schemas.android.com/tools"> - + + + android:src="@mipmap/logo" /> + + android:entries="@array/work_mode" /> + + - - +