是否可以在应用程序识别的远程服务器的字符串中添加新行



我正在我的Android和iOS应用程序中实现一个商店。我有一个后端服务器,我可以在那里输入产品名称、产品价格、产品描述等。这些信息然后存储在数据库中。我通过API以json字符串的形式获得了一个产品列表,其中包含所有详细信息。这意味着我的Android应用程序可以获得所有产品的详细信息。

现在,我有这样的东西作为产品描述:

Content:
1 bottle: red wine
1 pck cheese crackers with cheddar 75 g

当然,在我的描述中,这是作为字符串存储在远程数据库中的。

Content: 1 bottle: red wine 1 pck cheese crackers with cheddar 75 g

我的问题:如何将特殊字符添加到存储在数据库中的字符串中,并由API(json字符串)访问,以便我的Android应用程序识别它。

一种解决方案是为新行添加一些特殊的字符串,如/addnewline\,然后使用replaceAll()函数,然后在Android中为字符串添加新行,但这似乎不是一个好方法。肯定还有别的办法。

Content:/addnewline1 bottle: red wine 1/addnewline1 pck cheese crackers with cheddar 75 g

更新:正如一些用户所建议的,在从远程服务器检索类似内容时,\n不起作用,也不被Android识别:

Content:n1 bottle: red wine 1n1pck cheese crackers with cheddar 75 g

似乎没有比我已经建议的解决方案更好的方法了:

我将/必须使用replaceAll功能:

//get description according to device language
item_description.setText(gift.getDescription().replaceAll("\\n", "n"));

知道吗?

我建议您如前所述为新行添加"n"

如果您想要其他方式,请将文本用作HTML并添加<br/>

我对此有以下kotlin扩展:

fun html(str: String?): Spanned = Html.fromHtml(str)

考虑使用inputType="textMultiLine"的EditText。

最新更新