如何在android的XML和java代码中引用字符串常量
使用字符串(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的XML和java代码中引用字符串常量相关推荐
- Android如何在java代码中设置margin
Android如何在java代码中设置margin,也就是组件与组件之间的间距. 代码中设置: LinearLayout.LayoutParams params = new LinearLayout. ...
- Eclipse Android项目 为控件添加了Id,但是在Java代码中提示xxx cannot be resolved or is not a field
在Android开发过程中,常需要在布局文件中为控件添加Id,以便在Java代码中找到这个控件. 但在使用Eclipse进行开发的过程中,常会出现明明已经在Layout XML文件中为组件添加了Id, ...
- xml与java代码相互装换的工具类
2019独角兽企业重金招聘Python工程师标准>>> 这是一个java操作xml文件的工具类,最大的亮点在于能够通过工具类直接生成xml同样层次结构的java代码,也就是说,只要你 ...
- android中在java代码中设置Button按钮的背景颜色
android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...
- 如何在java代码中读取配置文件
在日常开发过程中,我们经常需要拼接一些字符串之类的东西,而这些字符串往往是不变的,或者在java代码中多次使用到的.当然我们可以在java代码中写死,但是这样做的缺点也是有目共睹的,一旦业务需求发生变 ...
- java relativelayout,在java代码中设置RelativeLayout
我很难让两个文本视图在我的Java代码中出现在彼此的顶部. 这是我正在试验的代码: /** Called when the activity is first created. */ @Overrid ...
- 你还在 Java 代码中写 set/get 方法?赶快试试这款插件吧!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:Mr.ml https://blog.csdn.net/Ma ...
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...
1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...
- idea自动生成get set_CTO:不要在Java代码中写set/get方法了,逮一次罚款
前言 what?你的 Java 代码中还充斥着大量的 set/get 方法? 我们在刚开始学习 Java 语言的时候讲过,面向对象的三大特征就是封装,继承,和多态.在 Java 中,要保证封装性,需要 ...
最新文章
- 在win7怎么使用linux指令,Win7系统的Powershell命令怎么使用
- 跨平台的 .NET 运行环境 Mono 3.2 新特性
- MySQL datetime类型字段的毫秒四舍五入
- flutter 实现不可滚动的ListView构建器
- university of liverpool writing techniques
- 如何用 Python 快速抓取 Google 搜索?
- 生产者消费者 java实现_Java生产者消费者的三种实现
- PTA:6-8 数组元素的区间删除 (20 分)
- 雅虎扫描用户电子邮件,欧盟不干了:侵犯隐私!
- 高效办公必备神器-Keychron键盘,值得拥有
- 我为什么关注范冰冰和苍井空
- 印象笔记 离线版_印象笔记离线版
- smart原则_绩效指标如何设定?SMART原则轻松搞定
- 微信公众号平台js逆向分析
- 利用高德api定位当前位置
- Python 3 迁移怨声载道
- 【大学物理·静止电荷的电场】电容器的电容
- android yuv旋转,针对移动端摄像头yuv旋转、裁剪、镜像、格式转换算法的实现
- IntelliJ Idea SpringBoot 数据库增删改查实例
- 2.3 数值分析: 矩阵三角分解法
热门文章
- Hulu 视频QoS优化策略
- 张军:围绕“WebRTC+AI+大数据”创新
- Zookeeper知识点详解
- 你真的知道怎么实现一个延迟队列吗 ?
- 4分钟训练ImageNet!腾讯机智创造AI训练世界纪录
- dlopen dlsym dlclose加载动态链接库
- calico 跨主机容器网络通信
- Spark 2.2.0 集群部署
- tmux 如何自定义背景颜色 | How does the tmux color palette work?
- 多线程与高并发(八):ThreadPoolExecutor源码解析, SingleThreadPool,CachedPool,FixedThreadPool,ForkJoinPoll 等