androidstringxml
Ⅰ android开发为什么要使用string.xml 直接写在组件中不行吗
这个全凭个人喜好,不过按照编程规范来说要尽量避免在java代码中出现中文,当然这不是强制的。 用string.xml还有一个好处,方便做国际化。如果你以后开发要用其他语音你可以新建一个别的语言的xml文件。 直接写到组件中当然也是可以的。
Ⅱ android开发中,如何通过变量获取strings.xml的值。
你把R.string.str左右一个整体.
比如定义个
int
str.
然后动态的修改这个str,
比如一开始str
=
R.string.username.
后来你改了一下,str
=
R.string.password.
最后用的时候,
直接getString(str)就好了.
Ⅲ 在android开发中,关于string和string.xml的问题
values文件下下面放了很多xml,比如建立一个4.0的project,就会有strings.xml、dimens.xml、styles.xml。而且自己也可以添加,比如以后学Spinner组件等可以可能会用到自己做的xml文件。
android:text="@string/button1“的”string“不是直接的文件夹名字,是ADT下管理的一个键值映射,提供的”@string“找到这个string键然后这个键对应的值是”strings.xml“这个文件。一种映射关系,而不是直接的对应,就和数据库开发中的三层模式似的(当然比喻不大妥当)。
包括引用style也不是@styles而是@style,ADT通过用户提供的键”style“找到对应的值即”style.xml“文件。再举个例子,比如你要为ImageView添加一个图片,会在布局文件中写这么一句
android:src="@drawable/pic"但是你看看有没有”drawable“这个文件夹的?没有,而是”drawable-hdpi“等一系列文件夹。具体内部是ADT自己通过映射找到的。
Ⅳ 安卓android的程序编译好之后,strings.xml文件还单独存在吗还可以在程序中修改吗
不用存在strings中,可以存在Preference中,这是android提供的一种轻量级的数据存取方法,它以键值对的方式将数据保纯在一个XML文件中。
Ⅳ Android程序中的strings.xml文件 中string类型的变量为什么一修改就出现java.lang.NullPointException错误
因为Eclipse是一个IDE工具,他的反应并不是总是那么智能,你最重要的是明白:工程目录下各个文件的关系,任何改动都要保证R.java文件伴随改动(他有时候不是那么听话的)。
<string name="hello">Hello World, HelloActivity</string>
这句话在R.java 中 表现为
int hello = 0x12345678;
实际是把XML文件中的数据看成类:
R.java中的数据就是这个类实例的引用地址。
为了表示区别用hello1 和hello2 表示你改变前后的字符串
String hello1 = “Hello World, HelloActivity!”;
当你改动的时候又产生一个字符串,
String hello2 = “Hello World, HelloActivity”;
如果IDE工具足够智能他就删除前一个hello1用hello2代替,但是有些时候他没有,R中0x12345678依然指向hello1 但是他已经不存在了 被更改为Hello2了 但是hello2 没有在R中 注册,程序查询不到他。所以报错。
解决办法:project->clean clean是是的整个工程重建。R.java会重建 其中的整形数组(就是引用地址)会重新和资源相互对应。(R.java经常会出错去找一下R.java出错的处理办法)
忠告:如果确认程序的微小改动,导致程序出错,要耐心寻求答案,这样你才能处理更多类似的问题,对问题的实质更了解,才能更好的提高自己。
Ⅵ Android 关于string.xml存值的问题
使用<b>和<b>来打印出<b></b>
这样的文字;“<”表示“<”的意思;
使用textView.setText(Html.fromHtml("Hello
<b>World</b>,<font size=\"3\"
color=\"red\">AnalysisXmlActivty!</font>"));设置类似于html那样的效果
如果你需要使用 String.format(String, Object...)
来格式化你的字符串,你可以把格式化参数放在你的字符串中,参见下面的例子:
<string
name="welcome_messages">Hello, %1$s! You have %2$d new
messages.</string>
在这个例子中,这个格式化的字符串有2个参数, %1$s是个字符串 %2$d
是个浮点数,你可以在你的程序中按照下面的方法来根据参数来格式化字符串:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages),
username, mailCount);
那么根据例子上说的我需要把%s换成%1$s才行了,修改后编译通过,程序成功启动。
问题补充:如何在<string></string>中使用%号
有两个办法可供选择
1.用%%来表示1个%,和转意符号 \ 的用法相同
2.如果你的字符串不需要格式化,可以在你的<string
标签上增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test
%</string> 即可
Ⅶ android的String.xml文件中使用%s表示什么意思,怎么使用
今天更新新版android SDK,发现对xml配置文件中各个控件属性设置更加严谨了,以前在strings.xml里配置的带有 %s,%f 等变量格式的符号要求更加成%1$s,%1$f这样的符号来代替,其中%1表示第一个位置的变量, $s表示为字符串类。
Ⅷ android 怎么获得string.xml里的数组
example:XML file saved at res/values/strings.xml : <? xml version = "1.0" encoding = "utf-8" ?>
<resources>
<string-array name = "planets_array" >
<item> Mercury </item>
<item> Venus </item>
<item> Earth </item>
<item> Mars </item>
</string-array>
</resources>
This application code retrieves a string array:
Resources res = getResources () ;
String [] planets = res . getStringArray ( R . array . planets_array );
Ⅸ android 的string.xml 是怎样被编译进去的
在Activity中getString(R.string.resource_name);
或者getResources().getString(R.string.resource_name);
其他地方
用context上下文context.getString(R.string.resource_name);
context可以从调用的地方获得,或者 getApplicationContext 用全局的context
或者用
application.getString(R.string.resource_name);
Ⅹ 【android】string.xml的数据储存的用法,高手帮忙!
操作方法:
//xml
?xml
version="1.0"
encoding="utf-8"?
…
…
Bharain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
//获取String
String[]
contries=getResources().getStringArray(R.array.countries_arry);