In WebView Bilder markieren und downloaden

  • Antworten:7
  • Bentwortet
Andreas B.
  • Forum-Beiträge: 23

03.01.2014, 16:49:57 via Website

Hallo zusammen!
Wie im Titel schon steht möchte ich in meinem Browser bei einem Bild länger darauf drücken können (OnLongClick) und dann soll ein kleines Menu mit Dowload erscheinen. Ist auch Ok wenn es nur bei Google-Bildersuche geht.
Mein Browser-Code:
Da ich noch ein neues Mitglied bin musste ich nach http ein Lehrzeichen einfügen, damit es nicht als Link gilt...
1public class BrowserActivity extends Activity {
2 private WebView webView;
3 private EditText urlEditText;
4
5 public void onCreate(Bundle savedInstanceState) {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.activity_main);
8
9 urlEditText = (EditText) findViewById(R.id.urlField);
10 urlEditText.setText("");
11 webView = (WebView) findViewById(R.id.webView);
12 webView.setWebViewClient(new WebViewClient());
13 Button openUrl = (Button) findViewById(R.id.goButton);
14 openUrl.setOnClickListener(new OnClickListener() {
15 @Override
16 public void onClick(View view) {
17 String url = urlEditText.getText().toString();
18 if(validateUrl(url)){
19 webView.getSettings().setJavaScriptEnabled(true);
20 webView.loadUrl(url);
21 webView.loadUrl(Uri.parse(url).getHost());
22 }
23 }
24
25 private boolean validateUrl(String url) {
26
27 if(url.startsWith("http ://")){
28
29 return true;
30
31 }
32 else if(url.startsWith("www.")){
33 url = "http ://"+url;
34 webView.getSettings().setJavaScriptEnabled(true);
35 webView.loadUrl(url);
36 return false;
37 }
38 else{
39 url = "http ://www.google.ch/search?q="+url;
40
41 webView.getSettings().setJavaScriptEnabled(true);
42 webView.loadUrl(url);
43 return false;
44 }
45
46 }
47 });
48 }
49
50 @Override
51 public boolean onCreateOptionsMenu(Menu menu) {
52 getMenuInflater().inflate(R.menu.main, menu);
53 return true;
54 }
55}
Ps: fals jemand meinen Code "unordentlich" oder ähnliches findet, nehme ich Verbesserungsvorschläge gerne entgegen!!

Ich danke schon im Voraus! :grin:
Lg Andreas

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

03.01.2014, 16:54:29 via Website

Und was genau ist dein Fehler bzw. wo hängt es (an der Logik)?

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

Antworten
Andreas B.
  • Forum-Beiträge: 23

03.01.2014, 16:56:15 via Website

Das Problem ist, dass ich nicht weiss wie man erkennen kann ob man auf ein Bild oder sonst irgendwo gedrückt hat.

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

03.01.2014, 17:06:27 via Website

Das ist schwierig. Mit einer eigenen Html Seite und JavaScript mit Android JavaScript Interface wäre das kein Problem.
Nur von Google Bilder ist es schwierig.
DU müsstest die Html Struktur von Google studieren und aufschreiben. Dann die ganze Html nach Image Tags durchsuchen, diese dann markieren und per JavaScript auf einen Click reagieren.
Oder du hast einen Server auf dem ein Php Script läuft. Diesem übergibst du dann die Google suche lässt die Html Parsen und JavaScript hinzufügen.
In der App kannst du dadurch auf ein OnClick reagieren und einen Download Client Starten, der dir Async das Bild herunterlädt.
Aber ganz ehrlich ist es der Aufwand wert?
Mit einem Browser a la Dolphin kannst du das Bild anklicken und sagen speichern.
Da brauchst du keine App für schreiben

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

Antworten
Andreas B.
  • Forum-Beiträge: 23

03.01.2014, 17:30:21 via Website

Pascal P.
Mit einem Browser a la Dolphin kannst du das Bild anklicken und sagen speichern.
Da brauchst du keine App für schreiben
Aber ich glaube nicht, dass es ein Android App gibt, welche zuerst wie ein ganz normaler Taschenrechner aussieht und wenn man eine bestimmte Zahl eingibt sich als Browser entpuppt, mit welchem man Bilder direkt In ein "geheimes" Verzeichnis runterläd, in welchem eine .nomedia Datei ist und man so die Bilder nur über einen Dateiexplorer oder die App anschauen kann. (nächstes Ziel: die Bilder verschlüsseln damit man sie nur noch über die App anschauen kann)
Ps: wers noch nicht bemerkt hat das obige zu machen ist mein Ziel :grin:

Die oben beschriebene App gibt es (bis jetzt) erst für iPhones und heisst dort ky-calc...

Dort haben sie es wohl mit dem Server und Parsen gemacht. Wäre das sehr kompliziert mit dem Server und parsen? Sonst gäbe es eine weitere App in meine "nicht brauchbare Apps" Sammlung...

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

03.01.2014, 17:41:42 via Website

Na ja kompliziert ist es schon. Aber wenn du viel Erfahrung in Java und Php hast, dann ist es relativ "leicht".
Zusätzlich ist es sehr Zeitaufwändig. Also überlegen kannst du dirs schon. Aber ob einer Allein so ein projekt erstellen kann (nicht böse gemeint :)) weiss ich nicht. Meist sind es Teams die solche Apps entwickeln.

Normal heruntergeladene Bilder können auch per Dateiexplorer in einen Ordner mit einer NoMedia Datei kopiert werden.
Somit kannst du es normal Herunterladen, in den richtigen Ordner Kopieren und dich in deiner App nur noch mit der Verschlüsselung beschäftigen.

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

Antworten
Andreas B.
  • Forum-Beiträge: 23

03.01.2014, 17:50:09 via Website

Hast recht. Jetzt wo ich das nochmals durchgelesen habe habe ich gemerkt, dass ich das au die leichte Schulter genommen habe. Naja ich werde mir etwas anderes ausdenken müssen.
Danke für deine Hilfe! In anderen Foren geht das viel länger bis jemand antwortet :D

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

03.01.2014, 17:54:14 via Website

Kein Probem :)

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

Antworten