Fehler im Code?

  • Antworten:128
  • Bentwortet
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

20.12.2013, 07:58:36 via App

Ich glaube die WebView will bei Load Url einen Url String und keinen iavascript code.
Für javascript verwendet man loadData();
Außerdem kannst du auch erst einmal den javascriptstring zusammenbauen.
Über den Debug Modus bekommst du heraus ob der Code richtig ist.
Sobals das zusammenbauen des Javascripts abgeschlossen ist,übergibst du den String einfach der WebView.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tim B.
  • Forum-Beiträge: 101

21.12.2013, 12:47:25 via Website


Ich habe das ganze jetzt so gelöst, allerdings bin ich immernoch nicht eingeloggt und logCat sagt mir immernoch dasselbe:

12-21 12:50:37.090: V/WebViewChromium(6631): Binding Chromium to the background looper Looper (main, tid 1) {41cdd4d8}
12-21 12:50:37.100: I/chromium(6631): [INFO:library_loader_hooks.cc(112)] Chromium logging enabled: level = 0, default verbosity = 0
12-21 12:50:37.105: I/BrowserProcessMain(6631): Initializing chromium process, renderers=0
12-21 12:50:37.120: W/chromium(6631): [WARNING:proxy_service.cc(888)] PAC support disabled because there is no system implementation
12-21 12:50:37.385: W/AwContents(6631): nativeOnDraw failed; clearing to background color.
12-21 12:50:37.410: W/AwContents(6631): nativeOnDraw failed; clearing to background color.
12-21 12:50:37.510: I/chromium(6631): [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot set property 'value' of null", source: (1)
12-21 12:50:37.520: I/chromium(6631): [INFO:simple_index_file.cc(397)] Simple Cache Index is being restored from disk.
12-21 12:50:37.540: I/chromium(6631): [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
12-21 12:50:37.550: I/chromium(6631): [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
12-21 12:50:38.085: I/chromium(6631): [INFO:CONSOLE(339)] "Uncaught ReferenceError: _gat is not defined", source: http://ggnauen.de/index.php (339)

— geändert am 21.12.2013, 13:01:32

LG Optimus Me mit Root

Antworten
Tim B.
  • Forum-Beiträge: 101

21.12.2013, 15:11:21 via Website

impjor
Warum benutzt du jetzt auf einmal loadData? Probier es mal mit loadUrl.

LG
Weil Pascal meinte, man bräuchte loadData
Mit loadurl geht es auch nicht, die Webseite wird angezeigt, aber ich bin nicht angemeldet.

— geändert am 21.12.2013, 15:12:59

LG Optimus Me mit Root

Antworten
impjor
  • Forum-Beiträge: 1.793

21.12.2013, 17:58:59 via App

impjor
Teste mal, ob dein JavaScript-Code ausgeführt wird (am Ende z.B. alert() ergänzen).
Lass zum Debuggen das forms.submit weg und schaue, ob deine Daten richtig in den Feldern stehen (mit manuellem Klick auf login direkt anmelden)

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Tim B.
  • Forum-Beiträge: 101

22.12.2013, 15:54:03 via Website

impjor
impjor
Teste mal, ob dein JavaScript-Code ausgeführt wird (am Ende z.B. alert() ergänzen).
Lass zum Debuggen das forms.submit weg und schaue, ob deine Daten richtig in den Feldern stehen (mit manuellem Klick auf login direkt anmelden)

LG
Da steht nichts drinnen :(

LG Optimus Me mit Root

Antworten
Tim B.
  • Forum-Beiträge: 101

22.12.2013, 18:41:03 via Website

Wozu das alert()? Wird dann eine Box angezeigt? Wie soll ich das einfügen?

Warum funktioniert diese Methode eigentlich nicht:
1String data = "mod_login_username="+username+"&mod_login_password="+password;
2 wv.postUrl("http://ggnauen.de/index.php", data.getBytes());

LG Optimus Me mit Root

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.12.2013, 20:09:47 via App

Du musst die data base64 Codieren mit encodeingUtils

ggf. Musst du noch den submit btn mitschicken

LG Pascal //It's not a bug, it's a feature. :) ;)

Tim B.

Antworten
Tim B.
  • Forum-Beiträge: 101

22.12.2013, 20:21:07 via Website

Probiere ich nachher mal aus, danke.
EDIT: Es funktioniert immernoch nicht... Mein Code sieht jetzt so aus:
1findViewById(R.id.btlogin).setOnClickListener( new View.OnClickListener() {
2
3
4 @Override
5 public void onClick(View v) {
6
7
8 InputMethodManager inputManager = (InputMethodManager)
9 getSystemService(Context.INPUT_METHOD_SERVICE);
10
11inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
12 InputMethodManager.HIDE_NOT_ALWAYS);
13
14 EditText etusername = (EditText) findViewById (R.id.etusername);
15 String username = etusername.getText().toString();
16
17 EditText etpassword = (EditText) findViewById (R.id.etpassword);
18 String password = etpassword.getText().toString();
19
20 WebView wv = new WebView(MainActivity.this);
21 setContentView(wv);
22 wv.getSettings().setBuiltInZoomControls(true);
23 CookieManager.getInstance().setAcceptCookie(true);
24 wv.getSettings().setJavaScriptEnabled(true);
25 wv.getSettings().setLoadWithOverviewMode(true);
26 wv.getSettings().setUseWideViewPort(true);
27 String data = "mod_login_username="+username+"&mod_login_password="+password;
28 wv.postUrl("http://ggnauen.de/index.php", EncodingUtils.getBytes(data, "base64"));
29
30
31 }
32
33 });
34
35
36
37 }

Kann sich vielleicht mal einer den Quellcode der Website ansehen, ob damit alles korrekt ist?

Danke
tbremer19

— geändert am 22.12.2013, 20:32:04

LG Optimus Me mit Root

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

22.12.2013, 23:38:33 via Website

Probier mal so ist ungetestet:
1private View buttonLogin;
2 private EditText etusername;
3 private EditText etpassword;
4 private WebView wv;
5 private boolean send;
6
7 @Override
8 protected void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.activity_login);
11 buttonLogin = findViewById(R.id.button1);
12
13 send = false;
14 wv = (WebView) findViewById(R.id.webView1);
15 etusername = (EditText) findViewById(R.id.edtUsername);
16 etpassword = (EditText) findViewById(R.id.edtPassword);
17 buttonLogin.setOnClickListener(new OnClickListener() {
18
19 private String username;
20 private String password;
21
22 @Override
23 public void onClick(View v) {
24 InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
25
26 inputManager.hideSoftInputFromWindow(getCurrentFocus()
27 .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
28
29 username = etusername.getText().toString();
30
31 password = etpassword.getText().toString();
32
33 // setContentView(wv);
34 wv.getSettings().setBuiltInZoomControls(true);
35 CookieManager.getInstance().setAcceptCookie(true);
36 wv.getSettings().setJavaScriptEnabled(true);
37 wv.getSettings().setLoadWithOverviewMode(true);
38 wv.getSettings().setUseWideViewPort(true);
39 wv.setWebViewClient(new WebViewClient() {
40
41 @Override
42 public boolean shouldOverrideUrlLoading(WebView view, String url) {
43 view.loadUrl(url);
44 return true;
45 }
46
47 @Override
48 public void onPageFinished(WebView view, String url) {
49 if(!send) {
50 view.loadUrl("javascript:{" +
51 "document.getElementById('mod_login_username').value='" + username + "';" +
52 "document.getElementById('mod_login_password').value = '" + password + "';" +
53 "var form = document.getElementsByName('login');" +
54 "form[0].submit();};");
55 send = true;
56 }
57 }
58 });
59
60 wv.loadUrl("http://ggnauen.de/index.php");
61 }
62
63 });
64 }
65
66}

