privatevoidprocessServerMessage(Stringmessage)
{
try{Stringinput=null;
JSONObject jsonObject=newJSONObject(message);
JSONArray jArrayNli=jsonObject.optJSONObject("data").optJSONArray("nli");
JSONObject jObj=jArrayNli.optJSONObject(0);
JSONArray jArraySemantic=null;if(message.contains("semantic"))
{
jArraySemantic=jObj.getJSONArray("semantic");
input=jArraySemantic.optJSONObject(0).optString("input");
}else{
input=jsonObject.optJSONObject("data").optJSONObject("asr").optString("result");
}
JSONObject jObjSemantic;
JSONArray jArraySlots;
JSONArray jArrayModifier;Stringtype=null;Stringpay_number=null;Stringpay_type=null;Stringday=null;if(jObj!=null) {type=jObj.optString("type");if("account".equals(type))//应用的名称是account,代表记账应用{
jObjSemantic=jArraySemantic.optJSONObject(0);
input=jObjSemantic.optString("input");
jArraySlots=jObjSemantic.optJSONArray("slots");
jArrayModifier=jObjSemantic.optJSONArray("modifier");Stringmodifier=(String)jArrayModifier.opt(0);if((jArrayModifier!=null)&&("pay".equals(modifier)))
{//modifier为pay,代表行为是记账if(jArraySlots!=null)
{
for(int i=0,k=jArraySlots.length(); i
{
JSONObject obj=jArraySlots.getJSONObject(i);Stringname=obj.optString("name");if("pay_type".equals(name))
pay_type=obj.optString("value");elseif("pay_number".equals(name))
{//找出记录的具体金额pay_number=obj.getJSONObject("num_detail").getString("recommend_value");
}elseif("day".equals(name))
{//找出某日发生消费的金额day=obj.getJSONObject("num_detail").getString("recommend_value");
}
}
}Stringdate=null;
Calendar localCalendar=Calendar.getInstance();
int i_year=localCalendar.get(Calendar.YEAR);
int i_month=localCalendar.get(Calendar.MONTH)+1;
int i_day=localCalendar.get(Calendar.DAY_OF_MONTH);if(day==null)
{date=i_year+"-"+i_month+"-"+i_day;
}else{date=i_year+"-"+i_month+"-"+day;
}
consumeClass trade=newconsumeClass(0,
Float.parseFloat("-"+pay_number),date,"123", pay_type, MainActivity.this);
trade.trade_add();//添加到消费列表中}elseif((jArrayModifier!=null)&&("query_today".equals(modifier)))
{
QueryByTodayActivity.refreshListView(
QueryByTodayActivity.QUERY_BY_DAY);//查询当天的消费情况,并更新列表}elseif((jArrayModifier!=null)&&("query_month".equals(modifier)))
{
QueryByTodayActivity.refreshListView(
QueryByTodayActivity.QUERY_BY_MONTH);//查询当月的消费情况,并更新列表}elseif((jArrayModifier!=null)&&("delete_today".equals(modifier)))
{//找出要删除的消费记录的索引,删除并更新界面Stringindex=null;if(jArraySlots!=null)
{
JSONObject obj=jArraySlots.getJSONObject(0);
index=obj.getJSONObject("num_detail").getString("recommend_value");
}if(index!=null&&!"".equals(index))
QueryByTodayActivity.deleteTodayDataByIndex(Integer.parseInt(index));
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}