Openvpn auf Android 2.1 Custom ROM Kagudroid

Um Openvpn auf der Custom ROM Kagudroid von lox zum Laufen zu bekommen, braucht man das passende Kernelmodul tun.ko. In der Version 1.2.1 von Kagudroid ist der Kernel 2.6.29-877eaf14 (htc-kernel@and18-2 #568) “verbaut”.

Als GUI benutze ich Tunneldroid. Zur Einrichtung des ganzen Systems habe ich folgende Anleitung benutzt. Aber anstatt die tun.ko Datei aus dem get-a-robot-vpnc Projekt zu nehmen, habe ich sie aus dieser Quelle geholt.

Ich habe nochmal nur die tun.ko Datei zum direkten Download verlinkt, da diese für Openvpn ausreicht.

tun.ko

Posted in Android, Tutorials | Tagged , , , | Leave a comment

Handytasche für das HTC Hero mit Strahlenschutz

Habe mich nun nach langem Hin und Her für eine Handytasche entschieden. Es ist eine von den Trendy selbstgenähten Taschen von fitBAG geworden. Soweit so gewöhnlich. Eine Besonderheit an meiner Tasche ist der eingenähte Strahlenschutz auf der Unterseite der Tasche. Er soll genauso viel Strahlung abhalten, wie eine 2 Meter dicke Betonwand, also fast 100%. Ob das nun wirklich notwenig ist, oder nicht bleibt zu diesem Zeitpunkt einmal dahin gestellt. Bisher gibt es meines Wissens noch keine wirklichen Langzeitstudien, die Aussagen über die Auswirkung von Handystrahlen auf den menschlichen Körper machen. Auf jedenfall denke ich, dass ich so das eventuell bestehende Risiko für meine Familienplanung minimiere.

Link zum Shop von fitBAG

Posted in Phones | Tagged , , , | Leave a comment

Server Status mit Handy prüfen

Die App URL Monitor bietet die Möglichkeit, den Status des eigenen Servers zu Überprüfen. Dazu gibt es zum einen Die Möglichkeit per SSH einen Ping an den Server zu senden oder zum Anderen einfach per HTML HEAD Request zu testen, ob der Server noch online ist. Zusätzlich bietet die App die Möglichkeit, den aktuellen Status direkt über ein Widget auf dem Homescreen darzustellen. Das Prüfintervall kann man natürlich beliebig einstellen.

In meinen Augen eine kleine, simple App, die sich für VServer Besitzer aber sicher bezahlt machen dürfte, zumal sie eh kostenlos zu haben ist.

Posted in Android, Apps | Tagged , , , , | Leave a comment

HTC Hero Upgrade auf Android 2.0

HTC hat laut golem.de offenbar angekuendigt, direkt ein Upgrade auf das eben frisch erschienene Android 2.0 durchzufuehren und die Version 1.6 auszulassen. Wann das Upgrade fertig ist steht noch nicht fest, es wird aber erwartet, dass es noch vor Ende des Jahres soweit sein wird.

Quelle:
HTC Hero: Upgrade auf Android 2.0 in Arbeit

Posted in Android, Phones | Tagged , , | Leave a comment

Vereinfachter OnClickListener für Buttons in Android 1.6

In Android 1.6 ist es jetzt möglich sich ein wenig Tipparbeit beim Erstellen von Buttons zu sparen. Bisher sah das Anhängen einer OnClickListeners an einen Button so aus:

findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Irgendwas machen
    }
});

In Android 1.6 ist es nun möglich einfach eine Methode zu definieren, die lediglich eine View als Argument beinhalten muss.

public void myClickHandler(View target) {
        // Irgendwas machen
    }

Diese wird dann im XML File einfach eingebunden und fertig ist der Button.

Somit spart man sich etwas Tipparbeit sowohl in der Java- als auch in der XML-Datei.

Quelle:
Hier gehts zum originalen Post der Android Entwickler

