Публикация данных из приложения Android на странице PHP - PullRequest
1 голос
/ 18 января 2012

Я просматривал несколько других постов и пытался собрать способ размещения POST-данных из моего приложения для Android на странице php на нашем сайте.По сути, это функция проверки домена, и я хочу, чтобы пользователь мог вводить доменное имя в приложении, а затем, когда он нажимает «Проверить сейчас», он попадает на веб-страницу, и она отображает результаты.Я не беспокоюсь о том, чтобы отображать результаты в приложении на данный момент.

Это код, который у меня есть:

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();
    }

} 

В тот момент, когда я нажимаю, я получаю ошибку nullPointerErrorкнопка для проверки (которая запускает это действие).

Я все еще довольно новичок в 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();
    }
}

}

1 Ответ

0 голосов
/ 18 января 2012

Я не вижу метод setContentView() в вашей деятельности.Так что переменная domainText равна нулю, когда вы пытаетесь получить длину

...