2012-07-03 150 views
0

我正在创建一个android应用程序,该应用程序在MSSQL数据库中存储“name”“纬度”“经度”等数据。通过JSON将Android应用程序连接到Java服务器

我打算将android应用连接到服务器,然后连接到mssql数据库服务器。

我已经建立了Java-> MSSQL连接,并且可以读写数据而没有问题。

现在我希望能够在java服务器和android应用程序之间发送/接收这些对象。

我创建“file.json”,并将其存储包含在Web服务器上:

{"name":"shopname","address":"123 fake street","type":"unknown", "notes":"service is really good."} 

,我能拉把这些数据与任何麻烦的对象。

我的问题是:

如何获得Java服务器将这些数据有助于我的Android应用?我希望能够使用:

URL objectGet = new URL("http://10.0.1.8/file.json"); 
    URLConnection yc = objectGet.openConnection(); 
    BufferedReader in = new BufferedReader(
      new InputStreamReader(
      yc.getInputStream())); 

然后

DataObject objs = gson.fromJson(in, DataObject.class); 

什么是设置此功能的最佳方式?

+0

你有一个应用程序服务器(即tomcat或其他)你可以运行你的Java/MSSQL桥梁作为一个servlet? _如果不是 - 数据有点静态 - 即定期重新生成json是否可接受? – Jens

+0

不,我没有安装tomcat或其他服务器。我打算只使用一个Java应用程序。 数据根本不是静态的。它基于android手机的GPS坐标而变化。 但我打算定期重新生成json。 – NullPointer

回答

0

请参考我对这个职位的回答。 Why null value returns in json parsing in android?

这可能对您有所帮助。最好的办法是:

  • 使用read()函数连接到服务器,从服务器
  • 获取JSON字符串中使用GSON fromJson功能
+0

感谢您的回复 我发现与使用GSON解析JSON数据回对象。我试图弄清楚服务器端。 我该如何获得一个java服务器来生成JSON数据并在http://javaserver.example.com/file.json上提供它? 如何从android服务器(名称,纬度,经度)发送数据? 我开始想,或许我会更好地使用PHP作为中间层,因为它似乎更容易设置。 – NullPointer

+0

所以这是一个J2EE问题。无论如何,你创建了一个java servlet,并在doGet/doPost方法中创建了一个必要的JSON字符串,并将这个JSON字符串写入响应的writer对象。参考这个链接来制作这样一个[servlet](http://www.roseindia.net/tutorials/json/json-servlet-example.shtml)。也可以使用response.setContentType(“application/json”);将contenttype设置为'application/json';'' – sunil

0

为了解析读取数据到你的对象实例测试你的应用程序,你可以承载您的开发机器上通过IIS或Apache的服务,然后通过

http://10.0.2.2/file.json 

10.0.2.2打你的服务器是特殊的别名主机厕所pback接口(即开发机器上127.0.0.1)

参见:Emulator Network Address Space官方文档

相关问题