Gruß Ludy

— geändert am 22.12.2013, 23:38:52

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Tim B.
  • Forum-Beiträge: 101

23.12.2013, 12:39:48 via Website

Musste das ganze ein Wenig anpassen:
1package com.timbremer.vertretungsplanggnauen;
2
3import org.apache.http.util.EncodingUtils;
4
5import android.app.Activity;
6import android.app.AlertDialog;
7import android.content.Context;
8import android.content.DialogInterface;
9import android.content.Intent;
10import android.os.Bundle;
11import android.view.Menu;
12import android.view.MenuItem;
13import android.view.View;
14import android.view.View.OnClickListener;
15import android.view.Window;
16import android.view.inputmethod.InputMethodManager;
17import android.webkit.CookieManager;
18import android.webkit.WebView;
19import android.webkit.WebViewClient;
20import android.widget.Button;
21import android.widget.EditText;
22import android.widget.ProgressBar;
23import android.widget.Toast;
24
25
26public class MainActivity extends Activity {
27
28 private View buttonLogin;
29 private EditText etusername;
30 private EditText etpassword;
31 private WebView wv;
32 private boolean send;
33
34 @Override
35 public void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState);
37 setContentView(R.layout.activity_main);
38 setTitle("Vertretungsplan");
39 wv.setVisibility(View.GONE);
40
41 findViewById(R.id.btfeedback).setOnClickListener(new OnClickListener() {
42 @Override
43 public void onClick(View v) {
44 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
45 String[] recipients = new String[]{"t***f@gmail.com", "",};
46 emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
47 emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Feedback zur Vertretungsplan App");
48 emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Fehler, Lob, Kritik oder Funktionswünsche:");
49 emailIntent.setType("text/plain");
50 startActivity(Intent.createChooser(emailIntent, "Sende Mail mit..."));
51 finish();
52 }
53 });
54
55
56
57 new AlertDialog.Builder(MainActivity.this)
58
59 .setTitle("BETA")
60
61 .setMessage("Die App befindet sich zurzeit noch in einer Beta-Testphase. Wenn du Fehler in meiner App findest, klick einfach auf den Feedback-Button.")
62
63 .setNeutralButton("Fenster Schließen",
64
65 new DialogInterface.OnClickListener() {
66
67 public void onClick(DialogInterface dialog,
68
69 int which) {
70
71 }
72
73 }).show();
74
75
76
77 //button
78
79
80
81
82 buttonLogin = findViewById(R.id.btlogin);
83
84 send = false;
85 wv = (WebView) findViewById(R.id.wv);
86 etusername = (EditText) findViewById(R.id.etusername);
87 etpassword = (EditText) findViewById(R.id.etpassword);
88 buttonLogin.setOnClickListener(new OnClickListener() {
89
90 private String username;
91 private String password;
92
93 @Override
94 public void onClick(View v) {
95 InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
96
97 inputManager.hideSoftInputFromWindow(getCurrentFocus()
98 .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
99
100 wv.setVisibility(View.VISIBLE);
101
102 username = etusername.getText().toString();
103
104 password = etpassword.getText().toString();
105
106 // setContentView(wv);
107 wv.getSettings().setBuiltInZoomControls(true);
108 CookieManager.getInstance().setAcceptCookie(true);
109 wv.getSettings().setJavaScriptEnabled(true);
110 wv.getSettings().setLoadWithOverviewMode(true);
111 wv.getSettings().setUseWideViewPort(true);
112 wv.setWebViewClient(new WebViewClient() {
113
114 @Override
115 public boolean shouldOverrideUrlLoading(WebView view, String url) {
116 view.loadUrl(url);
117 return true;
118 }
119
120 @Override
121 public void onPageFinished(WebView view, String url) {
122 if(!send) {
123 view.loadUrl("javascript:{" +
124 "document.getElementById('mod_login_username').value='" + username + "';" +
125 "document.getElementById('mod_login_password').value = '" + password + "';" +
126 "var form = document.getElementsByName('login');" +
127 "form[0].submit();};");
128 send = true;
129 }
130 }
131 });
132
133 wv.loadUrl("http://ggnauen.de/index.php");
134 }
135
136 });
137 }
138
139
140
141 @Override
142 public boolean onCreateOptionsMenu(Menu menu) {
143 // Inflate the menu; this adds items to the action bar if it is present.
144 getMenuInflater().inflate(R.menu.raumplan, menu);
145 return true;
146 }
147 @Override
148 public boolean onOptionsItemSelected(MenuItem item) {
149 // Handle item selection
150 switch (item.getItemId()) {
151 case R.id.mclose:
152 finish();
153 return true;
154 case R.id.msettings:
155 startActivity(new Intent(this, SettingsActivity.class));
156 return true;
157 case R.id.mraumplan:
158 startActivity(new Intent(this, RaumplanActivity.class));
159 return true;
160 default:
161 return super.onOptionsItemSelected(item);
162 }
163 }
164}
Die App stürzt beim Start ab. LogCat:
112-23 12:38:10.885: V/WebViewChromium(7286): Binding Chromium to the background looper Looper (main, tid 1) {41fda770}
212-23 12:38:10.890: I/chromium(7286): [INFO:library_loader_hooks.cc(112)] Chromium logging enabled: level = 0, default verbosity = 0
312-23 12:38:10.890: I/BrowserProcessMain(7286): Initializing chromium process, renderers=0
412-23 12:38:10.935: W/chromium(7286): [WARNING:proxy_service.cc(888)] PAC support disabled because there is no system implementation
512-23 12:38:10.935: D/libEGL(7286): loaded /system/lib/egl/libEGL_mali.so
612-23 12:38:10.945: D/libEGL(7286): loaded /system/lib/egl/libGLESv1_CM_mali.so
712-23 12:38:10.945: D/libEGL(7286): loaded /system/lib/egl/libGLESv2_mali.so
812-23 12:38:10.950: E/(7286): Device driver API match
912-23 12:38:10.950: E/(7286): Device driver API version: 23
1012-23 12:38:10.950: E/(7286): User space API version: 23
1112-23 12:38:10.950: E/(7286): mali: REVISION=Linux-r3p2-01rel3 BUILD_DATE=Wed Oct 9 21:05:57 KST 2013
1212-23 12:38:11.005: D/AndroidRuntime(7286): Shutting down VM
1312-23 12:38:11.005: W/dalvikvm(7286): threadid=1: thread exiting with uncaught exception (group=0x41d24c80)
1412-23 12:38:11.010: E/AndroidRuntime(7286): FATAL EXCEPTION: main
1512-23 12:38:11.010: E/AndroidRuntime(7286): Process: com.timbremer.vertretungsplanggnauen, PID: 7286
1612-23 12:38:11.010: E/AndroidRuntime(7286): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.timbremer.vertretungsplanggnauen/com.timbremer.vertretungsplanggnauen.MainActivity}: java.lang.NullPointerException
1712-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2215)
1812-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265)
1912-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.ActivityThread.access$800(ActivityThread.java:145)
2012-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
2112-23 12:38:11.010: E/AndroidRuntime(7286): at android.os.Handler.dispatchMessage(Handler.java:102)
2212-23 12:38:11.010: E/AndroidRuntime(7286): at android.os.Looper.loop(Looper.java:136)
2312-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.ActivityThread.main(ActivityThread.java:5081)
2412-23 12:38:11.010: E/AndroidRuntime(7286): at java.lang.reflect.Method.invokeNative(Native Method)
2512-23 12:38:11.010: E/AndroidRuntime(7286): at java.lang.reflect.Method.invoke(Method.java:515)
2612-23 12:38:11.010: E/AndroidRuntime(7286): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
2712-23 12:38:11.010: E/AndroidRuntime(7286): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
2812-23 12:38:11.010: E/AndroidRuntime(7286): at dalvik.system.NativeStart.main(Native Method)
2912-23 12:38:11.010: E/AndroidRuntime(7286): Caused by: java.lang.NullPointerException
3012-23 12:38:11.010: E/AndroidRuntime(7286): at com.timbremer.vertretungsplanggnauen.MainActivity.onCreate(MainActivity.java:39)
3112-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.Activity.performCreate(Activity.java:5231)
3212-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
3312-23 12:38:11.010: E/AndroidRuntime(7286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
3412-23 12:38:11.010: E/AndroidRuntime(7286): ... 11 more
Es gibt eine NullPointerExcerption... Nur in welcher Zeile?

---

Edit by Mod Klaus: Mailadresse aus Spam Gründen entfernt

— geändert am 23.12.2013, 17:17:19 durch Moderator

LG Optimus Me mit Root

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

23.12.2013, 13:16:49 via App

So so nullpointer...

Hat der andere Code von mir funktioniert?

Die zeile 45 ist in deinem Code schrott das letzte komma im Array ist zuviel.

Gruß Ludy

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Tim B.
  • Forum-Beiträge: 101

23.12.2013, 13:46:16 via Website

String[] recipients = new String[]{"t*****@gmail.com"};

Also so?
Immernoch derselbe Fehler... Das ist dein code aber da musste ich ein Paar sachen ändern, weil es sonst nicht funktioniert hat.

---

Edit by Mod Klaus: Mailadresse aus Spam Gründen entfernt

— geändert am 23.12.2013, 17:03:04 durch Moderator

LG Optimus Me mit Root

Antworten
Tim B.
  • Forum-Beiträge: 101

23.12.2013, 14:38:29 via Website

So! Es funktioniert jetzt! 1000 Dank an alle und besonders an Ludy für die Hilfe.
Jetzt ist zwar mein Image bestimmt total ruiniert aber wenigstens funktioniert meine App!

Hier nochmal der Code:
1package com.timbremer.vertretungsplanggnauen;
2
3import org.apache.http.util.EncodingUtils;
4
5import android.app.Activity;
6import android.content.Context;
7import android.content.DialogInterface;
8import android.content.Intent;
9import android.os.Bundle;
10import android.support.v4.app.NavUtils;
11import android.view.Menu;
12import android.view.MenuItem;
13import android.view.View;
14import android.view.View.OnClickListener;
15import android.view.inputmethod.InputMethodManager;
16import android.webkit.CookieManager;
17import android.webkit.WebView;
18import android.webkit.WebViewClient;
19import android.widget.Button;
20import android.widget.EditText;
21
22
23public class MainActivity extends Activity {
24
25 private View buttonLogin;
26 private EditText etusername;
27 private EditText etpassword;
28 private WebView wv;
29 private boolean send;
30
31 @Override
32 protected void onCreate(Bundle savedInstanceState) {
33 super.onCreate(savedInstanceState);
34 setContentView(R.layout.activity_main);
35 buttonLogin = findViewById(R.id.btlogin);
36
37 send = false;
38 wv = (WebView) findViewById(R.id.wv);
39 etusername = (EditText) findViewById(R.id.etusername);
40 etpassword = (EditText) findViewById(R.id.etpassword);
41 buttonLogin.setOnClickListener(new OnClickListener() {
42
43 private String username;
44 private String password;
45
46 @Override
47 public void onClick(View v) {
48 wv.setVisibility(View.VISIBLE);
49 InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
50
51 inputManager.hideSoftInputFromWindow(getCurrentFocus()
52 .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
53
54 username = etusername.getText().toString();
55
56 password = etpassword.getText().toString();
57
58 // setContentView(wv);
59 wv.getSettings().setBuiltInZoomControls(true);
60 CookieManager.getInstance().setAcceptCookie(true);
61 wv.getSettings().setJavaScriptEnabled(true);
62 wv.getSettings().setLoadWithOverviewMode(true);
63 wv.getSettings().setUseWideViewPort(true);
64 wv.setWebViewClient(new WebViewClient() {
65
66 @Override
67 public boolean shouldOverrideUrlLoading(WebView view, String url) {
68 view.loadUrl(url);
69 return true;
70 }
71
72 @Override
73 public void onPageFinished(WebView view, String url) {
74 if(!send) {
75 view.loadUrl("javascript:{" +
76 "document.getElementById('mod_login_username').value='" + username + "';" +
77 "document.getElementById('mod_login_password').value = '" + password + "';" +
78 "var form = document.getElementsByName('login');" +
79 "form[0].submit();};");
80 send = true;
81 }
82 }
83 });
84
85 wv.loadUrl("http://ggnauen.de/index.php");
86 }
87
88 });
89 }
90 @Override
91 public boolean onCreateOptionsMenu(Menu menu) {
92 // Inflate the menu; this adds items to the action bar if it is present.
93 getMenuInflater().inflate(R.menu.raumplan, menu);
94 return true;
95 }
96 @Override
97 public boolean onOptionsItemSelected(MenuItem item) {
98 // Handle item selection
99 switch (item.getItemId()) {
100 case R.id.mclose:
101 finish();
102 return true;
103 case R.id.msettings:
104 startActivity(new Intent(this, SettingsActivity.class));
105 return true;
106 case R.id.mraumplan:
107 startActivity(new Intent(this, RaumplanActivity.class));
108 return true;
109 case R.id.mhome:
110 startActivity(new Intent(this, MainActivity.class));
111 return true;
112 case android.R.id.home:
113 NavUtils.navigateUpFromSameTask(this);
114 return true;
115 default:
116 return super.onOptionsItemSelected(item);
117 }
118 }
119 }

— geändert am 23.12.2013, 14:39:36

LG Optimus Me mit Root

Antworten
Tim B.
  • Forum-Beiträge: 101

23.12.2013, 14:44:06 via Website

Eine letzte Frage hätte ich noch. Es gibt auf der Website eine Checkbox mit "angemeldet bleiben". Wie kann ich diese aktivieren? Und ist es möglich den User nach z.B. einer Sekunde auf eine andere Url weiterzuleiten?

Danke nochmal und bitte entschuldigt meine Nerverei
tbremer19

LG Optimus Me mit Root

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

23.12.2013, 14:46:24 via App

Tim B.

1...
2 @Override
3 public void onPageFinished(WebView view, String url) {
4 if(!send) {
5 view.loadUrl("javascript:{" +
6 "document.getElementById('mod_login_username').value='" + username + "';" +
7 "document.getElementById('mod_login_password').value = '" + password + "';" +
8 "var form = document.getElementsByName('login');" +
9 "form[0].submit();};");
10 send = true;
11 }
12 ...

verstehst du eigentlich warum die if abfrage dort steht?

Funktion ist die eine Sache aber verstehen muss man das natürlich auch.

Gruß Ludy

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

23.12.2013, 14:49:08 via App

Tim B.
Eine letzte Frage hätte ich noch. Es gibt auf der Website eine Checkbox mit "angemeldet bleiben". Wie kann ich diese aktivieren? Und ist es möglich den User nach z.B. einer Sekunde auf eine andere Url weiterzuleiten?

Danke nochmal und bitte entschuldigt meine Nerverei
tbremer19

Das mit der Umleitung macht mich gerade bißchen misstrauisch da das nach Botmethode sich anhört also login dann geht's auf ne andere Seite.

und dass mit dem remeber funktioniert genaus mit Javascript.

Gruß Ludy

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Tim B.
  • Forum-Beiträge: 101

23.12.2013, 19:00:30 via Website

Die if-Abfrage ist denke ich mal dazu da, dass das javascript erst ausgeführt wird, wenn die website fertig geladen ist.
Das ist keinesfalls eine Botmethode, nur will ich ja in den geschützten Bereich unserer Website und das loginform wird nur auf der Startseite angezeigt. Das heißt, ich will mich auf der Startseite anmelden und dann weitergeleitet werden in den geschützten Bereich, wo ich eigentlich hin will.

LG Optimus Me mit Root

Antworten
Tim B.
  • Forum-Beiträge: 101

23.12.2013, 22:20:05 via Website

Ja aber wie gesagt, ich bin erst am Anfang und das hier war mein allererstes Projekt.

— geändert am 23.12.2013, 22:20:16

LG Optimus Me mit Root

Antworten
Pascal
  • Forum-Beiträge: 48

23.12.2013, 23:21:18 via Website

Bevor du dich an ein neues Projekt wagst, beschäftige dich erstmal mit Java Grundlagen.
Sich parallel Java & Android beizubringen ist oft mit hohem Frustpotential verbunden.
Wenn du 3-4 Wochen Java Grundlagen paukst und übst, dann wirst du wesentlich seltener an so trivialen Hürden scheitern und insgesamt mehr Spaß beim programmieren haben. Es fühlt sich auf jeden Fall besser an, wenn man auch weiß was man da macht ;)

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

24.12.2013, 00:00:09 via Website

Tim B.
Ja aber wie gesagt, ich bin erst am Anfang und das hier war mein allererstes Projekt.

Ich denke mal das wird hier noch nen OpenSourceProjekt B)

Gruß Ludy

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Estoy
  • Forum-Beiträge: 2.150

24.12.2013, 00:17:58 via App

Wird? Er hat doch schon den kompletten Code gepostet? ^^

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

24.12.2013, 00:32:52 via Website

Sgt G.
Wird? Er hat doch schon den kompletten Code gepostet? ^^

Mehr oder weniger :P

Gruß Ludy

EDIT: wer hat die App TechNDroid geschrieben, Du?

— geändert am 24.12.2013, 01:02:55

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Tim B.
  • Forum-Beiträge: 101

25.12.2013, 15:27:10 via App

Hat AppYet für mich übernommen ;)

LG Optimus Me mit Root

Antworten