私はいくつかの他の投稿を見て、私のアンドロイドアプリから私たちのウェブサイト上のPHPページへのPOSTデータへの方法をまとめようとしています。基本的にはドメインチェック機能で、ユーザーがアプリケーション内でドメイン名を入力できるようにして、「今すぐ確認」をクリックするとウェブページに移動して結果を表示します。私は現時点でアプリ内に結果を表示することについて心配していない。AndroidアプリからPHPページへのデータの投稿
これは私がこれまで持っているコードです:私は(この活動を実行する)をチェックし、ボタンをクリックしたときに、私はnullPointerErrorを得る現時点で
public class Domain_check extends Activity {
public void onCreate(Bundle savedInstanceState) {
postData();
}
public void postData() {
EditText domainText = (EditText) findViewById(R.id.hosting_link);
if (domainText.length()>0)
{
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://www.oursite.com/domainchecker.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("id",domainText.getText().toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
else
{
// display message if text fields are empty
Toast.makeText(getBaseContext(),"Please enter a domain name",Toast.LENGTH_SHORT).show();
}
}
。
私はまだかなりJavaに新しいので、これを行うにはかなり簡単な方法かもしれません!
おかげ
編集:
エラー:
01-18 11:05:39.720: E/AndroidRuntime(353): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.oursite/com.oursite.Domain_check}: java.lang.NullPointerException
改訂コードは、コードは、テキストが入力されたビューではなく、別々の活動を描く活動になりました。
public class Hosting extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hosting);
View DomainButton = findViewById(R.id.domain_button);
DomainButton.setOnClickListener((OnClickListener) this);
}
public void onClick (View thisView) {
postData();
}
public void postData() {
EditText domainText = (EditText) findViewById(R.id.hosting_link);
if (domainText.length()>0)
{
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://www.oursite.com/domainchecker.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("id",domainText.getText().toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
else
{
// display message if text fields are empty
Toast.makeText(getBaseContext(),"Please enter a domain name",Toast.LENGTH_SHORT).show();
}
}
'length()'とは対照的に、 'domainText.getText()。length()> 0'を使用することもできます。すでにテキストボックスが値を返すことを確認しましたか? – Ricky
エラートレースを入れてください。 – blessenm
実際にはありません。基本的に、アクティビティを呼び出すボタンのonClickListenerとは別に、私が投稿したコードがすべてあります。今あなたのポイントを試してみてください。 –