Kategorie-Archiv: Softwareentwicklung

Update: SMSBackup Version 1.2.0

Im Laufe des Tages wird eine neue Version meiner SMS Backup-App veröffentlicht.

Die Anwendung wurde um folgende Features erweitert:

  • Die Anwendung versucht nun der Nummer (Absender bei empfangenen SMS / Empfänger bei gesendeten SMS) einen Namen aus dem Adressbuch des Telefons zuzuordnen.
  • Es ist jetzt möglich mehrere Backups auf der SD-Karte abzulegen. Es wird automatisch ein Unterordner auf der SD-Karte angelegt, der das aktuelle Datum enthält.

Die Anwendung steht im Android Market zur Verfügung.

Git mit normalem Webspace nutzen

Bei der Entwicklung von Software setzt man gerne Versionsverwaltungen ein. Man hat so die Möglichkeit, auf einen alten (und damit unter Umständen noch funktionierenden) Stand einer Datei zurückzuspringen. Vorallem lässt sich  mittels einer Versionsverwaltung Softwareentwicklung im Team realisieren, was sonst ein sehr nervenaufreibender Prozess wäre.

Normalerweise benötigt man dazu einen Server mit Shell-Zugang über ssh. Eine kostengünstige Möglichkeit, ein git-Repository zu nutzen ohne einen eigenen Server betreiben zu müssen oder auf spezielle Repository-Hosting-Dienste (z.B. github) zurückzugreifen werde ich im Folgenden beschreiben.

Wichtig dabei: Der Hosting-Anbieter muss git trotzdem auf seinen Servern installiert haben!

Meinen Webspace habe ich bei der Firma domainFACTORY
(http://www.df.eu/)angemietet. In meinem Tarif steht kein ssh-Zugang zur Verfügung. Allerdings kann ich per sftp auf meinen Webspace zugreifen und es steht php und git zur Verfügung.

Unter Ubuntu wurde ein über GNOME (Places -> Connect to server…) eingebundenes sftp-Verzeichnis automatisch nach /home/user/.gvfs/… gemountet. Unter Debian – was ich momentan nutze – scheint dies nicht der Fall zu sein.

Unter http://blog.flameeyes.eu/2007/02/how-to-use-git-via-sftp-only habe ich den entscheidenden Hinweis gefunden, wie ich das Verzeichnis in den normalen Verzeichnisbaum einbinden konnte.

Hier das Vorgehen, ein leeres git-Repository auf dem Webspace zu erstellen und zum pullen und pushen zu  nutzen:

  1. Verzeichnis in einem einer Domain zugeordneten Verzeichnis erstellen. Dieses Verzeichnis ist dann z.B. unter http://www.xy.de/git erreichbar.
  2. In diesem Verzeichnis eine .php-Datei mit folgendem Inhalt anlegen:
    <?php
        system("git init --bare");
    ?>
  3. Diese Datei mit dem Browser aufrufen – z.B. http://www.xy.de/git/init.php . Wenn eine Meldung angezeigt wird, dass das Erstellen eines leeren Repository erfolgreich war dieses Verzeichnis samt seiner Unterverzeichnisse an einen Ort auf dem Webspace verschieben, der möglichst nicht über eine Domain erreicht werden kann. Man will ja schließlich nicht, dass seine Daten für jedermann einsehbar sind. Die erstellte php-Datei kann jetzt gelöscht werden.
  4. Nun das Verzeichnis mit sshfs mounten:
    sshfs user@host:path/to/git /mnt
  5. Nun kann dem lokalen git-Repository das Verzeichnis als neues origin zugewiesen werden. Das –track master  wird benötigt, wenn ein bereits lokal existierendes Repository in ein leeres entferntes Repository gepusht wird. Dabei entferne ich zuerst eventuell vorhandene alte Origins:
    git remote rm origin
    git remote add --track master origin file:///mnt/
  6. Als nächstes in das neue Repository pushen – also den aktuellen Stand des lokalen Repository auf den Server schieben:
    git push origin HEAD
  7. Fertig!

(Weitere Quellen: http://stackoverflow.com/questions/7630574/git-push-everything-to-new-origin und http://splitshade.wordpress.com/2010/01/18/remote-repositories-mit-git-einrichten/)

Deinstallation von Eclipse-Plugins

Hatte eben das Problem, dass ich Plugins aus der Entwicklungsumgebung Eclipse deinstallieren wollte. Der Weg dazu war nicht auf den ersten Blick ersichtlich – deshalb hier die Vorgehensweise:

  1. Help -> About Eclipse
  2. Installation Details anklicken:
  3. Im erscheinenden Fenster das entsprechende Plugin auswählen und unten auf „Uninstall…“ klicken.

Wichtig: Um Plugins zu deinstallieren darf kein Software-Update von Eclipse im Hintergrund laufen. Sonst ist die „Uninstall…“-Schaltfläche deaktiviert.

(Quelle: http://wiki.eclipse.org/FAQ_How_do_I_remove_a_plug-in%3F)