Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
foursquare API和java_Java_Google Maps_Foursquare - Fatal编程技术网

foursquare API和java

foursquare API和java,java,google-maps,foursquare,Java,Google Maps,Foursquare,我计划开发一个非常简单的java应用程序(不是移动应用程序,而是桌面应用程序),它利用web服务,特别是Foursquare API和Google Map web服务。我计划获取用户地址,然后使用谷歌地图将地址转换为纬度和经度,然后将此结果提供给foursquare API method Vincement methods(Nearest和search),以获取附近场馆的结果并将其显示给用户。问题是: 这些都可以用Java实现吗 如何在java中调用这样的函数并得到结果?我知道我可以使用Xpat

我计划开发一个非常简单的java应用程序(不是移动应用程序,而是桌面应用程序),它利用web服务,特别是Foursquare API和Google Map web服务。我计划获取用户地址,然后使用谷歌地图将地址转换为纬度和经度,然后将此结果提供给foursquare API method Vincement methods(Nearest和search),以获取附近场馆的结果并将其显示给用户。问题是:

  • 这些都可以用Java实现吗
  • 如何在java中调用这样的函数并得到结果?我知道我可以使用Xpath解析结果。我只是不知道该怎么称呼那些帖子 方法,并将参数传递给它
  • 有没有使用foursquare API的java代码示例
  • 如果foursquare API不在移动设备上使用,它会工作吗
  • 对不起,所有的问题

  • 是的,这是可能的,但我对FourSquare API不太了解,无法100%自信地回答
  • 建立到该URL的URL连接,并创建符合其API的GET或POST请求
  • 谷歌是你的朋友
  • 您当然可以发出HTTP请求。对结果做什么是另一回事
  • 更新:

    我没有在FourSquare注册。试试这个,让我知道它是否适合你:

    package foursquare;
    
    import java.io.*;
    import java.net.Authenticator;
    import java.net.URL;
    
    /**
     * FourSquareDemo
     * User: Michael
     * Date: 10/19/10
     * Time: 7:53 PM
     */
    public class FourSquareDemo
    {
        private static final int DEFAULT_CAPACITY = 4096;
        private static final String DEFAULT_URL = "http://api.foursquare.com/v1/";
        private static final String DEFAULT_EMAIL = "you@gmail.com";
        private static final String DEFAULT_PASSWORD = "password";
    
        public static void main(String[] args)
        {
            long startTime = System.currentTimeMillis();
            long endTime = 0L;
            try
            {
                String downloadSite = ((args.length > 0) ? args[0] : DEFAULT_URL);
                URL url = new URL(downloadSite + "history");
                Authenticator.setDefault(new BasicAuthenticator(DEFAULT_EMAIL, DEFAULT_PASSWORD));
                String contents = readFromUrl(url);
    
                PrintStream ps = ((args.length > 1) ? new PrintStream(new FileOutputStream(new File(args[1]))) : System.out);
                printToStream(ps, contents);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                endTime = System.currentTimeMillis();
                System.out.println("wall time: " + (endTime - startTime) + " ms");
            }
        }
    
        private static void printToStream(PrintStream ps, String contents) throws IOException
        {
            ps.println(contents.toString());
            ps.close();
        }
    
        private static String readFromUrl(URL url) throws IOException
        {
            StringBuilder contents = new StringBuilder(DEFAULT_CAPACITY);
    
            BufferedReader br = null;
    
            try
            {
                InputStream is = url.openConnection().getInputStream();
    
                br = new BufferedReader(new InputStreamReader(is));
                String line;
                String newline = System.getProperty("line.separator");
                while ((line = br.readLine()) != null)
                {
                    contents.append(line).append(newline);
                }
            }
            finally
            {
                try
                {
                    if (br != null)
                    {
                        br.close();
                    }
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
    
            return contents.toString();
        }
    }
    

    Foursqare API使用简单的HTTP get方法(也称为RESTful web服务)。 Java中有许多调用RESTful web服务的方法,请参见:

    • -显示JAX-RS,还使用JSON(可以在Foursquare中使用,而不是XML)
    • -一个流行的web服务框架,还支持创建RESTful客户端

    我已经试过用谷歌搜索,但找不到任何。。。这就是我问你的原因你看起来不太认真。看看我搜索“foursquare api”时出现的前两个链接:它们没有说明如何具体调用使用Java的用户。。。这只是foursquare提供的一堆方法文档,这就是RESTAPI。您必须使用我告诉过您要连接到FourSquare的URLConnection类。我特别想找一个通用示例,说明在Java中使用RESTAPI而不使用任何框架(JAX-RS等)的最简单方法.有没有不使用JAX-RS和纯Java SE的方法library@aherlambang-您可以使用普通URLConnection进行连接,并对JSON进行字符串操作