0

asynctaskに問題があります...

asynctaskを使用してURL(* .aspxとparamters)をサーバーに送信し、データを挿入します。私の問題は、データがサーバーに正常に挿入されるようにする方法です。次に、サーバーに挿入できる場合は、データが正常に送信されるように電話でデータベースを更新します

これは私のURLです:

    vURL = Routines.URL_SEND_SJ +"?sjnumber=SJ-" + Routines.getSJNumber(vContext) +
                                 "&orgid=" + Routines.getOrgId(vContext) +
                                 "&deviceid="  + Routines.getImei(vContext) +
                                 "&savedate=" + vDate +
                                 "&savetime=" + vTime +
                                 "&status=" + vStatusSJNumber +
                                 "&latitude=" + vLatitude + 
                                 "&longitude=" + vLongitude +
                                 "&phonetype=" + vPhoneType +
                                 "&km=" + vKM;

ASPXクラスを介してURLを送信するAsyncTaskクラス

パブリッククラスASPX{

public static String submitASPXText(String vURL){       
    String vASPXText="";
    HttpClient vHttpClient = new DefaultHttpClient();

    HttpGet vHttpGet = new HttpGet(vURL);
    try{
        ResponseHandler<String> responseHandler=new BasicResponseHandler();
        vASPXText = vHttpClient.execute(vHttpGet, responseHandler);
        vASPXText = vASPXText.replace("<span id=\"Label1\">~", "");
        vASPXText = vASPXText.replace("`</span>", Routines.SEND); 
    }catch (Exception e){
        e.printStackTrace();
    }

    return vASPXText;
}



private class LocationAsyncTask extends AsyncTask<String, Void, String>{

    @Override
    protected String doInBackground(String... vURL) {
        String vASPXText = ASPX.submitASPXText(vURL[0]);
        return vASPXText;
    }

    @Override
    protected void onPostExecute(String vASPXResult) {
        super.onPostExecute(vASPXResult);
        Toast.makeText(getApplicationContext(), "insert sucess", Toast.LENGTH_SHORT).show();
    }
}
4

1 に答える 1

0

サーバーから JSON メッセージを返してから、アプリでメッセージを調べて、データが保存されているかどうかを確認してください。たとえば、挿入が成功した場合は...

{
    "returnCode": 0,
    "returnMessage": "Data saved!"
}

エラーリターンがあった場合

{
    "returnCode": 1,
    "returnMessage": "Database Error! Data was not saved!"
}

Android では、組み込みのJSONObjectを使用して JSON メッセージを読み取ることができます。例えば ​​...

JSONObject object = JSONObject(json);
int returnCode = object.getInt("returnCode");
if (returnCode == 0){
    //Data was saved
} else {
    //Data was saved
}
于 2012-06-09T00:37:16.917 に答える