Hauptmenü

Werkzeuge

Kategorien

Archiv

WebView Event wenn Content geladen

Erstellt in Android SDK am 1. Februar 2015 vom Daschmi

Möchte man eine Aktion auslösen, nachdem Inhalt in einen Webview geladen wurde so kann muss man die Webview Klasse überschreiben:

public class MyWebView extends WebView {
  public eplanetWebView(Context context) {
    super(context);
  }

  @Override
  public void invalidate() {
    super.invalidate();
    if (getContentHeight() > 0) {
      // Aktion auslösen
    }
  }
}

 

E-Mail mit Standard E-Mail App aus einer Android App versenden

Erstellt in Android SDK am 3. Januar 2014 vom Daschmi

Mit folgendem Codebeispiel kann eine Mail aus einer Android App versendet werden:

Intent mail = new Intent(android.content.Intent.ACTION_SEND);

mail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "ziel@domain.de" } );
mail.putExtra(android.content.Intent.EXTRA_SUBJECT, "Betreff der Mail");
mail.setType("plain/text");
mail.putExtra(android.content.Intent.EXTRA_TEXT, "Dies ist der Text der in der Mail erscheint.");

startActivity(mail);

Ressourcen anhand dynamischer ID finden

Erstellt in Android SDK am 30. Mai 2013 vom Daschmi

Um Elemente wie Bilder oder Buttons in einer Android Anwendung anzusprechen muss die ID bekannt sein. Zum Beispiel:

...

ImageButton ib = (ImageButton)findViewById(R.id.button1);
...

Wenn man jetzt aber mehrere Elemente mittels einer Schleife ansprechen will kann man so vorgehen:

for (int index = 1; index <= 6; index ++)
{
ImageButton ib = (ImageButton)findViewById(getResources().getIdentifier("button" + index, "id", getPackageName()));
ib.setImageResource(R.drawable.caro_blau);
}

Bestimmung der Position (Längen- und Breitengrade) und der Geschwindigkeit mittels GPS

Erstellt in Android SDK am 17. Februar 2013 vom Daschmi

Um die Geschwindigkeit in m/s oder die Längen und Breitenangaben des GPS Empfängers eines Android Gerätes zu ermitteln muss man als erstes in der Mainfest Datei der Answendung folgende Berechtigungen hinzufügen:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.INTERNET" />

Nun kann man mittels folgendem Code einen LocationListener hinzufügen:

myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {
public void onStatusChanged(String provider, int status, Bundle extras) { }
public void onProviderEnabled(String provider) { }
public void onProviderDisabled(String provider) { }

public void onLocationChanged(Location location) {
  System.out.println("Speed: " + location.getSpeed());
  System.out.println("Latitude: " + location.getLatitude());
  System.out.println("Longitude: " + location.getLongitude());
  System.out.println("Bearing: " + location.getBearing());
}
});

Wie man das Ganze auf einem iGerät (iPhone, iPad etc.) macht habe ich hier beschrieben.