2013-09-04 2 views
0

Я пытаюсь разработать функцию, которая дает моему приложению андроида тест, чтобы узнать, соответствуют ли данные на телефоне, что на сервере.pass boolean from handler to function

У меня есть каждая часть функции, работающая отлично, кроме того, что я хочу, чтобы сообщение возвращалось с сервера на обработчик, тогда я хочу, чтобы обработчик возвращал false или true и передавал значение функции, которая возвращает логическое значение.

Точка в правильном направлении была бы принята с благодарностью.

вот код андроид до сих пор.

public boolean isTripUpladedToServer(int tripId) 
{ 
    if(isServiceRunning()&&tripId==currentTripId){return false;} 
    SQLiteDatabase db; 
    db=this.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null); 
    String Qu="SELECT COUNT(tripid) from TRIP_DATA WHERE TRIPID="+tripId+";"; 
    Cursor c= db.rawQuery(Qu, null); 
    int count=0; 
    if(c!=null &&c.moveToFirst()) 
    { 
     count=c.getInt(0); 
    } 
    JSONArray parcel =new JSONArray(); 
    JSONObject header =new JSONObject(); 
    JSONObject message =new JSONObject(); 
    try { 
     header.put("tablename", "isTripUploaded"); 
     header.put("userid", userid); 
     parcel.put(header); 
     message.put("count", count); 
     message.put("tripid", tripId); 
     parcel.put(message); 
     Log.i(tag, parcel.toString()); 
    } catch (JSONException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    Handler inner=new Handler() 
    { 
     @Override 
     public void handleMessage(Message msg) 
     { 
      try { 
       JSONObject ret=new JSONObject(msg.obj.toString()); 
       Log.i(tag,ret.toString()); 


      // I want the function to return the boolean value that the server has sent to phone. 


} catch (JSONException e) { 

       e.printStackTrace(); 
      } 

     } 
    }; 

    new uploadero(inner).execute(parcel); 

    //the below return value is here to prevent the error, ideally I want to remove it 
    return false; 
} 

Если бы я подошел к этому в неправильном направлении, скажите, пожалуйста, заранее спасибо Марк

ответ

1

Используйте переменный класс для булева и использовать поглотитель в обработчике, чтобы получить его.

+0

Извините, приятель, я немного потерян, логическое значение исходит от sever, я пытаюсь заставить значение перейти от обработчика к функции, чтобы оно могло стать его возвращаемым значением. –