Freitag, 13. Mai 2011

Pitch2Zoom mit dem OnTouchListener

Hallo,
heute möchte ich euch zeigen, wir man Pitch 2 Zoom mit dem OnTouchListener in eurer Aktivität verwirklichen könnt.
Zu nächst muss eure Aktivität den OnTouchListener implementieren. Anschließend müsst ihr die Methode onTouch überschreiben. In dieser könnt ihr mit if((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_MOVE) sicherstellen, dass es sich um eine Bewegung auf dem Touchscreen handelt. Anschließend stellt ihr mit if(event.getPointCount() = = 2) sicher, dass sich zwei Finger auf dem Touchscreen befinden. Nun müsst ihr nur noch den Abstand bei jeder Bewegung der beiden Finger berechnen und prüfen. Ob dieser kleiner als der vorherige oder größer ist und entsprechend rein- bzw. rauszoomen.
Den OnTouchListener könnt ihr dann an eine bestimmte View binden. Diese reagiert dann auf die OnTouch-Events.
Anbei ist auch ein Video, welches die Textgröße einer Text vergrößert bzw. verkleinert. Das Bild dient als Fläche, auf der die OnTouch Events abgefangen werden. Sehr es euch am besten selbst an.

Montag, 9. Mai 2011

Error - Debug Certificate expired

Hallo,

nach langer Zeit kann ich mich doch endlich mal wieder etwas der Android Programmierung widmen. Da ich seid längerem nicht mehr für Android programmiert habe, trat auch gleich ein Fehler auf beim erstellen der Archiv Datei, sobald ich meine kleine Test App starten wollte. Folgender Fehler trat auf:
"Error - Debug Certifivate expired on 01.05.2011" Um dieses Problem zu beheben, müsst ihr einfach in euren Android Ordner  "C:\Dokumente und Einstellungen\%USERNAME%\.android " gehen und die Datei debug.keystore löschen. Beim nächsten Kompilieren erstellt das ADT-Plugin ein neues File und der Fehler sollte behoben sein.

Donnerstag, 10. März 2011

CountDownTimer in eine Activity hinzufügen

Heute möchte ich euch zeigen, wie man einen CountDownTimer in seine Activity integrieren kann. Hierfür habe ich eine private Klasse in der Activity Klasse erzeugt. Im Video habe ich sie MyCounter genannt. Diese private Klasse erbt von CountDownTimer. Anschließend müsst ihr euch mit Hilfe von Eclipse noch einen Konstruktor generieren lassen und die beiden Methoden onTick und onFinish ausprägen. Der Konstrutkor bekommt die Werte wie lange der Countdown sein soll und in welchem Intervall die Methode onTick aufgerufen werden soll. Die Methode onFinish wird nach dem Ablauf des Countdowns ausgeführt. In diesen Methoden könnt ihr diverse Dinge realisieren. Ich setze zum Beispiel den Text eines TextViews neu. Ihr müsst darauf achten, dass die Zeitangaben in Millisekunden sind. Mit der Methode start(), startet ihr euren Countdowntimer. Ich denke aber, wenn ihr euch das Video anseht, ist die Entwicklung des Countdowntimers selbsterklärend.

Mittwoch, 16. Februar 2011

Ein Bild aus dem Internet im ImageView anzeigen

Zunächst erstellen wir mit Hilfe von Eclipse ein neues Android Projekt. Ich habe es „HelloImageView“ genannt. Anschließend fügen wir den uses-permission „android:name="android.permission.INTERNET“ in der AndroidManifest.xml hinzu. Hiermit erlauben wir unserer App auf das Internet zuzugreifen. 
Danach fügen wir in der main.xml, die das Layout unserer App enthält, ein ImageView hinzu. In dieses werden wir später unser Bild laden, das angezeigt werden soll.
Zu guter Letzt werden wir unsere Activity-Klasse bearbeiten. Hierfügen wir folgende Codezeilen in die onCreate-Methode hinzu:

        ImageView myIv = (ImageView) findViewById(R.id.ImageView01);
        URL url;
        try {
            url = new URL("http://www.discounter-archiv.de/bilder/discounternews/logo-stiftung-warentest_test750.gif");
            Object content;
            content = url.getContent();
            InputStream is = (InputStream) content;
            Drawable image = Drawable.createFromStream(is, "src");
            myIv.setImageDrawable(image);
        } catch (Exception e) {
            e.printStackTrace();
}

ImageView ist hierbei das Objekt ImageView, in dem wir unser Bild anzeigen möchten. Anschließend laden wir die Url, die das Bild enthält. Den Inhalt dieser Url speichern wir in einem Objekt ab, aus dem wir ein InputStream casten. Aus diesem InputStream erzeugen wir ein Drawable-Objekt, das wir anschschließend in unser ImageView laden können.