我正在开发一个应用程序,在用户首次登录时必须从我的服务器下载大量数据并将其存储在我的iOS应用程序的本地数据库中。
在我的服务器中,我正在使用MySQL。我需要下载70MB ...到我的iOS应用程序才能在本地使用这些数据,无论是否有连接。
下载此数据的最佳方式是什么? XML压缩?导出到SQLite文件,压缩此文件,然后下载?
你能推荐任何方法吗?
答案 0 :(得分:4)
如果服务器上的数据库是动态的;一种好的方法是构建一个用于访问服务器上的数据库数据的API,您可以通过PHP构建API并让应用程序只读取数据的响应为JSON或XML。
如果数据库是静态的并且不经常更新的另一种方法是将SQL数据库作为SQLite数据库添加到IOS应用程序,并在应用程序上运行本地sql查询。
答案 1 :(得分:0)
我们使用Web服务和SOAP将数据从服务器传输到设备。您应该研究SOAP和REST Web服务。你基本上得到了你可以解析并用来创建适当对象的xml。
虽然这可能对你要做的事情有点过分,但值得研究。
此外,数据可以存储在SQLite数据库中,大多数移动平台都支持该数据库。
答案 2 :(得分:0)
是的,您可以将其导出到SQLite,压缩并使用AFNetworking.
下载require_once('html2pdf.class.php');
$results = mysql_query("SELECT * FROM tbl ORDER BY id ASC");
while ($row = mysql_fetch_assoc($results)) {
ob_start();
<page>
.... HTML ....
</page>
$content = ob_get_contents();
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'en', false, 'ISO-8859-1');
$html2pdf->setTestTdInOnePage(false);
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$Filename = "../folder/".$name.".pdf";
$html2pdf->Output($Filename, 'F');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
$content_print .= ob_get_clean(); // add the content for the next document and now delete the output buffer
echo "<br> $name ...done!";
echo str_pad('',4096)."\n"; //display some results so the page won't stay blank for too long
ob_flush();
flush();
}
echo "all done!";