• 高德云检索


    云检索:

    上一节我们简单介绍了申请key之类的介绍。

    今天就讲一下在android中怎么实现云检索。

    方法一:

    在这里city=全国:表示搜索整个表内容

    TABLEID:可以参考上一节内容

    WEBAPI:就是web服务api的key

    public void doGet(String keywords) throws UnsupportedEncodingException {
    String URL= "http://yuntuapi.amap.com/datasearch/local?" + TABLEID+ "&city=全国&keywords=" + keywords + "&" + WEBAPI;
    try {
        // 创建一个HttpClient对象
        HttpClient httpclient = new DefaultHttpClient();
        HttpGet request = new HttpGet(URL);
        request.addHeader("Accept", "text/json");
        // JSON的解析过程
        HttpResponse response = httpclient.execute(request);
        // 获取HttpEntity
        HttpEntity entity = response.getEntity();
        int code = response.getStatusLine().getStatusCode();
        if (code == 200) {
            // 获取响应的结果信息
            String json = EntityUtils.toString(entity, "UTF-8");
            System.out.println(json.toString());
        } else
            System.out.println(code + "download fail");
    
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }

    好了你可以通过keywords=索引来搜索高德云存储中对应TABLEID里的数据了。

    有关索引管理参考上一节。

    方法二:

    是通过Android平台SDK来实现。

    比较简单哦直接看代码:

    public void doSDKGet (String keyword) {
      CloudSearch mCloudSearch = new CloudSearch(this.getApplicationContext());// 初始化查询类
      mCloudSearch.setOnCloudSearchListener(this);// 设置回调函数
      // 设置中心点及检索范围
      SearchBound bound = new SearchBound("全国");
      // 设置查询条件 mTableID是将数据存储到数据管理台后获得。
      try {
        Query mQuery = new CloudSearch.Query(TABLEID, keyword, bound);
        mCloudSearch.searchCloudAsyn(mQuery);
      } catch (AMapCloudException e) {e.printStackTrace();}
    }
    
    @Override
    public void onCloudSearched(CloudResult result, int code) {
      if (code == 0) {
        ArrayList<CloudItem> items = result.getClouds();
        for (int i = 0; i < items.size(); i++) {
          System.out.println("---------------" + i + "---------------");
          CloudItem item = items.get(i);
          System.out.println(item.getTitle()+"(经度:" + item.getLatLonPoint().getLatitude() + "维度:" + item.getLatLonPoint().getLongitude()+")");
          }
      } else {
         System.out.println("木有找到!");
      } }

    下一节我们讨论怎么在Android中直接实现云存储相关操作(增删改)

  • 相关阅读:
    Eureka的集群配置
    spring-cloud_Eureka服务注册与发现
    ADB常用命令
    教你如何修改Python的pip源镜像
    【vscode】【python】自定义代码自动补全
    【docker】删除docker中的运行日志
    MVC页面上多个提交按钮提交到不同的Action
    MongoDB在windows服务器安装部署及远程连接MongoDB
    sql如果存在就修改不存在就新增
    c#序列化和反系列化json与类型对象转换
  • 原文地址:https://www.cnblogs.com/hongguang-kim/p/5720857.html
Copyright © 2020-2023  润新知