活性
public class LoginActivity extends AppCompatActivity {
String url = "http://aluno.cefsa.edu.br/Login/Login";
ProgressDialog mProgressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Button btn_login = (Button) findViewById(R.id.btn_login);
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Title().execute();
}
});
}
private class Title extends AsyncTask<Void, Void, Void>
{
String title;
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(LoginActivity.this);
mProgressDialog.setTitle("Portal CEFSA");
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
try {
org.jsoup.Connection.Response res = Jsoup.connect("aluno.cefsa.edu.br/login")
.followRedirects(true)
.method(org.jsoup.Connection.Method.GET)
.execute();
TextView txt_senha = (TextView) findViewById(R.id.txt_senha);
TextView txt_ra = (TextView) findViewById(R.id.txt_ra);
String usuario = txt_ra.toString();
String senha = txt_senha.toString();
Document document = (Document) Jsoup.connect(url)
.followRedirects(true)
.cookies(res.cookies())
.method(org.jsoup.Connection.Method.POST)
.data("Usuario", usuario.trim())
.data("Senha", senha.trim())
.data("go", "")
.execute();
} catch (IOException e) {
e.printStackTrace();
}
/*
try {
// Connect to the web site
Document document = Jsoup.connect(url).get();
// Get the html document title
title = document.title();
} catch (IOException e) {
e.printStackTrace();
}
*/
return null;
}
@Override
protected void onPostExecute(Void result) {
// Set title into TextView
TextView txt_teste = (TextView) findViewById(R.id.txt_teste);
txt_teste.setText(title);
mProgressDialog.dismiss();
}
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
tools:context="com.destudios.tmedias.LoginActivity"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="81dp">
<ImageView
android:id="@+id/img_logo"
android:layout_width="95dp"
android:layout_height="73dp"
android:contentDescription="@string/logo_description"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.501"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline"
app:srcCompat="@mipmap/ic_launcher_round" />
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:inputType="number"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintStart_toStartOf="@+id/editText"
app:layout_constraintTop_toBottomOf="@+id/img_logo" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:layout_marginStart="8dp"
android:paddingRight="5dp"
android:text="RA:"
android:textColor="@android:color/black"
android:textSize="18sp"
app:layout_constraintBaseline_toBaselineOf="@+id/autoCompleteTextView"
app:layout_constraintEnd_toStartOf="@+id/editText"
app:layout_constraintStart_toStartOf="@+id/textView2" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:paddingRight="5dp"
android:text="Senha:"
android:textColor="@android:color/black"
android:textSize="18sp"
app:layout_constraintBaseline_toBaselineOf="@+id/editText"
app:layout_constraintStart_toStartOf="@+id/guideline2" />
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:ems="10"
android:inputType="textPassword"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/autoCompleteTextView" />
<Button
android:id="@+id/btn_login"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="Login"
android:textColor="@android:color/black"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/guideline2"
app:layout_constraintTop_toBottomOf="@+id/editText" />
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1" />
<android.support.constraint.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.04" />
<android.support.constraint.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.9609375" />
<TextView
android:id="@+id/txt_teste"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="20dp"
android:text="TextView"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintStart_toStartOf="@+id/guideline2"
app:layout_constraintTop_toBottomOf="@+id/btn_login" />
</android.support.constraint.ConstraintLayout>
logcat的
10/02 12:34:14: Launching app
$ adb install-multiple -r -t C:\Users\fabio\Desktop\Curso android
arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_2.apk
C:\Users\fabio\Desktop\Curso android
arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_9.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_3.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_4.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\dep\dependencies.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_5.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_0.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_1.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_7.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_6.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\intermediates\split-apk\debug\slices\slice_8.apk
C:\Users\fabio\Desktop\Curso android arquivos\TMedias\app\build\outputs\apk\debug\app-debug.apk
Split APKs installed
$ adb shell am start -n "com.destudios.tmedias/com.destudios.tmedias.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Connected to process 2855 on device emulator-5554
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
W/System: ClassLoader referenced unknown path: /data/app/com.destudios.tmedias-1/lib/x86
I/InstantRun: starting instant run server: is main process
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 1
W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
D/OpenGLRenderer: Swap behavior 0
D/EGL_emulation: eglCreateContext: 0xa64f3320: maj 2 min 0 rcv 2
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
W/IInputConnectionWrapper: finishComposingText on inactive InputConnection
I/art: Do partial code cache collection, code=27KB, data=31KB
I/art: After code cache collection, code=27KB, data=31KB
I/art: Increasing code cache capacity to 128KB
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.destudios.tmedias, PID: 2855
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:325)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.IllegalArgumentException: Malformed URL: aluno.cefsa.edu.br/login
at org.jsoup.helper.HttpConnection.url(HttpConnection.java:101)
at org.jsoup.helper.HttpConnection.connect(HttpConnection.java:43)
at org.jsoup.Jsoup.connect(Jsoup.java:73)
at com.destudios.tmedias.LoginActivity$Title.doInBackground(LoginActivity.java:51)
at com.destudios.tmedias.LoginActivity$Title.doInBackground(LoginActivity.java:34)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.net.MalformedURLException: no protocol: aluno.cefsa.edu.br/login
at java.net.URL.<init>(URL.java:589)
at java.net.URL.<init>(URL.java:486)
at java.net.URL.<init>(URL.java:435)
at org.jsoup.helper.HttpConnection.url(HttpConnection.java:99)
at org.jsoup.helper.HttpConnection.connect(HttpConnection.java:43)
at org.jsoup.Jsoup.connect(Jsoup.java:73)
at com.destudios.tmedias.LoginActivity$Title.doInBackground(LoginActivity.java:51)
at com.destudios.tmedias.LoginActivity$Title.doInBackground(LoginActivity.java:34)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
[ 10-02 15:34:47.296 1647: 3330 D/ ]
HostConnection::get() New Host Connection established 0x9a3b0780, tid 3330
[ 10-02 15:34:47.296 1647: 3330 W/ ]
Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
D/OpenGLRenderer: endAllActiveAnimators on 0x98fa7f00 (InsetDrawable) with handle 0x98f0be30
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
D/EGL_emulation: eglMakeCurrent: 0xa64f3320: ver 2 0 (tinfo 0xa649d870)
E/WindowManager: android.view.WindowLeaked: Activity com.destudios.tmedias.LoginActivity has leaked window DecorView@d25a20b[Portal CEFSA] that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:418)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:331)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.Dialog.show(Dialog.java:322)
at com.destudios.tmedias.LoginActivity$Title.onPreExecute(LoginActivity.java:44)
at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:620)
at android.os.AsyncTask.execute(AsyncTask.java:567)
at com.destudios.tmedias.LoginActivity$1.onClick(LoginActivity.java:29)
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22429)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Application terminated.
我研究了很多关于jsoup,示例和所有内容的内容,但我无法登录到此site。
我创建了一个应用程序作为登录屏幕,但我不知道如何从我的应用程序发布到网站并将页面转到重定向的位置
当我点击它时,它会通过帖子向“aluno.cefsa.edu.br/Login/Login”发送请求
有人可以帮助我从应用程序向网站提出申请请求
答案 0 :(得分:0)
Caused by: java.net.MalformedURLException: no protocol: aluno.cefsa.edu.br/login
没有设置协议,您必须将http://或https://添加到您的网址