package com.gitonway.fineday.utils;
import java.util.List;
import android.content.Context;
import android.text.TextUtils;
import com.gitonway.fineday.domain.model.CityModel;
import com.gitonway.fineday.utils.json.CityJsonUtils;
public class ToJsonStrUtils {
public static final String start="city([";
public static final String end="]);";
private static String k1="[";
private static String k2="]";
private static String c="\"";
public static String addCityToJson(String oldstr,CityModel str) {
String newstr = "";
if (TextUtils.isEmpty(oldstr)) {
newstr = cityToJson(str);
} else {
newstr = cityToJson(str)+","+oldstr;
}
return newstr;
}
/**
* 将城市数据转化为json
*
* 转化为如:
* [
"东丰",
"101060702"
]
*
* @param city 城市数据
* @return
*/
public static String cityToJson(CityModel city) {
String citystr=k1+c+city.getCityName()+c+","+c+city.getCityId()+c+k2;
return citystr;
}
/**
* 删除城市
*/
public static void deleteCity(Context context,CityModel city) {
String dcity=cityToJson(city);
String citystr = ACache.get(context).getAsString(
PreferencesUtils.LIST_OF_CITY);
String newstr="";
if (citystr.contains(dcity+",")) {
newstr=citystr.replace(dcity+",", "");
}else {
newstr=citystr.replace(","+dcity, "");
}
ACache.get(context).put(PreferencesUtils.LIST_OF_CITY, newstr);
}
/**
* 获得当前城市列表数据
* @throws Exception
*/
public static List<CityModel> getCurrentCity(Context context) throws Exception {
String citystr = ACache.get(context).getAsString(
PreferencesUtils.LIST_OF_CITY);
citystr = ToJsonStrUtils.start + citystr + ToJsonStrUtils.end;
CityJsonUtils jsonUtils = new CityJsonUtils(context);
return jsonUtils.readJson(citystr);
}
/**
* 获得当前城市列表大小
*/
public static int getCityListLength(Context context) {
String citystr = ACache.get(context).getAsString(
PreferencesUtils.LIST_OF_CITY);
if (TextUtils.isEmpty(citystr)) {
return 0;
}
return citystr.split(",").length/2;
}
/**
* 判断城市是否存在
*/
public static boolean isCityExist(Context context,String cityid) {
String citystr = ACache.get(context).getAsString(
PreferencesUtils.LIST_OF_CITY);
if (TextUtils.isEmpty(citystr)) {
return false;
}
return citystr.contains(cityid);
}
}