0

これは非常に奇妙に聞こえるかもしれませんが、これで終わりです。

私は完全に通過する HTTP Post を持っています。応答を取得し、値を変更する必要があります。

有効でない場合の私の応答は次のように返されますNO

値がある場合の私の応答は次のようになりますYES.50

どうすれば最終結果を取得し、そこから .50 を取得できますか? おそらくYESを「」などに置き換えます。

最終的に、割引コードのように、これを差し引く必要がある価格値が得られます。

私の非同期タスク:

public class GetPromoTask extends AsyncTask<String, Void, String> {
        private Exception exception;

        @Override
        protected String doInBackground(String... url) {
            String result = null;

            DefaultHttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost(url[0]);
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("promo",userPromo));
            HttpResponse response;
            try {
                post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                response = client.execute(post);
                promoBuilder = inputStreamToString(response.getEntity().getContent());
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            if(promoBuilder != null){
                result = promoBuilder.toString();
            }else{

            }

            return result;
        }

        protected void onPostExecute(String result) {
            Log.d(tag,"Result of POST: " + result);
            if(result != null){

            }

どんな助けでも大歓迎です!!

4

1 に答える 1

1

私があなたの質問を正しく理解しているなら、あなたは使うことができます

if(result.contains("YES"))
   result = result.replaceAll("YES", "");
else
   // response is NO
于 2013-08-04T05:54:30.347 に答える