使用字符串(string)资源
在一个Android工程中,我们可能会使用到大量的字符串作为提示信息。这些字符串都可以作为字符串资源声明在配置文件中,从而实现程序的可配置性。
在代码中我们使用Context.getString()方法,通过传递资源ID参数来得到该字符串,也可以在其他资源文件中引用字符串资源,引用格式为:"@string/字符串资源名称。
字符串资源XML文件的定义
我们通过表来说明字符串资源是如何定义的,包括资源的位置、XML文件的格式、获得资源的方法和引用资源的方法等。
表字符串资源得定义和使用
资源位置
|
res/values/strings.xml
|
字符串XML文件
格式
|
使用<?xml version="1.0" encoding="utf-8"?>
<resources>根元素
<string>子元素:<string name=
color_name>string_value</string>
|
获得字符串资源
的方法
|
Resources.getString()
|
引用字符串资源
的格式
|
Java代码中:R.string.string_nameXML文件中:@[package:]string/string_name
|
下面将通过一个实例来演示资源文件的用法。在该实例中用到两个字符串资源:一个在布局文件中引用;另一个在Java代码中引用。实例步骤说明如下。
在该工程的res\values\目录下,创建一个字符串资源文件stirngs.xml,内容如下所示:
Java代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test Resources</string>
<string name="test_str1">从代码中引用!</string>
<string name="test_str2">从资源文件引用!</string>
</resources>
在该工程的res\layout\目录下,定义一个布局文件test_string.xml。在该布局文件中添加两个TextView视图对象:第一个TextView的文本内容直接引用strings.xml文件中的资源;第二个TextView的文本内容在代码中设置。
Java代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
http://schemas.android.com/apk/res/android" android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:text="@string/test_str1"
android:id="@+id/myTextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text=""
android:id="@+id/myTextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
在工程的com.amaker.ch03.string包中,创建一个TestStringActivity类。在该类的onCreate()方法中,设置当前的视图布局,并获得TextView实例。通过Context.getString()方法,从字符串资源中获得字符串常量,并将其设置为TextView的文本内容。
Java代码:
package eoe.demo.string;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import com.amaker.test.R;
/*
*
*
* @author 郭宏志
* 测试字符串资源
*/
public class TestStringActivity extends Activity {
private TextView myTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_string);
myTextView = (TextView)findViewById(R.id.myTextView02);
String str = getString(R.string.test_str2).toString();
myTextView.setText(str);
}
}
分享到:
相关推荐
### 如何在Android中实现字符串的保存和读取 在Android开发过程中,经常需要处理数据的持久化问题,其中一种常见的需求就是对字符串进行保存和读取。本文将详细介绍如何利用Java代码实现在Android应用程序中对字符...
Android存储字符串数据到txt文件是Android开发中的一种常见需求,对于大多数开发者来说,存储字符串数据到txt文件是一种非常有用的功能。今天,我们将详细介绍如何在Android中存储字符串数据到txt文件。 Android...
通过掌握这些知识点,开发者可以创建一个功能完备且健壮的Android字符串运算计算器应用,满足用户在移动设备上进行复杂计算的需求。在实际开发过程中,还可能涉及性能优化、本地化支持、主题定制等更多细节,以提供...
Android中为字符串添加修饰的练习题实现提示与解决方案是 Android 应用程序开发中的一个重要主题。本文将通过详细的练习题和解决方案,指导读者学习如何在 Android 应用程序中为字符串添加修饰,包括如何在应用程序...
在`Android`应用中,如果你想要替换字符串中的所有反斜杠,代码可能如下所示: ```java String originalString = "Hello\\World\\Again"; String replacedString = originalString.replaceAll("\\\\", "/"); ``` ...
在Android中,将字符串转换成16进制的常见方法是遍历字符串中的每个字符,将其ASCII码转换为16进制字符串。以下是一个简单的示例: ```java public String stringToHex(String input) { StringBuilder sb = new ...
在Android开发中,判断一个字符串是否符合日期格式是一项常见的任务,尤其在处理用户输入或者解析数据时。这个任务可以通过多种方式来实现,涉及到日期时间处理、正则表达式以及Java或Android提供的日期解析类。以下...
isMobileSimple : 验证手机号(简单) isMobileExact : 验证手机号(精确) isTel : 验证电话号码 isIDCard15 : 验证身份证号码15位 isIDCard18 : 验证身份证号码18位 isEmail : 验证邮箱 isURL : 验证URL ...
这里假设我们需要隐藏字符串中的某个子串,所以创建了一个替代字符串`sr`,并用星号`*`填充。然后,使用`substring()`方法找到需要替换的子串,并用`replace()`方法进行替换。最后,通过`tv.setText(s)`将处理后的...
`indexOf()`和`lastIndexOf()`方法可以用于查找字符串中的开始和结束标记。例如,如果我们要找到字符串`str`中特定子串`startMark`和`endMark`的位置,可以用`str.indexOf(startMark)`和`str.lastIndexOf(endMark)`...
split()分割字符串 1.不同环境下的区分 Java:分割字符串不能写成split(“$”)//$为要分割的字符 Android:分割字符串需要加上中括号split(“[$]”)/...所以想要使用 | ,必须用 \ 来进行转义,而在java字符串中,\
在Android应用开发中,有效地管理和使用字符串资源是至关重要的,特别是在构建用户界面和处理本地化时。Android系统提供了一种规范的方式来定义和管理这些字符串,那就是通过XML文件。本篇文章将详细阐述如何在...
在Android应用开发中,有时我们需要根据特定的业务需求动态地执行字符串表示的代码,例如,通过接口配置来跳转到不同的Activity。这个场景通常出现在插件化开发、动态加载或运行时权限处理等复杂场景中。本文将详细...
在Android开发中,String字符串数组是一种常见的数据结构,用于存储一系列相关的文本信息。在某些情况下,我们可能需要在运行时动态地向已存在的字符串数组中添加元素,而非仅仅在XML资源文件中静态定义。这就涉及到...
首先,Android提供了TextView和WebView两种主要方式来处理字符串中的超链接。对于TextView,我们可以通过设置SpannableString和ClickableSpan来实现。以下是一个简单的示例: ```java TextView textView = ...
Android DrawText 字符串的绘制 Android DrawText 字符串的绘制是 Android 平台上的一种常见的绘制技术,用于在屏幕上显示文字信息。在 Android 平台上,DrawText 字符串的绘制是通过使用 Canvas 和 Paint 对象来...
标题提到的"Android-一款自动对dex文件中的字符串进行加密Android插件工具"是指用于增强应用安全性的技术实践,特别是针对 Dex 文件(Dalvik 可执行文件)中的字符串进行加密。在Android系统中,Dex文件包含了应用...
以上内容仅为基础的Android字符串国际化的介绍,实际开发中可能还需要考虑日期、数字、货币等其他类型的国际化问题,以及如何在测试阶段有效地验证不同语言版本的正确性。在实际项目中,开发者应结合具体需求和最佳...
Android 解析 JSON 字符串是 Android 应用程序中非常常见的一种数据交互方式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。 在 Android 中,解析 ...
在Java中,我们可以使用`org.json`库或者Gson库将Map转换为JSON字符串。这个工具类可能包含以下方法: ```java public static String mapToJsonString(Map, Object> map) { // 使用Gson库进行转换 Gson gson = ...