遇到个问题,网上也有人问
从sqlite数据库取含有\n的值付给TextView,显示结果却不会换行,而是将\n也原原本本的显示出来了。太奇怪了!
那位老大解决过这种问题吗?给个思路...谢谢!
直接字符串中的/n或者strings.xml中的\n,textView可以自动换行,而数据库中或者xml解析后得到的字符串中的\n则原原本本的显示出来了。
自己想了个山寨办法:
List<Question> questionList = parse();
//textView.setText(questionList.get(0).getContent());
String a = questionList.get(1).getContent();
String b = "";
String aa[] = a.split("\n");
for(int i = 0;i<aa.length;i++){
if(i==0){
b = aa[i]+"\n";
}
else if(i!=aa.length-1){
b = b + aa[i]+"\n";
}
else{
b = b + aa[i];
}
}
textView.setText(b);
有更好办法的说声 thanks...
补充:
从raw/dates.txt文件取出字符串;
{"items":[{"content":"11111请选择:\nA、1成都\nB、1北京\nC、1上海\nD、1深圳","answer":"3","selectable":"1","chapterName":"1.1"},{"content":"22222请选择:\nA、2成都\nB、2北京\nC、2上海\nD、2深圳","answer":"1","selectable":"1","chapterName":"1.2"}]}
private String getDateFromTxt(){
InputStream localInputStream = getResources().openRawResource(R.raw.dates);
BufferedReader reader = null;
StringBuffer sb = null;
try {
reader = new BufferedReader(new InputStreamReader(localInputStream));
sb = new StringBuffer();
String temp = null;
while( (temp = reader.readLine())!=null) {
sb.append(temp);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
//json解析代码
JSONArray jArr;
JSONObject j;
String content = "";
try {
j= new JSONObject(getDateFromTxt());
jArr = (JSONArray) j.get("items");
for(int i=0;i<jArr.length();i++){
JSONObject jj = (JSONObject)jArr.get(i);
content = jj.getString("content");
}
textView.setText(content);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
从文件中读出json数据.\n可以正常实现换行功能。
分享到:
相关推荐
在Android开发中,"13pull解析xml天气信息"是一个典型的任务,涉及到网络数据获取、XML解析以及用户界面展示等多个方面。在这个例子中,开发者通常会利用Android的Pull解析器来处理XML数据,从而获取并显示天气预报...
在这个项目中,可能有一个按钮用于切换查询方向(汉译英或英译汉),以及用于显示查询结果的TextView。 3. **SQLite数据库**:Android系统内置了SQLite数据库,用于本地数据存储。在本例中,外部数据库可能是以...
3. CursorAdapter:用于显示SQLite数据库查询结果的适配器。 4. RecyclerView.Adapter:与RecyclerView配合使用的适配器,提供更灵活的布局管理。 适配器的使用流程包括:创建适配器实例,设置数据源,然后将适配器...
在Android中,XML还可以用于数据的持久化存储,如SQLite数据库的Schema定义、SharedPreferences的键值对存储等。 7. Android的XML动画: Android支持XML定义的动画效果,如属性动画(Property Animation)、帧动画...
你需要通过HTTP请求获取这些数据,然后使用如Gson或Jackson库解析JSON,或者使用DOM或SAX解析XML,将歌词内容转化为Java对象。 2. **SQLite数据库**:为了提高加载速度和减少网络请求次数,可以将下载的歌词存储在...
在移动应用开发中,为了保存历史天气数据,可能需要使用SQLite数据库或其他持久化存储解决方案。这样可以让用户即使在没有网络连接的情况下也可以查看历史天气信息。 8. 用户界面设计: Android应用的UI设计是用户...
4. **XML解析**:Android提供了内置的XML解析器,如DOM或SAX,或者使用第三方库如TinyXML或PullParser来解析天气数据。解析过程包括解析XML文档结构,提取所需元素,并转化为Java对象。 5. **UI设计**:使用Android...
Android提供了Gson库处理JSON,或者使用DOM、SAX或Pull解析器处理XML。解析后,将数据存储到本地数据库或直接用于展示。 6. **用户界面(UI)设计**: 设计一个输入框让用户输入手机号码,按钮触发查询,结果显示...
2. 数据解析:收到服务器返回的JSON或XML数据后,系统使用Gson或Java内置的DOM、SAX解析器解析数据。解析结果可能包含温度、湿度、风向、风力等气象参数。 三、用户界面设计 1. 布局设计:Android应用采用XML文件...
10. **XML解析**:了解DOM、SAX、PullParser解析方式,官方推荐使用PullParser以提高效率。 在面试中,除了技术知识,面试官还会关注候选人的项目经验、解决问题的能力、沟通技巧等软技能。因此,全面展示自己的...
-- 这是一个XML注释 -->`用于解释代码,不会在解析时显示。 6. 处理指令:`<?target instruction?>`用于服务器端脚本或其他处理,但不常见于Android开发。 二、XML在Android开发中的应用 1. 布局文件:XML用于创建...
解析XML时,通常会使用DOM(Document Object Model)、SAX(Simple API for XML)或者更现代的如StAX(Streaming API for XML)等方法。DOM一次性加载整个文档,适合小型文件;SAX是事件驱动的,适用于大文件;而...
4. **SQLite数据库**:为了缓存天气数据,避免频繁的网络请求,应用可能会使用SQLite数据库存储用户选择的城市和对应的天气信息。Android提供了`SQLiteDatabase`类进行数据库操作。 5. **UI设计**:展示天气信息...
12. **XML解析**:XML是常用的结构化数据格式,Android使用DOM、SAX或Pull解析器来读取和解析XML文件。 13. **异步消息处理**:为了防止主线程阻塞,Android推荐使用异步消息处理,如Handler、Looper和Message。...
- JSON和XML解析:使用Gson库解析JSON数据,或者使用Java内置的SAX或DOM解析XML数据。 - 解析出的数据通常包括气温、湿度、风速、天气状况等,将这些数据存储在自定义的Java对象(如WeatherInfo类)中。 4. **...
不过,DOM解析效率较低,内存消耗较大,对于大型XML文件,更推荐使用SAX或Pull解析器,它们基于事件驱动,更加高效。 在获取和解析完天气数据后,就需要展示给用户。"中国天气预报"意味着我们需要关注全国乃至特定...
在Android平台上开发一款天气预报应用是一项常见的任务,它涉及到网络数据获取、XML解析以及用户界面设计等多个技术领域。本文将详细讲解如何实现这样一个系统,主要关注以下知识点: 1. **网络请求**:为了获取...
Android提供了多种XML解析方法,如DOM、SAX或Pull解析器,开发者可以根据需求选择合适的方式。 3. **百度地图定位**:应用利用百度地图SDK进行地理位置定位,获取用户当前所在位置的经纬度,然后通过这些坐标调用...