【问题标题】:Flickr API on Android?Android 上的 Flickr API?
【发布时间】:2011-01-20 14:27:10
【问题描述】:

我想使用 Flickr API 在 Android 手机上下载图像,任何人都可以告诉我有关 Andorid 上 Flickr API 的工作示例。

我已将 flickr.jar 添加为外部库,并且我有“密钥”和“秘密”,但我不知道如何下载图像。

【问题讨论】:

    标签: android flickr


    【解决方案1】:

    只需 3 个步骤,您就可以实现它。

    第 1 步:找到您的用户 ID。

    最简单的方法是使用这个服务http://idgettr.com/

    第 2 步:获取您的 flickr api 密钥

    只需登录您的帐户并点击此链接http://www.flickr.com/services/api/misc.api_keys.html

    第 3 步:从我们博客的示例项目中获取代码

    http://www.quintostdio.com/blog/archives/1117

    在 FlickrActivity 类(在 com.quintostdio.test.flickr.ui 包中)添加您的用户 ID 和 api 密钥并运行示例。您可以复制粘贴类并将其添加到您的项目中,无需进行任何更改,它会起作用。

    【讨论】:

    • 总是只返回空 json @Thanos Karpouzis
    • 是的@Thanos Karpozis,我也得到 Photoset jsonArray 总是空的。代码中是否有任何错误或我没有正确执行某些操作
    • 不工作。得到空白屏幕。如果可能,请更新代码
    • 第 3 步中的链接不再起作用,因此这已成为无效答案。
    【解决方案2】:

    您好,我已经为 Android 构建了一个 Flickr Java 库:http://code.google.com/p/flickrj-android/

    【讨论】:

    • 这个项目已经过时了,2012年是最后一次更新。
    【解决方案3】:

    您需要查看他们在 Flickr 网站上的文档。很可能会使用 Java 库并将其导入您的 Android 项目。

    可能必须使用 Key 和 Secret 实例化一个对象。获得有效的身份验证对象后,您将使用提供的方法(来自文档)来获取图片。

    看看这里:http://www.flickr.com/services/api/

    【讨论】:

      【解决方案4】:

      @Todd DeLand 的答案即使在今天也相当准确。

      不过,我会加快搜索速度并告诉您 flickrj-android 不再是最新的,您可以在下载页面查看https://code.google.com/archive/p/flickrj-android/downloads

      Flickr API 页面 (http://www.flickr.com/services/api/) 中列出的另一个项目,Flickr4Java,它现在肯定可以工作,因为我今天刚刚对其进行了测试,到目前为止它的工作做得很好。

      Github 仓库:https://github.com/boncey/Flickr4Java

      要在项目中添加的 Gradle 配置(请注意,因为在 README 中会出现另一个 Gradle 配置,该配置适用于 Flickr4Java 所基于的项目,并且无法正常工作):

      implementation "com.flickr4java:flickr4java:2.17"
      

      截至今天,Flickr4Java 最后一次更新是在 2017 年 11 月 11 日,还不错。

      这是我如何发送查询以获取某个位置(纬度、经度)周围的图片的示例:

          Thread thread = new Thread(new Runnable() {
      
              @Override
              public void run() {
                  try {
                      String apiKey = "MY_API_KEY";
                      String sharedSecret = "MI_API_SECRET";
                      REST rest = new REST();
                      Flickr flickrClient = new Flickr(apiKey, sharedSecret, rest);
      
                      SearchParameters searchParameters = new SearchParameters();
                      searchParameters.setLatitude(exampleLatitude);
                      searchParameters.setLongitude(exampleLongitude);
                      searchParameters.setRadius(3); // Km around the given location where to search pictures
      
                      PhotoList photos = flickrClient.getPhotosInterface().search(searchParameters,5,1);
                  } catch (Exception ex) {
                      Log.d(MapApplication.LOG_TAG, ex.getLocalizedMessage());
                  }
              }
          });
      
          thread.start();
      

      【讨论】:

        【解决方案5】:

        我会避免使用 flickr4java。我一开始以为它可以工作,但是在将其合并到我的项目中后,我发现它会间歇性地使应用程序崩溃。非常烦人,浪费了很多时间:(。在其他 java 应用程序下可能工作得很好,但似乎不能很好地与 android 一起玩 :(

        【讨论】:

        • 您好,从 2022 年开始!我正在使用 flickr4java,它非常棒……从来没有给我造成任何崩溃。
        猜你喜欢
        • 1970-01-01
        • 2012-09-05
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 1970-01-01
        • 2012-07-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多