Posted in Android, Codeschnipsel | Tagged , , , | Leave a comment

Mit Android Sensoren auslesen

Android bietet Unterstützung für eine große Menge an Sensoren, die allerdings nicht immer alle in einem Gerät verbaut sein müssen. Um die Beschleunigungssensoren zu testen haben ich ein kleines Programm geschrieben, dass einen Listener an den Sensor hängt und bei Änderungen ausliest und vierTextViews aktualisiert. Nach diesem Prinzip funktionieren auch die anderen Sensortypen in Android.

Um Zugriff auf den Sensor zu bekommen, muss man sich zunächst mit dem SensorManager Zugriff darauf verschaffen. Da es sich um Hardware handelt, geht man hier über die System Services und erhält den Manager mit dem Aufruf getSystemService(Context.SENSOR_SERVICE). Um Daten vom Sensor zu erhalten, machte man einen SensorListener beim Manager bekannt. Hierbei legt man den Sensortyp, der abgefragt werden soll, sowie die Aktualisierungsgeschwindigtkeit (Hier im Beispiel mit SensorManager.SENSOR_DELAY_NORMAL).

		// mit dem SensorManager auf die Sensoren zugreifen
		mgr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

		// Den SensorListener bekannt machen.
		mgr.registerListener(listener, mgr
				.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
				SensorManager.SENSOR_DELAY_NORMAL);

Im Listener überschreibt man die beiden Methoden onSensorChanged und onAccuracyChanged. Die Daten des Sensors erhält man dann aus dem float Array event.values, in dem je nach Sensortyp die Werte enhalten sind. Welche Werte man erhalten kann zeigt die Android API hier.

		public void onSensorChanged(SensorEvent event) {
			if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
				float x, y, z;

				x = event.values[0];
				y = event.values[1];
				z = event.values[2];

Anzumerken bleibt noch, dass es unbedingt notwendig ist, den Listener wieder beim Manager abzumelden, da die Anwendung sonst nie komplett beendet wird, sondern weiterhin Daten vom Sensor empfängt.

	@Override
	public void onDestroy() {
		super.onDestroy();
		mgr.unregisterListener(listener);
	}

Hier der gesamte Code des Beispiels.

package de.beanova.tripmeter;

import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class StartScreen extends Activity {
    /** Called when the activity is first created. */

	SensorManager mgr;
	TextView tx, ty, tz, maxx;
	float max;

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        tx = (TextView)findViewById(R.id.tvx);
        ty = (TextView)findViewById(R.id.tvy);
        tz = (TextView)findViewById(R.id.tvz);
        maxx = (TextView)findViewById(R.id.tvmaxx);
        max = 0;
        mgr = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
        mgr.registerListener(listener,
                        mgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                        SensorManager.SENSOR_DELAY_NORMAL);
    }

	@Override
	public void onDestroy(){
		super.onDestroy();
		mgr.unregisterListener(listener);
	}

private SensorEventListener listener = new SensorEventListener() {

		@Override
		public void onSensorChanged(SensorEvent event) {
			if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
				float x, y, z;

				x = event.values[0];
				y = event.values[1];
				z = event.values[2];

				if(x > max){
					max = x;
				}

				// update textviews
				tx.setText(""+x);
				ty.setText(""+y);
				tz.setText(""+z);
				maxx.setText(""+max);
			}

		}

		@Override
		public void onAccuracyChanged(Sensor sensor, int accuracy) {
			// unused

		}
	};
}
Posted in Android, Codeschnipsel | Tagged , , | 3 Comments

HTC Hero mit Windows 7 64-bit synchronisieren

Habe heute versucht, mein neues HTC Hero mit dem Windows 7 Adressbuch zu synchronisieren. Allerdings hatte ich Probleme, weil offenbar in der Installations CD kein USB Treiber für die 64-bit Version von Windows 7 mitgeliefert wird. Ich bin glücklicherweise in einem Forum fündig geworden, dort gab es das folgende ZIP zum Download um das ADB Gerät zu installieren. Ich habe die Datei mal auf meinen Server geladen. Nach der Installation einfach Windows neu starten, und schon geht das synchronisieren.

