Android从res/values/strings.xml获取字符串文件路径:res/values/strings.xml <resources> <string name="main_ve

文件路径:res/values/strings.xml
<resources>
    <string name="main_version_title">版本号:</string>
</resources>

 
在 Layout XML 调用字符串资源:
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/main_version_title" />
 
Activity 获取字符串资源:
this.getString(R.string.main_version_title)
 
Context 获取字符串资源:
context.getString(R.string.main_version_title)

Application 获取字符串资源:
application.getString(R.string.main_version_title)

getResources().getString(R.string.main_version_title);

unity 5.3配置文件<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.dw.Dating.lua" platformBuildVersionCode="25" platformBuildVersionName="7.1.1"> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:xlargeScreens="true"/> <uses-feature android:glEsVersion="0x20000"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-feature android:name="android.hardware.touchscreen" android:required="false"/> <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false"/> <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.READ_LOGS"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.webkit.permission.PLUGIN"/> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> <uses-permission android:name="android.permission.VIBRATE"/> <meta-data android:name="android.support.VERSION" android:value="25.3.1"/> <application android:hardwareAccelerated="false" android:icon="@drawable/app_icon" android:isGame="true" android:label="@string/app_name" android:name="com.dw.Dating.wxapi.App"> <meta-data android:name="URL_VALUE" android:value="http://192.168.2.169"/> <meta-data android:name="CHANNEL" android:value="AgentID-0"/> <meta-data android:name="FW_VALUE" android:value="FW-30855784"/> <meta-data android:name="AppID" android:value="wx401c37330dd3e92e"/> <activity android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:label="@string/app_name" android:launchMode="singleTask" android:name="com.dw.Dating.wxapi.MainActivity" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LEANBACK_LAUNCHER"/> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true"/> <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false"/> </activity> <activity android:configChanges="keyboardHidden|orientation|screenSize" android:launchMode="singleTask" android:name="com.fanwei.jubaosdk.cashier.CashierActivity" android:theme="@style/FanweiDialogActivityTheme"/> <activity android:configChanges="keyboardHidden|orientation|screenSize" android:launchMode="singleTop" android:name="com.fanwei.jubaosdk.wap.WapActivity" android:screenOrientation="portrait" android:theme="@style/FanweiActivityTheme"/> <provider android:authorities="com.dw.Dating.lua.fileProvider" android:exported="false" android:grantUriPermissions="true" android:name="android.support.v4.content.FileProvider"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths_fanwei"/> </provider> <activity android:name="com.pay.sdk.usage.PayActivity" android:screenOrientation="portrait"/> <activity android:name="sdk.pay.PayWebViewActivity" android:screenOrientation="portrait"/> <activity android:name="com.switfpass.pay.activity.QQWapPayWebView" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar"/> <activity android:exported="true" android:launchMode="singleTop" android:name="com.dw.Dating.lua.wxapi.WXEntryActivity" android:theme="@android:style/Theme.NoDisplay"/> <meta-data android:name="UMENG_APPKEY" android:value="111"/> <meta-data android:name="UMENG_CHANNEL" android:value="Test"/> </application> </manifest> 帮我修正错误
07-10
步骤1:创建新项目 打开Android Studio,选择“Start a new Android Studio project”。 选择“Empty Activity”,点击“Next”。 输入项目名称(例如:UserInfoForm),选择保存位置,点击“Finish”。 步骤2:设计布局文件 打开`res/layout/activity_main.xml`文件。 使用以下代码设计布局: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <EditText android:id="@+id/etName" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入姓名" /> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/rbMale" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" /> <RadioButton android:id="@+id/rbFemale" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup> <CheckBox android:id="@+id/cbSports" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="运动" /> <CheckBox android:id="@+id/cbMusic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="音乐" /> <CheckBox android:id="@+id/cbReading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="阅读" /> <Spinner android:id="@+id/spCity" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/btnSubmit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="提交" /> </LinearLayout> ``` 步骤3:配置Spinner数据 在`res/values`目录下创建一个名为`strings.xml`的文件。 添加城市数据: ```xml <resources> <string name="app_name">UserInfoForm</string> <string-array name="cities"> <item>北京</item> <item>上海</item> <item>广州</item> <item>深圳</item> </string-array> </resources> ``` 步骤4:在MainActivity中处理用户输入 打开`MainActivity.java`文件。 添加以下代码: ```java package com.example userinfoform; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Spinner; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private EditText etName; private RadioGroup rgGender; private CheckBox cbSports, cbMusic, cbReading; private Spinner spCity; private Button btnSubmit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etName = findViewById(R.id.etName); rgGender = findViewById(R.id.rgGender); cbSports = findViewById(R.id.cbSports); cbMusic = findViewById(R.id.cbMusic); cbReading = findViewById(R.id.cbReading); spCity = findViewById(R.id.spCity); btnSubmit = findViewById(R.id.btnSubmit); // 设置Spinner数据 String[] cities = getResources().getStringArray(R.array.cities); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, cities); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spCity.setAdapter(adapter); btnSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name = etName.getText().toString(); int selectedGenderId = rgGender.getCheckedRadioButtonId(); RadioButton selectedGender = findViewById(selectedGenderId); String gender = selectedGender.getText().toString(); List<String> hobbies = new ArrayList<>(); if (cbSports.isChecked()) { hobbies.add(cbSports.getText().toString()); } if (cbMusic.isChecked()) { hobbies.add(cbMusic.getText().toString()); } if (cbReading.isChecked()) { hobbies.add(cbReading.getText().toString()); } String city = spCity.getSelectedItem().toString(); StringBuilder result = new StringBuilder(); result.append("姓名: ").append(name).append("\n") .append("性别: ").append(gender).append("\n") .append("兴趣爱好: ").append(hobbies.toString()).append("\n") .append("城市: ").append(city); Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show(); } }); } }
05-28
activity_main.xml中的 id 和MianActivity.java 中的 id 写的不照应,看不懂吗:package com.example.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.ArrayAdapter import android.widget.Spinner import android.widget.TextView import android.widget.Toast import com.google.android.material.button.MaterialButton import com.google.android.material.textfield.TextInputEditText class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 初始化UI组件 val num1Input = findViewById<TextInputEditText>(R.id.editTextNumber1) val num2Input = findViewById<TextInputEditText>(R.id.editTextNumber2) val operatorSpinner = findViewById<Spinner>(R.id.spinnerOperator) val calculateBtn = findViewById<MaterialButton>(R.id.buttonCalculate) val resultText = findViewById<TextView>(R.id.textViewResult) // 配置Spinner适配器 val operators = resources.getStringArray(R.array.operators) val adapter = ArrayAdapter( this, android.R.layout.simple_spinner_item, operators ).apply { setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) } operatorSpinner.adapter = adapter operatorSpinner.setSelection(0) // 默认选中第一个运算符 calculateBtn.setOnClickListener { // 获取输入值 val num1Str = num1Input.text.toString() val num2Str = num2Input.text.toString() val operator = operatorSpinner.selectedItem.toString() // 验证输入 if (num1Str.isEmpty() || num2Str.isEmpty()) { Toast.makeText(this, R.string.error_empty, Toast.LENGTH_SHORT).show() return@setOnClickListener } val num1 = num1Str.toDoubleOrNull() val num2 = num2Str.toDoubleOrNull() if (num1 == null || num2 == null) { Toast.makeText(this, R.string.error_invalid, Toast.LENGTH_SHORT).show() return@setOnClickListener } // 执行计算 val result = when (operator) { "+" -> num1 + num2 "-" -> num1 - num2 "*" -> num1 * num2 "/" -> { if (num2 == 0.0) { Toast.makeText(this, R.string.error_divide_zero, Toast.LENGTH_SHORT).show() return@setOnClickListener } num1 / num2 } else -> 0.0 } // 显示结果(保留两位小数) resultText.text = "%.2f".format(result) } } }<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!-- 第一个数字输入框 --> <com.google.android.material.textfield.TextInputLayout android:id="@+id/textInputLayout1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="32dp" android:layout_marginEnd="16dp" app:boxBackgroundMode="outline" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxStrokeColor="@color/purple_200" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <com.google.android.material.textfield.TextInputEditText android:id="@+id/editTextNumber1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_num1" android:inputType="numberDecimal" android:padding="8dp" android:textSize="16sp" /> </com.google.android.material.textfield.TextInputLayout> <!-- 第二个数字输入框 --> <com.google.android.material.textfield.TextInputLayout android:id="@+id/textInputLayout2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" app:boxBackgroundMode="outline" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxStrokeColor="@color/purple_200" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/textInputLayout1"> <com.google.android.material.textfield.TextInputEditText android:id="@+id/editTextNumber2" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_num2" android:inputType="numberDecimal" android:padding="8dp" android:textSize="16sp" /> </com.google.android.material.textfield.TextInputLayout> <!-- 运算符选择下拉菜单 --> <com.google.android.material.textfield.TextInputLayout android:id="@+id/textInputLayoutOperator" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" app:boxBackgroundMode="outline" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxStrokeColor="@color/purple_200" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/textInputLayout2"> <com.google.android.material.textfield.MaterialAutoCompleteTextView android:id="@+id/spinnerOperator" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@string/result_hint" android:inputType="none" android:padding="8dp" android:textSize="16sp" /> </com.google.android.material.textfield.TextInputLayout> <!-- 计算按钮 --> <com.google.android.material.button.MaterialButton android:id="@+id/buttonCalculate" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="24dp" android:layout_marginEnd="16dp" android:text="@string/calculate" android:textColor="@android:color/white" android:textSize="16sp" app:backgroundTint="@color/purple_500" app:cornerRadius="12dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/textInputLayoutOperator" /> <!-- 结果显示 --> <TextView android:id="@+id/textViewResult" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="24dp" android:layout_marginEnd="16dp" android:background="@color/purple_50" android:gravity="center" android:padding="12dp" android:text="@string/result_hint" android:textSize="20sp" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/buttonCalculate" /> </androidx.constraintlayout.widget.ConstraintLayout> 给我正确的两个文件
最新发布
07-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值