В настоящее время я пытаюсь создать приложение, которое позволит вам войти в свою учетную запись и просмотреть любые данные, которые необходимо отобразить.
Я не использую веб-просмотр, но вместо этого для отображения информации я буду разбирать данные из HTML, а затем работают оттуда, извлекая данные, которые мне нужно отобразить. Я опубликую код из моего приложения ниже.
Мне нужна помощь, чтобы выяснить, как войти на веб-сайт с помощью моего приложения.
По сути, шаги будут выглядеть так:
1.Введите имя пользователя
2.Введите пароль
3.Нажмите кнопку входа
4.Отправьте имя пользователя и пароль на сайт
5.If - веб-сайт возвращает «Успешный вход в систему», продолжайте и анализируйте следующую страницу с HTML, иначе - отобразите «Неверное имя пользователя или пароль»
Однако я не знаю, как сделать так, чтобы мое приложение вошло в систему или, по крайней мере, введите данные в поля для входа на веб-сайт, чтобы я мог хотя бы каким-то образом получить ответ.
Я очень новичок в этом, поэтому, пожалуйста, по крайней мере, укажите мне правильное направление, чтобы я мог понять это вне. Большое спасибо.
package com.example.app;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class MainActivity extends AppCompatActivity {
String data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView LoginTitle = findViewById(R.id.tvLoginTitle);
EditText Username = findViewById(R.id.etUsername);
EditText Password = findViewById(R.id.etPass);
Button Login = findViewById(R.id.btLogin);
Login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Parse().execute();
Intent intent = new Intent(MainActivity.this,UserAccount.class);
intent.putExtra("data",data);
startActivity(intent);
}
});
}
public class Parse extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... voids) {
try {
Document WebPage = Jsoup.connect("https://myurl").get();
Log.d("data", WebPage.toString());
data=WebPage.toString();
} catch(Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
//Used in guide, however, my implementation of the app doesn't seem to need this.
}
}
}