Per Button Klick auf Website zugreifen

  • 22 Antworten
  • Neuester Beitrag
Diskutiere Per Button Klick auf Website zugreifen im Android App Entwicklung im Bereich Betriebssysteme & Apps.
H

Hixda

Neues Mitglied
Hallo Leute,
Ich programmiere momentan eine App.
Ich bin für den Anfang schon gut weit gekommen, denke ich : ).
Allerdings bin ich jetzt auf ein Problem gestoßen:
Ich habe überhaupt keine Ahnung wie ich einen Internetseite z.B. Google per Button klick aufrufe.
Könnt ihr mir da helfen?

Ach so ich programmiere mit dem Programm Eclipse aber ich denke das sollte kein Problem sein.
Ich stelle hier auch noch meinen Quelltext rein.
Ich würde mich sehr freuen wenn mir jemand helfen könnte. : )




HTML:
Das ist meine Main.XML Datai:


    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/hintergrund"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".KleineApp" >


    <Button
        android:id="@+id/btnK"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btnRaum"
        android:layout_alignRight="@+id/btnRaum"
        android:layout_below="@+id/btnRaum"
        android:layout_marginTop="10dp"
        android:onClick="KontakteClick"
        android:text="@string/btnK" />

    <Button
        android:id="@+id/btnRaum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btnVer"
        android:layout_alignRight="@+id/btnVer"
        android:layout_centerVertical="true"
        android:layout_marginTop="10dp"
        android:onClick="RaumplanClick"
        android:text="@string/btnRaum" />

   

     
   	<Button
     	android:id="@+id/btnVer"
     	android:layout_height="wrap_content"
     	android:layout_width="wrap_content"
     	android:layout_above="@+id/btnRaum"
     	android:layout_centerHorizontal="true"
     	android:text="@string/btnVer"
     	android:onClick="selfDestruct" />
     
     
     
</RelativeLayout>
Dies ist meine Java Datei:



HTML:
public class KleineApp extends Activity implements OnClickListener {

	boolean mainisopen = true;

	public Button btn;
	public TextView tw;

	
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_kleine_app);
	}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.mainmenu, menu);
    	
        return true;
    
   
        
    }
    

    
    
	@Override
	public void onClick(View v) {

		
		
	}
    
	public void KontakteClick (View view){

		 setContentView(R.layout.kontakte);
		 mainisopen = false;
	}
		
	public void RaumplanClick (View view){
		
		setContentView(R.layout.raumplan);
		mainisopen = false;
	}
	
	
	
	 public class MyActivity extends Activity {
	     protected void onCreate(Bundle icicle) {
	         super.onCreate(icicle);

	         setContentView(R.layout.vertretungsplan);

	         final Button button = (Button) findViewById(R.id.btnVer);
	         button.setOnClickListener(new View.OnClickListener() {
	             public void onClick(View v) {
	            	 
	            	 Uri uri = Uri.parse("http://www.google.com");
	            	 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
	            	 startActivity(intent);
	             }
	         });
	     }
	 }
	
	
	 
	 public void selfDestruct(View view) {
	     // Kabloey
	 }
	 
	
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event){
		if (keyCode == KeyEvent.KEYCODE_BACK && mainisopen == false) {
			mainisopen = true;
			setContentView(R.layout.activity_kleine_app);
			return true;
		
		}
		return super.onKeyDown(keyCode, event);
	}

    }

Ich hoffe das hilft euch, und mir ^^.
 
P

PMD_Toasty

Neues Mitglied
Guten Abend Hixda,

mal ganz allgemein gefasst musst du folgendes tun:
1. WebView in deine Oberfläche einsetzen
2. An der entsprechenden Stelle wo es aufgerufen werden soll das WebView-Objekt über die ID holen
3. WebView die URL laden lassen

In Code sähe es dann so aus:

WebView wv = (WebView)findViewById(R.id.webView1);
wv.loadUrl("https://www.google.de/search?q=kartoffel");

das hinzufügen in xml habe ich mal nicht beschrieben, ist ja nur reinziehen;)

Gruß Toasty
 
H

Hixda

Neues Mitglied
Ok, das habe ich gemacht aber er unterstreicht mir denn Punkt zwischen "wv" und "loadUrl". Der Rest ist soweit ok.

