zoukankan      html  css  js  c++  java
  • 高德云检索

    云检索:

    上一节我们简单介绍了申请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中直接实现云存储相关操作(增删改)

  • 相关阅读:
    linux 下查看文件个数及大小
    weblogic日志小结
    Excel数据通过plsql导入到Oracle
    Linux查看外网IP
    linux挂载/卸载优盘
    git版本回退
    linux修改文件所属用户、用户组
    retry.RetryInvocationHandler (RetryInvocationHandler.java:invoke(140))
    Hadoop切换namenode为active
    Netty使用LineBasedFrameDecoder解决TCP粘包/拆包
  • 原文地址:https://www.cnblogs.com/hongguang-kim/p/5720857.html
Copyright © 2011-2022 走看看