0

Androidアプリケーションにテストを提供して、電話のデータがサーバーのデータと一致するかどうかを確認する機能を開発しようとしています。

メッセージをサーバーからハンドラーに戻してから、ハンドラーがfalseまたはtrueを返し、ブール値を返す関数に値を渡すことを除いて、関数のすべての部分が正常に機能しています。

正しい方向へのポイントは大歓迎です。

これまでのAndroidコードは次のとおりです。

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;
}

私がこれに間違った方法でアプローチした場合は、事前に感謝してくださいマーク

4

1 に答える 1