Код Android для соединения с базой данных php mySQL

Я работаю над подключением MySQL и Android через PHP
Мое приложение внезапно падает, когда я пишу этот код:

package com.googlecode.javacv.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.kosalgeek.genasync12.AsyncResponse;
import com.kosalgeek.genasync12.PostResponseAsyncTask;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity implements AsyncResponse, View.OnClickListener {

EditText etUsername, etPassword, etname;
Button btnLogin;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

etUsername = (EditText)findViewById(R.id.etUsername);
etPassword = (EditText)findViewById(R.id.etPassword);
etname = (EditText)findViewById(R.id.etname);
btnLogin = (Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(this);

}

@Override
public void processFinish(String output) {
Toast.makeText(this, output, Toast.LENGTH_LONG).show();
}
@Override
public void onClick(View v)
{
HashMap postData= new HashMap();
postData.put("txtUsername",etUsername.getText().toString());
postData.put("txtPassword", etPassword.getText().toString());
postData.put("name", etname.getText().toString());

PostResponseAsyncTask task = new PostResponseAsyncTask (MainActivity.this , (AsyncResponse) postData);
task.execute("http://theeatery.org/uet1.php");

}

}

Есть ли какие-либо предположения, почему это так? Пожалуйста, помогите мне выяснить и устранить проблему …
заранее спасибо

0

Решение

Вы используете мою библиотеку из https://github.com/kosalgeek/generic_asynctask_v2. Этот конструктор новой версии нуждается в 3 параметрах: 1) контекст, 2) HashMap и 3) AsyncReponse.

Что вам нужно сделать, это:

1) изменить с:

PostResponseAsyncTask task = new PostResponseAsyncTask (MainActivity.this , (AsyncResponse) postData);

чтобы:

PostResponseAsyncTask task = new PostResponseAsyncTask(MainActivity.this, postData, this);

2) Или лучше использовать его с анонимным классом для обработки AsyncResponse следующим образом:

PostResponseAsyncTask task = new PostResponseAsyncTask(MainActivity.this, postData, new AsyncResponse() {
@Override
public void processFinish(String s) {
Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show();
}
});
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]