Google Suche Button einbauen

  • Antworten:32
  • Bentwortet
Benni Göttmann
  • Forum-Beiträge: 41

16.03.2013, 20:35:59 via Website

Hallo liebe Community,

ich habe mithilfe ein paar Tutorials eine kleine Barcode Scanner App erstellt.
Sie liest den Barcode aus und packt den Code aus Ziffern z.b. "3729372923" in ein Textfeld.

Nun möchte ich einen Button in die App einfügen mit dem nach dem ausgelesenen Code auf Google gesucht wird.
Also im Prinzip soll nur nach dem Text aus dem Textfeld in Google gesucht werden. Ob es in der App passiert oder sich das ganze im Browser öffnet ist mir relativ egal.


Habe schon vieeeeel gegooglet aber nichts gefunden was mit weiterhilft.
Bitte um antworten.

Greetz
Benni

— geändert am 16.03.2013, 22:13:43

Antworten
impjor
  • Forum-Beiträge: 1.793

16.03.2013, 22:45:27 via App

Wo genau liegt dein Problem?

Die entsprechende Seite lautet
http://www.google.de/search?q=Dein+Wort+aus+dem+Textfeld

Wenn ich nun nach "android start Browser" google, kommt eine gute Seite von mobil-tuts. Die Steps 1 - 4 befolgen und Tatata... Fertig.

Gruß

— geändert am 16.03.2013, 22:47:01

Liebe Grüße impjor.

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

Benni Göttmann

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

16.03.2013, 22:56:12 via Website

Danke für deine Antwort!
Leider hilft mir das nicht so wirklich weiter, da ich ja bei klick auf den Button keine immer gleich bleibende URL öffnen will sondern die Google URL mit dem Code aus dem Textfeld. Hast du vielleicht noch irgendwelche Tipps die mir helfen könnten? Bin auch noch relativ neu in der App Entwicklung. Hilft es wenn ich den Code meiner MainActivity poste? :)

Gruss
Benni

Antworten
impjor
  • Forum-Beiträge: 1.793

16.03.2013, 23:33:26 via App

Mmmm... weißt du nicht, wie du Code bei klick auf einen Button ausführst, oder wie du den Text eines Textfeldes ausliest?
Gruß

Liebe Grüße impjor.

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

Benni Göttmann

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

16.03.2013, 23:39:15 via Website

