Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 保存静态文本的最佳方法_Android_Text Formatting - Fatal编程技术网

Android 保存静态文本的最佳方法

Android 保存静态文本的最佳方法,android,text-formatting,Android,Text Formatting,我的应用程序使用了大量的静态文本,我正试图找到一种保存和显示这些文本的最佳方式。现在,我不需要把重点放在文本的本地化上,因此,所有的文本都会进入strings.xml,这会带来很多格式方面的噩梦 当然,它不是100%的静态内容,我有时会在其中包含动态值,在我的例子中,动态值可以保留在strings.xml中。那么,保存此静态文本的正确方法是什么呢?静态文本内容正是您想要使用strings.xml的目的,您还可以自动获得更容易本地化的额外好处,因为您可以为不同的语言使用不同的strings.xml

我的应用程序使用了大量的静态文本,我正试图找到一种保存和显示这些文本的最佳方式。现在,我不需要把重点放在文本的本地化上,因此,所有的文本都会进入
strings.xml
,这会带来很多格式方面的噩梦


当然,它不是100%的静态内容,我有时会在其中包含动态值,在我的例子中,动态值可以保留在
strings.xml
中。那么,保存此静态文本的正确方法是什么呢?

静态文本内容正是您想要使用
strings.xml
的目的,您还可以自动获得更容易本地化的额外好处,因为您可以为不同的语言使用不同的
strings.xml
。不需要更改代码,只需要不同的XML文件

动态内容将是根据用户输入而变化的内容。您仍然可以使用
strings.xml
来存储动态内容的静态部分(如果有的话)。像“format”字符串一样,您可以传递到
string.format()
或类似的内容


使用资源支持,这正是它想要做的(并且效率很高)。

静态文本内容正是您想要使用的
strings.xml
,并且您会自动获得更容易本地化的额外好处,因为您可以为不同的语言使用不同的
strings.xml
。不需要更改代码,只需要不同的XML文件

动态内容将是根据用户输入而变化的内容。您仍然可以使用
strings.xml
来存储动态内容的静态部分(如果有的话)。像“format”字符串一样,您可以传递到
string.format()
或类似的内容


请使用资源支持,这正是它的目的(并且非常有效)。

您可以创建一个名为StaticBuffer的类,或者创建一个静态字符串数组作为数据成员的类

class StaticBuffer
  { 
    static String array[]; 
  }
然后您可以在onCreate()或任何其他函数中初始化它并使用它。因为它是静态的,所以它的值将反映您在任何地方所做的更改

例如:


附言:我是从我的一个朋友那里得到这个主意的

您可以创建一个名为StaticBuffer的类,或者使用静态字符串数组作为数据成员

class StaticBuffer
  { 
    static String array[]; 
  }
然后您可以在onCreate()或任何其他函数中初始化它并使用它。因为它是静态的,所以它的值将反映您在任何地方所做的更改

例如:


附言:我是从我的一个朋友那里得到这个主意的

你的评论是矛盾的;你说:

现在,我不需要把重点放在本地化文本上,因此,所有文本都进入strings.xml

如果不需要本地化,那么为什么要使用
strings.xml

当然,答案是因为无论本地化如何,
strings.xml
都是实现这一点的最佳场所

我不知道你会做什么样的噩梦,但它和其他弦没有什么不同:

例如,对于strings.xml:

<string name="refresh">Refresh</string>
<string name="order_placed" formatted="false">Order Placed: %s</string>
将输出:

Something bad happened.
Please try again.
等等


此外,如果您在命名资源时遇到困难,我或多或少都在关注,尽管在底部描述了一些缺点,但它们对于Android Studio奇特的重构工具来说并不是什么大问题。

您的评论是矛盾的;你说:

现在,我不需要把重点放在本地化文本上,因此,所有文本都进入strings.xml

如果不需要本地化,那么为什么要使用
strings.xml

当然,答案是因为无论本地化如何,
strings.xml
都是实现这一点的最佳场所

我不知道你会做什么样的噩梦,但它和其他弦没有什么不同:

例如,对于strings.xml:

<string name="refresh">Refresh</string>
<string name="order_placed" formatted="false">Order Placed: %s</string>
将输出:

Something bad happened.
Please try again.
等等


此外,如果您在命名资源时遇到问题,我或多或少都会关注,尽管下面描述了一些缺点,他们对Android Studio花哨的重构工具没什么大不了的。

如果我是你,我会把主题放在静态字符串数组中。你说已经有字符串留在
strings.xml
,所以我会把文本放在那里。否则,将有一堆文本分散在多个位置。这将使任何阅读该代码的人感到困惑。另外,当你关心本地化时,更新会更容易。没错,但我想确保整个应用的格式是一致的。是的,我不想在应用程序中将字符串分割成不同的文件。你能定义一下“它不是100%静态内容”是什么意思吗?我添加了用于替换此处提到的字符串或十进制字符的格式参数:如果我是你,我会将主题放在静态字符串数组中。你说已经有字符串保留在
strings.xml
中,因此我会将文本保留在那里。否则,将有一堆文本分散在多个位置。这将使任何阅读该代码的人感到困惑。另外,当你关心本地化时,更新会更容易。没错,但我想确保整个应用的格式是一致的。是的,我不希望在整个应用程序中将字符串拆分为不同的文件。您能定义“它不是100%静态内容”的含义吗?我添加了用于替换字符串或十进制字符的格式参数,如这里所述:是的,但除了支持多行的基本格式之外,我在问是否有更好的方法,或者我的选择仅限于
strings.xml
?您最好、最灵活和可维护的方法是使用
strings.xml
。其他选项包括在代码中固定字符串,这不利于维护或国际化。是的,但除了支持多行的基本格式之外,我想问是否有更好的方法,或者我的选项是否仅限于
strings.xml
?您最好的,m