Android Studio: попытка опубликовать данные во внешнем документе php для запроса данных из базы данных

#java #php #android-studio #post #android-volley

#Ява #php #android-студия #Публикация #android-залп

Вопрос:

Я уже некоторое время пытаюсь заставить эту систему работать, но, похоже, мне чего-то не хватает или они расположены в неправильном порядке. Система выглядит следующим образом: Android Studio (мобильное приложение), внешняя база данных (на хосте), php-файлы на этом хосте для подключения к базе данных.

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

Я думаю, что я близок, но либо что-то неуместно, либо чего-то не хватает (я знаю, что ошибка, которую он в настоящее время выдает, — это неопределенные индексы, и я думаю, что причина этого в том, что сначала я публикую данные (запускает php, получает результат), а затем запускаю getJSON (снова запускает код без поста, поэтому у него нет индексов)). это то, что я думаю, происходит, но я, кажется, не могу это исправить.

Большое спасибо всем, кто тратит свое время на изучение этого вопроса.

С уважением,

Mikyboy686

Код:

 public class MainActivity extends AppCompatActivity {  private EditText etUsername, etPassword;  private TextView tvTester;  private Button btnLogin;  RequestQueue Queue;  String[] loginchecklist;  String url = "url to my php file";  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  Queue = Volley.newRequestQueue(getApplicationContext());   //sets the EditText  etUsername = findViewById(R.id.etUsername);  etPassword = findViewById(R.id.etPassword);  //sets the Button  btnLogin = findViewById(R.id.btnLogin);   tvTester = findViewById(R.id.tvTester);  //gets the json result from the database request    btnLogin.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  String username = etUsername.getText().toString();  String password = etPassword.getText().toString();    if (username.isEmpty()) {  etUsername.setError("Vul een username in ");  etUsername.requestFocus();  }   if (password.isEmpty()) {  etPassword.setError("Vul een wachtwoord in ");  etPassword.requestFocus();  }   StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listenerlt;Stringgt;() {  @Override  public void onResponse(String response) {  }   }, new Response.ErrorListener() {  @Override  public void onErrorResponse(VolleyError error) {   }  }) {  @Override  protected Maplt;String, Stringgt; getParams() throws AuthFailureError {  Maplt;String, Stringgt; param = new HashMaplt;String, Stringgt;();  param.put("username2", etUsername.getText().toString());  param.put("password2", etPassword.getText().toString());  return param;   }  };   Queue.add(request);   getJSON("url to my php file");    //Toast.makeText(getApplicationContext(), "De ingevulde combinatie bestaat niet, probeer het opnieuw2.", Toast.LENGTH_LONG).show();   }  });  }   private void getJSON(final String urlWebService) {   class GetJSON extends AsyncTasklt;Void, Void, Stringgt; {   @Override  protected void onPreExecute() {  super.onPreExecute();  }    @Override  protected void onPostExecute(String s) {  super.onPostExecute(s);  try {  Logincheck(s);  } catch (JSONException e) {  e.printStackTrace();  }  }   @Override  protected String doInBackground(Void... voids) {  try {  URL url = new URL(urlWebService);  HttpURLConnection con = (HttpURLConnection) url.openConnection();  StringBuilder sb = new StringBuilder();  BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));  String json;  while ((json = bufferedReader.readLine()) != null) {  sb.append(json   "n");  }  return sb.toString().trim();  } catch (Exception e) {  return "" ;  }  }  }  GetJSON getJSON = new GetJSON();  getJSON.execute();   } //GETJSON END  //function that catches the JSON from my php file   private void Logincheck(String json) throws JSONException {   JSONArray jsonArray = new JSONArray(json);   loginchecklist = new String[jsonArray.length()];  for(int i = 0; ilt;jsonArray.length(); i  ){  JSONObject obj = jsonArray.getJSONObject(i);  String customeremail = obj.getString("customerEmail");  String customerpassword = obj.getString("customerPassword");  String customercompany = obj.getString("customerCompany");  String customerusername = obj.getString("customerUsername");   tvTester.setText(customerusername);  }   }  } //MAINACTIVITY END