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