Как отправлять входную информацию в Localdatabase из androidstodio - PullRequest
0 голосов
/ 03 сентября 2018

Я начинаю с Android, и я пытаюсь получить пример из текста редактирования и отправить его на мой локальный хост и, если моя локальная база данных Мне кажется, что что-то повторяется, но что бы я ни делал, это не работает, и OutputStreamWriter работает в Android Studio, когда я проверяю это с помощью отладчика, но ничего не отправляю в мою локальную базу данных.

Ниже я делюсь своими кодами. Ошибка в том, что $ _POST ["email"] не работает и ошибки в том, что электронная почта не определена?!

//It's my MainActivity's codes

public class MainActivity extends AppCompatActivity {
Button show;
TextView txt;
EditText edt;
public static Context context;


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

    context=MainActivity.this;
    edt=(EditText)findViewById(R.id.edt);
    show=(Button)findViewById(R.id.show);
    txt=(TextView)findViewById(R.id.txt);

    show.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new AsynctaskTest("http://152.144.1.215/sadegh",edt.getText().toString()).execute();

        }
    });
}

}

вот коды моей AsynctaskGetData:

public class AsynctaskTest extends AsyncTask<String,Integer,String>{

public String link="";
public String email="";
public StringBuilder builder;
ProgressDialog progressDialog;

public AsynctaskTest(String link,String email){
    this.link=link;
    this.email=email;

}

@Override
protected void onPreExecute() {
    super.onPreExecute();
    progressDialog=new ProgressDialog(MainActivity.context);
    progressDialog.setTitle("Processing...");
    progressDialog.setMessage("Please Wait...");
    progressDialog.show();
}

@Override
protected String doInBackground(String... strings) {
    try {
        String data=URLEncoder.encode("email","UTF-8")+"="+URLEncoder.encode(email,"UTF-8");
        URL url=new URL(link);
        URLConnection connection=url.openConnection();

        connection.setDoOutput(true);
        OutputStreamWriter writer=new OutputStreamWriter(connection.getOutputStream());
        writer.write(data);
        writer.flush();

        BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream()));
        builder=new StringBuilder();
        String line=null;
        while ((line=reader.readLine())!=null){
            builder.append(line);
        }


    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return builder.toString();
}

@Override
protected void onPostExecute(String s) {
    super.onPostExecute(s);
    progressDialog.dismiss();
    Toast.makeText(MainActivity.context, s, Toast.LENGTH_SHORT).show();
}

@Override
protected void onProgressUpdate(Integer... values) {
    super.onProgressUpdate(values);
}

}

Это мой php код

<?php
$email=$_POST["email"];

echo "hello"
?>

1 Ответ

0 голосов
/ 04 сентября 2018

Ух, я очень рад найти причину этой проблемы в том, что ничего не отправлено в мою локальную базу данных из андроид студии эта проблема из-за этого кода в MainActivity:

new AsynctaskTest("http://152.144.1.215/sadegh",edt.getText().toString()).execute();

мы должны после / sadegh ввести страницу, на которую мы хотим отправить информацию, например:

new AsynctaskTest("http://152.144.1.215/sadegh/index.php",edt.getText().toString()).execute();

Я надеюсь, что эта проблема и этот ответ помогут другим людям.

ребята, удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...