Java 访问数据以在Android应用程序中显示为搜索结果
我正在开发一个Android应用程序,它可以获取用户的当前位置,并显示靠近他/她的位置的餐厅列表。餐厅的数据对我来说是可用的(即我确实有我想在搜索结果中显示的每个餐厅的lat/long)。我不能使用GooglePlacesAPI,因为我只需要显示我们数据库(在我们的网站)中可用的餐厅。我的问题是如何访问我的数据库(甚至是URL),这是在一台计算机上,以提取餐厅的数据并在我的android应用程序中显示为搜索结果?Java 访问数据以在Android应用程序中显示为搜索结果,java,android,database,google-maps,Java,Android,Database,Google Maps,我正在开发一个Android应用程序,它可以获取用户的当前位置,并显示靠近他/她的位置的餐厅列表。餐厅的数据对我来说是可用的(即我确实有我想在搜索结果中显示的每个餐厅的lat/long)。我不能使用GooglePlacesAPI,因为我只需要显示我们数据库(在我们的网站)中可用的餐厅。我的问题是如何访问我的数据库(甚至是URL),这是在一台计算机上,以提取餐厅的数据并在我的android应用程序中显示为搜索结果? 实际上,我正在为我的公司制作一个无缝()类型的应用程序。 我是android应用程
实际上,我正在为我的公司制作一个无缝()类型的应用程序。 我是android应用程序开发的新手。所以,如果这是一个非常宽泛或愚蠢的问题,请原谅。请告诉我我需要学习什么主题来实现这个。我会自己学习和做 谢谢。您需要:
- 用于存储餐厅及其经度/纬度的Sqlite数据库
- 一个地图视图来显示地图(别忘了注册你的谷歌地图API键)
- 地图覆盖以显示地图上的标记
- GPS访问获取用户位置(需要相应的Android权限)
- 一种简单的搜索算法,用于检索距离用户位置x范围内的餐厅结果集
对于从服务器到Android客户端的数据传输,JSON是一种流行的格式 要访问计算机上的数据库(而不是Android上的SQLite),您应该使用数据库服务器的url将
localhost
更改为:10.0.2.2。但是如果你的数据库在互联网上,你应该创建一些RESTAPI来获取你需要的数据。然后使用HttpClient
从服务器获取数据
您需要的一切都在:
使用MyLocationOverlay
例如(指向服务器的url):
访问服务器上的数据—这取决于您如何实现(以及使用什么技术)您的服务器(RESTAPI?、WebService?、纯HTML?),以及服务器响应的格式(JSON?XML?)等
我建议使用JSON,因为使用Android SDK中包含的类很容易解析:
String json = execute(new HttpGet(Constants.SERVER_URL + "/fetchData"));
JSONObject responseJSON = new JSONObject(json);
if(responseJSON.has("auth_error")) {
throw new IOException("fetchData_error");
}
谢谢你的回复!我已经完成了第2、3、4点。我研究并实施了它们。但是我如何访问这个数据库呢?通过URL?因为此数据库将仅在计算机或网站上。确定。因此,首先我需要了解如何查询服务器(使用基于HTTP的协议(REST)),然后查看JSON,以便将数据从服务器数据库传输到我的应用程序。在这之后,我需要做的就是适当地解析接收到的数据并显示我的搜索结果。因此,我需要使用HttpClient从网站访问。在开发过程中,使用10.0.2.2从我的计算机访问它。你能给我推荐一个主题,包括通过网站的url访问数据吗?实际上,我已经实现了我应用程序的地图部分。我只需要知道如何以及从何处访问我的数据。谢谢!我将了解如何从服务器访问数据,并可能使用JSON作为响应格式。在我实现这一点之前,我确实有很多研究和学习要做。
String json = execute(new HttpGet(Constants.SERVER_URL + "/fetchData"));
JSONObject responseJSON = new JSONObject(json);
if(responseJSON.has("auth_error")) {
throw new IOException("fetchData_error");
}