Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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_Xml_Android Listview - Fatal编程技术网

在android应用程序中创建列表

在android应用程序中创建列表,android,xml,android-listview,Android,Xml,Android Listview,我想知道在我的android应用程序中创建列表的好方法。我的数据库中有所有信息,每次启动应用程序时都想从数据库中加载数据,并从中列出一个列表(id和标题) 最好的方法是什么 我应该创建一个PHP脚本,用一个JSON编码的数组来响应所有列表项,还是应该创建一个XML文件,每次数据库中的数据更改时生成,每次启动时导入应用程序?或者其他什么好方法 因为所有东西都是由android中的XML文件制作的,所以感觉导入XML是件好事,是吗?如何将XML文件从web服务器导入应用程序 //Daniel您可以使

我想知道在我的android应用程序中创建列表的好方法。我的数据库中有所有信息,每次启动应用程序时都想从数据库中加载数据,并从中列出一个列表(id和标题)

最好的方法是什么

我应该创建一个PHP脚本,用一个JSON编码的数组来响应所有列表项,还是应该创建一个XML文件,每次数据库中的数据更改时生成,每次启动时导入应用程序?或者其他什么好方法

因为所有东西都是由android中的XML文件制作的,所以感觉导入XML是件好事,是吗?如何将XML文件从web服务器导入应用程序


//Daniel

您可以使用JSON或XML

您可以使用web服务方法,也可以在应用程序中包含db

事实上,我经常选择创建一个sqlite3数据库来存储我的数据,并将其包含在assets文件夹中,启动时可以将其复制到应用程序的data文件夹中


至于将sqlite3数据库从assets/复制到db data目录,我觉得很有帮助。

在您的情况下,我会选择JSON而不是XML,原因如下:

另外,在android中,默认情况下内置了JSON数组,因此您不必进行任何额外的代码传递

return new JSONArray("my json string goes here..."); 
因为我们谈论的是移动设备,所以我总是在php脚本中生成更改,而不是进行完全同步,因为它的大小比完全同步小得多。但是,如果这适用于你的应用程序,你需要给你的用户一个进行完全重新同步的选项。我将使用SQLite数据库来存储数据,并且只更新其中的更改

为了使流更小,您可以gzip压缩来自php的输出,因为这可以由android设备本机读取。在我的应用程序中,我在传输之前将500kb压缩到~110kb,这大大节省了性能。下面是如何读取流的部分示例:

InputStream in = null;
HttpURLConnection httpConn = null; // you will have to write your on code for this bit.

if (httpConn.getContentEncoding() != null) 
{
String contentEncoding = httpConn.getContentEncoding().toString();
if (contentEncoding.contains("gzip")) 
{ 
    in = new GZIPInputStream(httpConn.getInputStream());
}
} 
else 
{ 
    in = httpConn.getInputStream();
}
我希望这一切都有意义,这是漫长的一天:)

斯图