Webview - vorher quellcode ändern?

  • Antworten:0
jjivo
  • Forum-Beiträge: 1

06.03.2012, 16:06:07 via Website

Hi,

ich schreibe jetzt hier, weil ich nicht mehr weiterkomme. Ich habe es geschafft,
das erste quellcode einer Webseite zu verändern. Danach schaffe ich nicht mehr
das quellcode zu verändern. Ich weiß nicht, wie ich das mit view.loadUrl(url);
machen soll.

Beispiel: Auf der Webseite steht ein Text, z.B. Bild. Bevor ich die Seite aufrufe,
ändere ich alle Texte die Bild heißen in BildCool um. Beim ersten mal klappt das,
aber danach nicht mehr.

Bei einem Link klick in ( public boolean shouldOverrideUrlLoading ) muss ich eine
Funktion aufrufen von dort ich den quellcode dann verändere. Leider komme ich
nicht drauf. Oder denke ich falsch?

main.xml
1<?xml version="1.0" encoding="utf-8"?>
2<WebView xmlns:android="http://schemas.android.com/apk/res/android"
3 android:id="@+id/webview"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6/>

AndroidManifest.xml
1<uses-permission android:name="android.permission.INTERNET" />

WebTest.java
1public class WebTestActivity extends Activity {
2
3 WebView mWebView;
4 String rline = "";
5
6 /** Called when the activity is first created. */
7 @Override
8 public void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10
11 setContentView(R.layout.main);
12
13 mWebView = (WebView) findViewById(R.id.webview);
14 mWebView.getSettings().setJavaScriptEnabled(true);
15
16 HttpURLConnection urlConnection = null;
17 try
18 {
19 URL url = new URL("http://www.bildTestSeite.de/");
20 urlConnection = (HttpURLConnection) url.openConnection();
21 InputStream in = new BufferedInputStream(urlConnection.getInputStream());
22 BufferedReader rd = new BufferedReader(new InputStreamReader(in), 4096);
23 String line;
24
25 while ((line = rd.readLine()) != null) {
26 rline += line+"\n";
27 }
28 rd.close();
29
30 } catch (MalformedURLException e) {
31 e.printStackTrace();
32 } catch (IOException e) {
33 e.printStackTrace();
34 } finally {
35 if ( null != urlConnection )
36 {
37 urlConnection.disconnect();
38 }
39 }
40
41 String getNewCode = rline.replace("Bild", "BildCool");
42
43 mWebView.loadData(getNewCode, "text/html", "utf-8");
44
45 mWebView.setWebViewClient(new HelloWebViewClient());
46 }
47
48 private class HelloWebViewClient extends WebViewClient {
49 @Override
50 public boolean shouldOverrideUrlLoading(WebView view, String url) {
51 view.loadUrl(url);
52 return true;
53 }
54
55 }
56}

Ich habe eine ähnliche Frage gefunden. Aber leider nicht gelöst.
http://stackoverflow.com/questions/6850017/how-to-set-webview-client

Danke.

— geändert am 06.03.2012, 16:18:36

Antworten