HTC USB Driver Windows 7 64-bit

Posted in Android, Phones | Tagged , , , | Leave a comment

Android auf dem Mac installieren.

Als erstes lädt man sich wieder das Android SDK von android.com runter und wenn man möchte auch Eclipse. Ich habe bei mir das SDK direkt unter der Macintosh HD abgelegt. Eclipse liegt ganz normal bei den Programmen.

Nun muss man die Datei .bash_profile im Homeverzeichnis anpassen. Sollte es sie nicht geben, dann kann man sie einfach erstellen und den folgenden eintrag hinzufügen:

export PATH=${PATH}:<pfad_zu_deinem_sdk>/tools

Soll Eclipse nicht verwendet werden, ist man an dieser Stelle mit der Installation fertig. Ansonsten öffnet man Eclpilse und bindet das Android Plugin für Eclipse ein. Dies geschieht über die Pluginverwaltung von Eclipse.

Man wechselt über das Menü mit Help -> Install New Software zum Installationsdialg. Hier muss man nun mit einem Klick auf Add die Android Pluginseite hinzufügen und die URL http://dl-ssl.google.com/android/eclipse/ angeben. Nun erscheinen die Android Developer Tools zur Installation. Nachdem man dann Eclipse einmal neugestartet hat, muss man in den Eclipse Einstellungen unter dem Punkt Android noch den Pfad zum SDK eingeben und dann ist man schon bereit mit Android loszulegen. Tipps hierzu findet man in dem Beitrag Android Programmierung – Erste Schritte.

Posted in Android | Tagged , , , | Leave a comment

Android Programmierung – Erste Schritte

Habe mich nun nach langem Nachdenken entschlossen, meine erste geplante Handyanwendung doch nicht mit Java ME, sondern für das Android zu entwickeln. Wie es mir dabei so ergeht, vielleicht auch einige Tipps und Hinweise werde ich hier im Blog posten.

Der Anfang

Die Installation des Android SDK’s geht relativ problemlos, wenn man nach dem Download der Installationsanleitung auf der Seite folgt. Ich habe mich hier für die Installation des Eclipse Plugins entschieden, da ich ohne hin schon mit Eclipse arbeite.

Als erste Anlaufstellen ist dann ebenfalls die Seite android.com zu empfehlen, auf der es eine Hello World Einführung. sowie ein umfangreicheres Tutorial, sowie die Android API Reference zu finden gibt. Eine weitere gute Einführung bietet sich im Blog von Erich Holzbauer, der auch ein Tutorial für eine kleine Map Anwendung parat hat.

Bald folgen mehr Hinweise, je nachdem wie gut ich vorankomme und vielleicht auch ein kleines Tutorial.

Posted in Android | Tagged , , | Leave a comment

Postfix "Bad recipient delimiter" oder "ungültiges adresstrennzeichen"

Wer Probleme mit der postfix Installation auf einem Vserver bei ispOne business GmbH aus dem Weg gehen möchte, der muss nur in der Datei /etc/mailname die Leerzeile entfernen. Anderenfalls bleibt die postfix Installation unter Debian Lenny in einer Schleife hängen und bringt die SSH-Verbindung zum Einfrieren. Das liegt offenber daran, dass die Installation mit der zusätzlichen Leerzeile, die in der Datei eingefüt ist nicht klar kommt.

Hat man die Zeile geändert, läuft die Installation wunderbar. Dies ist mir bisher nur bei diesem Provider passiert. Ansonsten ist ispOne business aber bisher zu empfehlen. Die Preise können sich auch sehen lassen und der Service war bislang immer schnell und super kulant.

Posted in Computerkram, Linux | Tagged , , | Leave a comment