Beides nicht genau. Deswegen waere ein kleines Code Beispiel ganz gut. (:
Danke für deine schnellen antworten!

Gruesse

Antworten
impjor
  • Forum-Beiträge: 1.793

17.03.2013, 13:45:51 via App

Du hast einen Barcodescanner programmiert, weißt aber nicht, wie du eine Funktion per Button ausführen lässt?

Liebe Grüße impjor.

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

San Blarnoi

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 14:13:21 via Website

Lieber impjor,

wie gesagt habe ich die App mithilfe einiger Tutorials und dem Source Code von zXing erstellt. Allerdings scheint die App sehr erfolgreich zu sein da sie nach 2 Tagen bereits auf Platz 194 in Kostenlos-Neu ist und ich bereits über 20 Installationen am Tag verschreibe. Also wäre es mir daher ziemlich wichtig diese Funktion hinzuzufügen um die Nutzter zu halten. Kannst du mir nicht einfach ein bisschen weiterhelfen?-_-

Grüsse

Antworten
Michele
  • Forum-Beiträge: 1.525

17.03.2013, 16:05:13 via Website

EditText text = (EditText) findViewById(R.id.editText1);
text.setText(????);
text.getText(????);

Schonmal was von get und set gehört im Programmieren?
So kannst du was von der Eingabe holen oder setzen.


LG

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:10:00 via Website

Vielen vielen Dank!

Also kann ich damit schonmal den Barcode aus dem Textfeld auslesen.
Aber wie bekomme ich es nun hin das bei Klick auf den Button Google mit dem ausgelsenem Code aufgerufen wird?

Mein Problem ist ja auch das ich mehrere Activitys(3) habe und das daher etwas Verwirrung bei mit stiftet.

Grüsse

— geändert am 17.03.2013, 16:11:42

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:21:27 via Website

Danke!

Das mit dem onClickListener usw. kann ich ja einigermaßen. Ich brauche nur Hilfe wie ich das ganze nun 'zusammenstecke'. Ich bekomme es einfach nicht hin einen funktionierenden Code zu schreiben...

Gruss

Antworten
Michele
  • Forum-Beiträge: 1.525

17.03.2013, 16:22:15 via Website

Ich verstehe auch noch nicht genau was du genau nun vor hast.


LG

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:23:42 via Website

Okay. (:

Also ich möchte im Prinzip nur das die Eingabe aus meinem Textfeld bei Klick auf den Button in Google gesucht wird.

Grüse und danke für die schnellen Antworten!

Antworten
impjor
  • Forum-Beiträge: 1.793

17.03.2013, 16:29:11 via Website

Das Problem ist, denke ich dass du anscheinend ein Anfänger bist (nicht böse gemeint), dich aber an Tutorials versuchst, die schon eher fortgeschritten sind.

Eigentlich müsste alles klar sein.
"Benni Göttmann"
mit dem onClickListener usw. kann ich ja einigermaßen
Gut, dann füge doch einfach im OnCLickListener deines Buttons den Code ein, von der Website die du bei der Google-Suche gefunden hast,
Bei mir war das http://mobile.tutsplus.com/tutorials/android/launch-android-browser/ , dort die Schritte 1 bis 4 befolgen und du weißt wie du den Browser öffnest. Du ersetzt die URL durch http://www.google.de/search?q=Dein+Wort+aus+dem+Textfeld , nur schreibst du statt Dein+Wort+... den Text aus dem TextView. Wie das geht hat Michele ja gut erklärt.

Gruß

Liebe Grüße impjor.

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

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:31:21 via Website

Super! Das werde ich jetzt gleich mal versuchen. Aber in welcher Activity muss ich den OnClickListener dann einfügen?
In die MainActivity richtig? :)

Antworten
Michele
  • Forum-Beiträge: 1.525

17.03.2013, 16:33:39 via Website

*Grins*

Warum hast du eig 3?

LG

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:36:13 via Website

Michele
*Grins*

Warum hast du eig 3?

LG

Einmal die MainActivity, dann IntentResult und IntentIntegrator. (:

Ich werde mich melden wenn ichs geschafft habe und euch ggf. weiter mit Anfängerfragen nerven. :p

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:48:51 via Website

So, ich habe jetzt zumindest schonmal bei den imports den OnlickListener hinzugefügt. Öieder weiss ich jetzt nicht wo ich den ganzen Code usw in die MainActivity einfügen soll. Zur hilfe Poste ich mal meine MainActivity:

1package com.evo.barcodescanner;
2
3import android.os.Bundle;
4import android.app.Activity;
5import android.content.Intent;
6import android.view.View;
7import android.widget.EditText;
8import android.view.View.OnClickListener;
9
10public class MainActivity extends Activity {
11
12 @Override
13 protected void onCreate(Bundle savedInstanceState) {
14 super.onCreate(savedInstanceState);
15 setContentView(R.layout.activity_main);
16 }
17
18 public void onClick (View view) {
19 IntentIntegrator integrator = new IntentIntegrator(this);
20 integrator.initiateScan();
21
22
23
24 }
25
26 public void onActivityResult(int requestCode, int resultCode, Intent intent) {
27 IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
28 if (scanResult != null) {
29
30
31
32 String barcode;
33 String typ;
34
35 barcode = scanResult.getContents();
36 typ = scanResult.getFormatName();
37
38
39 EditText etBarcode = (EditText) findViewById (R.id.editText1);
40 EditText etTyp = (EditText) findViewById (R.id.editText2);
41
42 etBarcode.setText(barcode);
43 etTyp.setText(typ);
44
45
46
47 }
48
49
50
51 }
52
53}

Antworten
impjor
  • Forum-Beiträge: 1.793

17.03.2013, 16:55:17 via App

Benni Göttmann
1public void onClick (View view) { // Code
2 }
Genau so machst du es für den zweiten Button.

— geändert am 17.03.2013, 16:55:42

Liebe Grüße impjor.

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

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 16:59:40 via Website

Okay und wo kommt der URI und der Intent für den Browser hin?

Antworten
impjor
  • Forum-Beiträge: 1.793

17.03.2013, 17:03:20 via App

Na du erstellst für den zweiten Button auch eine Funktion, ich sag mal

button2click( View v) {
// intent, URI Code etc.
}

Liebe Grüße impjor.

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

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 17:09:56 via Website

Super, und wie sage ich der Fuktion jetzt noch auf welchen Button sie hören muss? :)

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 18:10:18 via Website

Jetzt habe ich es soweit geschafft, allerdings denke ich die URI mit dem getText ist noch falsch. Was muss ich machen und wie lass ich den Button nun auf die Funktion reagieren? :)

