码迷,mamicode.com
首页 > 其他好文 > 详细

高德云检索

时间:2016-07-30 15:04:11      阅读:456      评论:0      收藏:0      [点我收藏+]

标签:

云检索:

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

 

高德云检索

标签:

原文地址:http://www.cnblogs.com/hongguang-kim/p/5720857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!