HTML:
wv.loadUrl("https://www.google.de/search?q=kartoffel");
 
2

2slow4you

Gast
Hixda schrieb:
Ok, das habe ich gemacht aber er unterstreicht mir denn Punkt zwischen "wv" und "loadUrl". Der Rest ist soweit ok.

HTML:
wv.loadUrl("https://www.google.de/search?q=kartoffel");
Und was sagt er, was der Fehler ist?
 
H

Hixda

Neues Mitglied
Im Anhang ist ein Screenshot.
 

Anhänge

2

2slow4you

Gast
Ich denke mal, das soll heißen, dass du keine Anführungszeichen brauchst, aber ich kenn den Befehl nicht.
 
P

PMD_Toasty

Neues Mitglied
du hast zwei Anführungsstriche hintereinander drin - zumindest nach der Meldung.
Mach das Doppelte raus, dann sollte alles in Ordnung sein
 
H

Hixda

Neues Mitglied
Also ich habe jetzt versucht die Anführungszeichen zu löschen.
Es tritt aber keine Besserung auf. Egal ob ich beide, nur denn ersten oder nur denn letzten lösche.
 
H

Hixda

Neues Mitglied
Ach. Ich habe einfach mal die Klammer gelöscht. jetzt ist DIESE Fehlermeldung weg.
Jedoch akzeptiert er die Webseite (google) nicht.


im Anhang ein Bild der Fehlermeldung.
 

Anhänge

MDXDave

MDXDave

Ehrenmitglied
Willst du die Webseite innerhalb deiner App anzeigen oder im Standardbrowser?
 
P

PMD_Toasty

Neues Mitglied
Hixda schrieb:
Ach. Ich habe einfach mal die Klammer gelöscht. jetzt ist DIESE Fehlermeldung weg.
Jedoch akzeptiert er die Webseite (google) nicht.


im Anhang ein Bild der Fehlermeldung.
Klammern drum(um den String) und Feierabend.
Allerdings ein guter Hinweiß von MDXDave - ich ging einfach mal(warum auch immer) von einem WebView aus

Gruß Steffen
 
MDXDave

MDXDave

Ehrenmitglied
:)
Webseite im Standardbrowser öffnen, geht folgendermaßen:

Code:
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.example.com")));
 
H

Hixda

Neues Mitglied
Alles ok WebView war schon richtig ^^

aber..



Klammern drum(um den String) und Feierabend.
Allerdings ein guter Hinweiß von MDXDave - ich ging einfach mal(warum auch immer) von einem WebView aus

Gruß Steffen
tut mir leid das ich mich so dämlich anstelle aber, wie meinst du das mit dem String? : )
 
P

PMD_Toasty

Neues Mitglied
alles innerhalb von Anführungsstrichen ist eine Zeichenkette(String).
Auf die Situation bezogen muss genau dieses dort stehen(naja, die Website darf man schon ändern...):

Code:
wv.loadUrl("https://www.google.de/search?q=kartoffel");
sofern wir nun von einem WebView reden, dieses Mysterium gilt es noch zu lösen;)
 
H

Hixda

Neues Mitglied
ja ja genau WebView ist richtig.

So wie du das angegeben hast habe ich es ja bereits.
Da taucht ja dann die besagte Fehlermeldung auf das der punkt zwischen "wv" und loadUrl" unterstrichen wird und bei der Webseide das ich diese Token löschen soll.

Verstehst du?
 
P

PMD_Toasty

Neues Mitglied
um genau zu sein verstehe ich nicht, nein - da muss irgendwas anderes falsch sein - kannst du mal einen Screen von der Codestelle machen, ohne überblendende Fehlermeldung?

Gruß Steffen
 
H

Hixda

Neues Mitglied
Ja gern.
Ich hoffe es hilft dir.
 

Anhänge

A

amfa

Experte
Du musst das schon irgendwo in eine Methode packen und nicht einfach so nackt in die Klasse.
 
H

Hixda

Neues Mitglied
Und die Methode wäre?:biggrin:
 
P

PMD_Toasty

Neues Mitglied
die wunderschöne Methode die du bei deinem Button als onClick angibst