2

私には1つの問題があります.Androidデバイスといくつかのサイトにアプリケーションがあり、ボタンでPOSTチェックが処理されているため、このサイトにPOSTリクエストを正しいデータで送信し、サーバーでこのPOSTチェックを渡すことで図式的にクリックできません-side、アプリまたはサーバー側のコードで何をする必要がありますか?

POSTを送信するコードは次のとおりです。

/****** SEND POST REQUEST ******/
private void sendPostRequest_cabinet(String clientID) 
{
    class SendPostReqAsyncTask extends AsyncTask<String, Void, String> 
    {

        @Override
        protected String doInBackground(String... params) 
        {

            // insert data into massive
            String paramClientID = params[0];

            HttpClient httpClient = new DefaultHttpClient();
            //httpPost = new HttpPost(post_url + /*language from dropdown + */ "/en/login/");


            if (LANGUAGE != null)
            {           
                if (LANGUAGE.equals("English"))
                {
                    httpPost = new HttpPost(link.getEng());
                    Toast.makeText(getApplicationContext(), (CharSequence) httpPost, Toast.LENGTH_LONG).show();
                }
                else if (LANGUAGE.equals("Russian"))
                {
                    httpPost = new HttpPost(link.getRussian());
                }
                else if (LANGUAGE.equals("Dutch(German)"))
                {
                    httpPost = new HttpPost(link.getDeutch());
                }
                else if (LANGUAGE.equals("French"))
                {
                    httpPost = new HttpPost(link.getFrance());
                }
                else if (LANGUAGE.equals("Italian"))
                {
                    httpPost = new HttpPost(link.getItalian());
                }
                else if (LANGUAGE.equals("Spanish"))
                {
                    httpPost = new HttpPost(link.getSpanish());
                }
            }

            // send parameters with values
            BasicNameValuePair email1BasicNameValuePair = new BasicNameValuePair("client_id", paramClientID);

            // insert parameters into massive
            List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
            nameValuePairList.add(email1BasicNameValuePair);

            try 
            {
                UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(nameValuePairList);
                httpPost.setEntity(urlEncodedFormEntity);

                try 
                {
                    HttpResponse httpResponse = httpClient.execute(httpPost);
                    InputStream inputStream = httpResponse.getEntity().getContent();
                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                    BufferedReader buffereReader = new BufferedReader(inputStreamReader);
                    StringBuilder stringBuilder = new StringBuilder();

                    String bufferedStrChunk = null;

                    while ((bufferedStrChunk = buffereReader.readLine()) != null) 
                    {
                        stringBuilder.append(bufferedStrChunk);
                    }

                    return stringBuilder.toString();
                }
                catch (ClientProtocolException cpe) 
                {
                    System.out.println("First Exception of HttpResponse: " + cpe);
                    cpe.printStackTrace();
                } 
                catch (IOException ioe) 
                {
                    System.out.println("Second Exception of HttpResponse: " + ioe);
                    ioe.printStackTrace();
                }
            } 
            catch (UnsupportedEncodingException uee) 
            {
                System.out.println("An Exception given  because of UrlEncodedFormEntity argument : " + uee);
                uee.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(String result)
        {
            // Toast.makeText(getApplicationContext(),
            // "POST request has been send successfully",
            // Toast.LENGTH_LONG).show();

            super.onPostExecute(result);

            //Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();

            //go to the browser with lang redirect              
            if (LANGUAGE != null)
            {           
                if (LANGUAGE.equals("English"))
                {
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(link.getEng()));
                    startActivity(i);
                }
                else if (LANGUAGE.equals("Russian"))
                {
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(link.getRussian()));
                    startActivity(i);
                }
                else if (LANGUAGE.equals("Dutch(German)"))
                {
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(link.getDeutch()));
                    startActivity(i);
                }
                else if (LANGUAGE.equals("French"))
                {
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(link.getFrance()));
                    startActivity(i);
                }
                else if (LANGUAGE.equals("Italian"))
                {
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(link.getItalian()));
                    startActivity(i);
                }
                else if (LANGUAGE.equals("Spanish"))
                {
                    Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(link.getSpanish()));
                    startActivity(i);
                }
            }
        }
    }
    /***** second check of Internet connection *****/
    if (!isOnline()) 
    {
        showNoConnectionDialog(this);
        // Toast.makeText(getApplicationContext(),
        // "Internet connection is disabled!", Toast.LENGTH_LONG).show();
    } 
    else 
    {
        SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask();
        sendPostReqAsyncTask.execute(clientID);
    }
}

UPD は、データを送信し、以前のアクティビティからデータを取得する方法です。

//go to the ThirdScreen
Intent intent = new Intent(SecondScreen.this, ThirdScreen.class);
intent.putExtra("CLIENT_ID", stringClientID);
intent.putExtra("PASSWORD", getUserPWD);
intent.putExtra("LANGUAGE", language);
startActivity(intent);
finish();

Intent intent = getIntent();
CLIENT_ID = intent.getExtras().getString("CLIENT_ID");

UPD2 必要なものを明確に説明していないので、説明しようと思います... サイトがあります。このサイトに POST 経由でデータを送信する必要があります。どういう意味ですか? Android アプリを起動し、いくつかのテキスト ボックスにデータを入力し、ボタンをクリックします。このボタンをクリックすると、WebBrowser を開いてこのサイトにデータを送信する必要があります...

4

1 に答える 1

0

WebView コンポーネントを含む新しいアクティビティを作成し、必要なサイトを取得することで問題を解決したので、モデレーターはこの質問を閉じることができます。

于 2013-03-13T23:07:51.343 に答える