AndroidからWebサイトにテキストを入力しようとしていますが、httppostが適切なオプションであると読みました。HttpClient 4.2.2(GA)tar.gzをダウンロードして解凍し、7つのjarファイルをEclipseのAndroidプロジェクトのlibフォルダーにコピーしました。ウェブサイトにリストされているものと一致しているので、私はすべての瓶を手に入れたと確信しています。
次に、http: //hc.apache.org/httpcomponents-client-ga/quickstart.htmlからトップチュートリアルをコピーして貼り付けました。
すべてをインポートしたところ、次のエラーが発生しました。
EntityUtils.consume(entity1); //X
} finally {
httpGet.releaseConnection(); //X
コードのこの部分はチュートリアルの2つの場所にあり、両方でエラーが発生します。Eclipseは最初の行について次のように述べています。
「メソッドconsume(HttpEntity)は、タイプEntityUtilsに対して未定義です。」
二行目:
「メソッドreleaseConnection()は、タイプHttpGetに対して未定義です。」
私はすべてのjarファイルをダウンロードし、正しく転送し、すべてをインポートしたと確信しています。エラーの原因は何ですか?ありがとう。
これが私が今持っているものです。エドワード、私はあなたのメソッドからのコードのいくつかを使用しましたが、それらをonCreateに入れました。ただし、これは機能していません。前のアクティビティから今回のアクティビティに移動してから数秒後に、アプリが「予期せず停止しました」というメッセージが表示されます。
Webサイトのテキストフィールドに文字列を入力することについて質問があります。HttpParamsのNameValuePairsを使用しますか?これが私のコードです、何が悪いのかわかりますか?ありがとう。
package com.example.myapp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
public class BalanceCheckerActivity extends Activity {
private final String LOGIN_URL = "https://someloginsite.com"; //username and password
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_balance_checker);
String username = getIntent().getExtras().getString("username");
String password = getIntent().getExtras().getString("password");
//Building post parameters, key and value pair
List<NameValuePair> accountInfo = new ArrayList<NameValuePair>(2);
accountInfo.add(new BasicNameValuePair("inputEnterpriseId", username));
accountInfo.add(new BasicNameValuePair("password", password));
//Creating HTTP client
HttpClient httpClient = new DefaultHttpClient();
//Creating HTTP Post
HttpPost httpPost = new HttpPost(LOGIN_URL);
BasicHttpParams params = new BasicHttpParams();
params.setParameter("inputEnterpriseID", username);
params.setParameter("password", password);
httpPost.setParams(params);
//Url Encoding the POST parameters
try {
httpPost.setEntity(new UrlEncodedFormEntity(accountInfo));
}
catch (UnsupportedEncodingException e) {
// writing error to Log
e.printStackTrace();
startActivity(new Intent(this, AccountInputActivity.class));
}
HttpResponse response = null;
InputStreamReader iSR = null;
String source = null;
// Making HTTP Request
try {
response = httpClient.execute(httpPost);
// writing response to log
Log.d("Http Response:", response.toString());
iSR = new InputStreamReader(response.getEntity().getContent());
BufferedReader br = new BufferedReader(iSR);
source = "";
while((source = br.readLine()) != null)
{
source += br.readLine();
}
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
startActivity(new Intent(this, AccountInputActivity.class));
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
startActivity(new Intent(this, AccountInputActivity.class));
}
System.out.println(source);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_balance_checker, menu);
return true;
}
}