我刚刚学习 Android 开发,所以如果这本质上有点不对劲,请原谅。
我想制作一个与我的网站上的数据库交互的应用程序,从某种意义上说,这两件事将互为补充。就这样。我正在尝试找出与服务器交互的最佳方式。我不想要一个在类似浏览器的环境中的应用程序,我想开发一个完整的应用程序,该应用程序独立于仅共享数据库和类似功能的网站工作。那么我最好的方法是什么?
正在构建应用程序,以便它可以发布/获取服务器上的 php 文件,基本上通过 JSON/XML 进行交互,这是我最好和/或最安全的选择,或者是否有更好的方法将应用程序连接到服务器数据库,不需要我打开数据库到任何发出请求的IP。
只是在这里寻求意见和建议。我想每个看到这篇文章的人都熟悉 Android 开发和最佳实践,我也已经浏览过博客和其他所有内容,但关于哪个最好的观点似乎是 50/50。
我确信 Android 上有一些库可以帮助您进行 HTTP Get 和 Post,但是,如果您真的想了解正在发生的事情,那么您只需了解几个类即可自己创建必要的类。
首先,了解 HttpClient、HTTPGet、HTTPPost 和 HTTPResponse。 Android 的一些更高版本也有一些不错的其他类,但这四个类几乎是您入门所需的全部。
你需要做这样的事情:
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.myurl.com/api_name");
HttpResponse response = client.execute(request);
如果您对此进行调试(当然使用真实的 URL),您会注意到您的应用程序在 client.execute() 期间冻结了。这是请求实际触发并且应用程序正在等待响应的时间点。一旦您实际得到响应,从中获取数据并不困难。
一旦理解了这一点,您就会想要了解 AsyncTask,它对于执行后台任务非常有用。您可以在这里找到文档:http://developer.android.com/reference/android/os/AsyncTask.html顶部有一个很好的例子说明如何使用它。
结合使用这两个概念,您可以执行异步 HTTP 请求。基本上,将实际的 HTTP 执行代码放在 AsyncTask 的 doInBackground 中。在 doInBackground 结束时返回您的响应,然后在 AsyncTask 的 onPostExecute 中对数据执行您想要的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)