1public void button2Click (View view) {
2 Uri uriUrl = Uri.parse("ttp://www.google.de/search?q=etBarcode.getText(barcode)");
3 Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
4 startActivity(launchBrowser);
5 EditText etBarcode = (EditText) findViewById (R.id.editText1);

Gruesse

— geändert am 17.03.2013, 18:11:05

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 19:26:20 via Website

Update:

Habe es nun soweit geschafft das sich bei Klick auf den Button der Browser mit der URL öfffnet.
Letztes Problem was ich habe ist das getText. Im Moment sieht die URI in der Main Activity so aus:
1"htp://www.google.de/search?q=(etBarcode.getText()"
Allerdins öffnet sich auch GENAU diese Url im Browser anstatt das was im Textfeld steht. Was muss ich machen?

Grüsse

P.S. Keine Sorge der Fehler im http ist beabsichtigt, da ich noch keine Links posten darf.

Antworten
Michele
  • Forum-Beiträge: 1.525

17.03.2013, 19:28:40 via Website

Wie wärs wenn du uns mal den kompletten button zeigst?

Also die onClick Methode?



LG

Benni Göttmann

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 19:32:14 via Website

Aber sicher doch! (:
1public void button2Click (View view) {
2 Uri uriUrl = Uri.parse("htp://www.google.de/search?q=");
3 Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
4 startActivity(launchBrowser);
5 EditText etBarcode = (EditText) findViewById (R.id.editText1);
6 etBarcode.getText().toString();

Habe den Fehlerhaften Code jetzt aus dem Link entfernt.

— geändert am 17.03.2013, 19:38:54

Antworten
impjor
  • Forum-Beiträge: 1.793

17.03.2013, 22:17:16 via App

Überleg doch mal:
Du schreibst
"blabla und_ein_Befehl()";
Wofür sind wohl die Anführungszeichen? Damit Android weiß, was Text und was ein Befehl ist.
Zum verketten benutzt du das Plus.

1String1 + String2

Gruß

Liebe Grüße impjor.

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

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 22:25:26 via Website

Danke für deine Antwort. Geht leider immernoch nicht.
Habe es jetzt mit diesem Code versucht:


1Uri uriUrl = Uri.parse("htp://www.google.de/search?q="+"etBarcode.getText();");


Was mache ich falsch? Habe das Plus gesetzt.

LG

— geändert am 17.03.2013, 22:25:51

Antworten
impjor
  • Forum-Beiträge: 1.793

17.03.2013, 22:29:35 via App

Genau so, nur warum schreibst du den Befehl in Anführungszeichen? Dann denk Android es ist Text.
Gruß

PS: ich empfehle dir dringend, dass kostenlose Online Buch " Java ist auch eine Insel" oder sonstige Java-Lektüre zu lesen.

Liebe Grüße impjor.

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

Antworten
Benni Göttmann
  • Forum-Beiträge: 41

17.03.2013, 22:34:37 via Website

Danke, ich werde mir das Buch mal anschauen. :)

Ohne die Anführungszeichen sagt er mir allerdings: etBarcode cannot be resolved.

Was soll das denn jetzt?:(

Edit:
Problem selbst gelöst! Ich bedanke mich bei euch beiden für die tolle Hilfe! Habe dank euch auch einiges dazu gelernt. Vielen Dank!
Grüsse Benni

— geändert am 17.03.2013, 22:51:54

Antworten
Elmar
  • Forum-Beiträge: 34

24.03.2013, 11:28:26 via App

Dickes Lob an Michele und Impjor für die geduldige Hilfe für Benni. Auch hier gilt : Man sieht sich immer zweimal im Leben. @Benni: Wie nennt sich Deine App?

Antworten