您的位置:首页 > 其它

安卓开发第十二天

2015-07-30 16:12 260 查看

- LeanCloud复合查询

Dao.java

[code]package com.shijiebang.offlinemap.db.SJBDao;

import com.avos.avoscloud.***Exception;
import com.avos.avoscloud.***Object;
import com.avos.avoscloud.***Query;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

/**
 * Created by zhangkaiyue on 15/7/29.
 */
public class SJBSearchLeanCloudDao {

    public ***Query<***Object> cityMapQuery(String str){

        //搜索城市
        ***Query<***Object> cityMapQueryByCity = new ***Query<***Object>("CityMaps");
        cityMapQueryByCity.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        cityMapQueryByCity.whereMatches("searchKeys", ".*" + str + ".*");

        //搜索国家
        ***Query<***Object> countriesQueryByCountry = new ***Query<***Object>("Countries");
        countriesQueryByCountry.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        countriesQueryByCountry.whereMatches("searchKeys", ".*" + str + ".*");

        ***Query<***Object> citymapQueryByCountry = new ***Query<***Object>("CityMaps");
        citymapQueryByCountry.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        citymapQueryByCountry.whereMatchesQuery("country", countriesQueryByCountry);

        //搜索大洲
        ***Query<***Object> continentsQueryByContinet = new ***Query<***Object>("Continents");
        continentsQueryByContinet.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        continentsQueryByContinet.whereMatches("searchKeys", ".*" + str + ".*");

        ***Query<***Object> countriesQueryByContinent = new ***Query<***Object>("Countries");
        countriesQueryByContinent.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        countriesQueryByContinent.whereMatchesQuery("continent", continentsQueryByContinet);

        ***Query<***Object> citymapQueryByContinent = new ***Query<***Object>("CityMaps");
        citymapQueryByContinent.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        citymapQueryByContinent.whereMatchesQuery("country", countriesQueryByContinent);

        List<***Query<***Object>> queries = new ArrayList<***Query<***Object>>();
        queries.add(cityMapQueryByCity);
        queries.add(citymapQueryByCountry);
        queries.add(citymapQueryByContinent);

        ***Query<***Object> combineQuery = ***Query.or(queries);
        combineQuery.setCachePolicy(***Query.CachePolicy.IGNORE_CACHE);
        combineQuery.include("country");
        combineQuery.include("mapFile");
        combineQuery.orderByAscending("pinyin");

        return combineQuery;
    }

    //将搜索传到LeanCloud
    public ***Object SJBToLeanCloud(String str){
        ***Object post = new ***Object("SearchKeywords");
        post.put("keyword", str);
        return post;
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: