Normalerweise kann das Samsung Galaxy S4 (oder Samsung Galaxy S3 und S2) einfach durch Plug-and-Play unter Windows 7 installiert werden. Leider hat das bei mir nicht funktioniert. Wenn man das Galaxy S4 mit dem Computer verbinden will um mp3s oder Kontakte auf das Handy zu spielen, muss man das Programm Samsung Kies installieren.
Kategorie: Mobil
FTP Upload mit Android
Einbinden der benötigten Bibliothek von Apache mit Eclipse: Anleitung.
Code:
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import android.util.Log; import de.egraveyard.android.view.ItemUploader; public class FtpUpload { private static final String TAG = ItemUploader.class.getSimpleName(); String serverAdress = "ftp.lala.de"; String userName = "ftpUser"; String password = "lala"; String serverDirectory = "/android"; //String localFilePath = "/data/anr/traces.txt"; //String remoteFileName = "traces2.txt"; public boolean uploadImage(String localFilePath, String remoteFileName) { boolean result = false; FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(this.serverAdress); ftpClient.login(this.userName, this.password); ftpClient.changeWorkingDirectory(this.serverDirectory); ftpClient .setFileType(org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE); } catch (IOException e) { Log.d(TAG, "IOException ftp Client could not be established.controll Login, Server, Pw."); } Log.d(TAG, "FTP Server Response: " + ftpClient.getReplyString()); BufferedInputStream buffIn = null; try { buffIn = new BufferedInputStream(new FileInputStream(localFilePath)); } catch (FileNotFoundException e) { Log.d(TAG, "FileNotFoundException: local File to be uploaded not Found: " + localFilePath); } ftpClient.enterLocalPassiveMode(); try { result = ftpClient.storeFile(remoteFileName, buffIn); } catch (IOException e) { Log.d(TAG, "IOException: remote File could not be accessed"); } try { buffIn.close(); } catch (IOException e) { Log.d(TAG, "IOException: buffIn.close()"); } try { ftpClient.logout(); ftpClient.disconnect(); } catch (IOException e) { Log.d(TAG, "IOException: ftpClient close/logout"); } return result; } }
Lint ist ein praktisches Tool um einen groben Überblick über die Qualität eines Android Projektes zu bekommen und unnötigen Code zu filtern.
Installation/Update über Eclipse
Lint kann über die Console oder über Eclipse gestartet werden. Ab Version ADT 16 (aktuell die neuste Version) ist Lint enthalten. Ein Update auf die neuste Version kann duchgeführt werden in Eclipse über: Help/Check for Updates.
Gestartet werden aknn Lint einfach über: Android Tools/Run Lint: Check for Common Errors
Anwendungsfälle von Lint
Lint kann folgende Fehler recht zuverlässig finden:
- nicht übersetzte Strings
- hard kodierte Strings im Quelltext ausserhalb der strings.xml
- invalides Layout
- unbenutzte Ressourcen allgemein wie Bilder etc.
- Accessibility Probleme: fehlende Bildbeschreibungen
- unperformante Layout-Konstruktionen
- fehlende Bilder in bestimmten Auflösungen (hdpi, mdpi, ldpi)
Tipps – Projekt startet nicht mehr
Lint kann so konfiguriert werden, dass bestimmte Fehler, wie z.B. fehlende Übersetzungen als Fehler(Error) gewertet werden. Die Konsequenz ist, dass der Compiler die App nicht kompiliert. Dies kann umgegangen werden oder noch verschärft werden über die Lint Einstellungen unter: Window/Preferences/Android/Lint Error Checking. Dort kann die Severity (deutsch: Strenge, Schwere) einer Fehlermeldung eingestellt werden.
Bspw. ist eine „Missing Translation“ am Anfang des Entwicklungsprozesses kein notwendiger Error, kann also auf Warning gesetzt werden.
Um sich beim Testen die Datenbank seiner Android Test-App anzuschauen auf dem Test-Handy benötigt man Root-Rechte, ansonsten ist der Ordner data/data auf dem Handy nicht ansehbar. Dazu kann man das Programm SuperOneClick downloaden. Hier ist ein gutes Tutorial zum Rooten des Devices.
Danach kann man mit Eclipse mit dem Plug-in CellObject DevTools mit einer optischen Oberfläche wie in dem Video beschrieben über DDMS auf die Datenbank des Test-Device zugreifen. Für 9$ über Paypal und eine Registrierung kann man sich das Tool CellObject DevTools downloaden.
Mit CellObject DevTools kann man sowohl die SQLite Datenbank auf dem Device als auch die Datenbank im Simulator optisch darstellen lassen in Eclipse.
Nach dem Download einfach in den eclipse/plugin Ordner entpacken und Eclipse neustarten.
Um in Eclipse die passenden Source Dateien zu installieren und einsehen zu können, müssen seit neustem nur ein paar kleine Schritte durchgeführt werden. Es ist keine aufwendige git Rumfurwerkerei nötig.
Wenn die Android Source Dateien nicht installiert sind, wird die folgende Fehlermeldung angezeigt.
Class File Editor Source not found The jar file classes.jar has no source attachment. You can attach the source by clicking the Attach Source below:
Lösung:
Android Sources installieren
In Eclipse: Help ->Install New Software öffnen und die update Seite hinzufügen http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/
und die Installation durchführen.
Source Folder in Eclipse hinzufügen
Die installierten Source Dateien liegen jetzt in eclipse\plugins\com.android.ide.eclipse.source_xxxxxxx und können via select from file ausgewählt werden. Dabei muss die sources.zip aus dem Ordner der verwendeten Android Version (z.B: Ordner „4“ für Android 1.6) ausgewählt werden.
Für die Android Entwicklung unter Windoes sollte bevorzugt Eclipse als IDE benutzt werden, weil Netbeans doch einige Probleme in der Vergangenheit mit dem Andorid SDK hatte.
Installation von Eclipse
- Download von Eclipse (Eclipse IDE for Java Developers)
- entpacken des Archivs. Dabei ist darauf zu achten, dies nicht in das Programm-Verzeichnis von Windoes zu tun, weil dort die Schreibrechte Probleme machen bei der Installation des ADT Plugins
- Installation von Java Runtime Enviroment
- starten der eclipse.exe und es läuft (ohne Installation)
- Testprojekt anlegen und ausführen: Bsp: main.java:
public class main { public static void main(String[] args) { System.out.println("Hello word"); } }
erste iPhone App im App Store
Am Samstag war es soweit, meine erste App hat es in den App Store geschafft: CD Ankauf ZeeDee.
Der Warteprozess auf Aufnahme in den App Store und das Testen durch Apple gingen ziemlich schnell: Montag abend habe ich die App mit dem Application Loader hochgeladen, am Freitag kam die Nachricht, dass jetzt getestet wird und am Samstag früh wurde die App in den App Store gestellt. Meine App Store Wartezeit betrug also nur ca. 5 Tage, was absolut ok ist.
Zur App: Ich muss nicht sagen, dass diese App alle Apps revolutionieren wird und alle anderen Apps überflüssig macht. In Zukunft brauch man nur noch die CD Ankauf App und der Rest kann weg. Dadurch entfällt nerviges rumwischen auf dem Display um auf seine letzte App Auswahl Seite zu gelangen. 🙂
Nach Veröffentlichung meiner ersten App Cd Ankauf ZeeDee, wollte ich mir die App zum Tracken der App Verkäufe/Downloads downloaden: iTunes Connect Mobile.
Dabei hat ich das Problem, dass ich Sie im App Store auf meinem iPhone nicht finden konnte:
Der Ausweg war, über mein iTunes auf dem PC/MAC die App zu suchen, wo ich sie finden konnte und von dort aus zu installieren. Einfach iPhone anschließen, in iTunes auf „Gratis App“ klicken und danach synchronisieren, falls nötig.
Die hochzuladene .app Datei befindet sich im Ordner Projekt-Name/Build/foo.app. Diese muss gezippt werden und wird dann akzeptiert vom Loader. Um vorab zu testen, welche Probleme es gibt, sollte man Button links oben, einstellen: Active Configuration->Release. Der Button ist derselbe, bei dem man auch zwischen Simulator und Device wechseln kann.
Wenn meine seine App für Apple bereitstellt zum Testen und zum ersten Mal mit dem Application Loader hochlädt, kann es zu folgenden Problemen kommen:
application executable is missing a required architecture At least one of the following architecture(s) must be present: armv6
Dieser Fehler kann nur mit einem Versionswechsel des Application Loaders verhindert werden. Wer Version 1.4.1 hat sollte sich 1.4 oder Application Loader 1.3 installieren.
An dieser stellen fängt Apple auch gleich an zu rummeckern, dass das Icon in 57×57 Pixel groß und als png vorliegen muss. Der Sinn entzieht sich total, weil Icons in der Größe auf dem iPad und iPhone4 richtig pixelig aussehen. Deswegen ist zu empfehlen mehrer Icons anzulegen in den folgenden Größen:
57×57 (iPhone), 114×114 (iPhone4), 72×72 (iPad) und 512×512 (wer weiss, was noch kommt)
Wenn ihr eine App programmiert habt und das gute Stück in den App Store uploaden wollt für die ganze Welt,müsst ihr euch einem Account vom Apple Developer Programm besorgen. Dieser kostet 99$ pro Jahr und es sollte beachtet werden, dass Apple die App aus dem App Store schmeist, wenn der Account nicht bezahlt wird jährlich.
Die App muss danach auf ITunes Connect registriert werden:
- App Name: wird nur im App Store angezeigt.
- SKU Number: selbst ausgedachte ID für die App
- Bundle ID: im apple developer center zu erstellen
- App Beschreibung Plain ohne HTML (max 4000 Bytes)
- Keywords für die Suche, sehr wichtig. Tipp: von Google Analytics Keywords inspirieren lassen (max 100 Bytes, entspricht ca. 10 Keywords)
- 2 Kategorien, von 20 möglichen, in denen die App erscheinen soll z.B: Lifestyle oder Utilities
- eine Support Webseite und/oder eine allgemeine Webseite über die App (beides optional)
- Screenshots der App, die im App Store angezeigt werden sollen. vom iPhone und/oder iPad
- ein Logo für den App Store in 512×512 Pixel und mindestens 72dpi
Der App Code kann konfortabel mit dem Xcode Application Loader (/Developer/Applications/Utilities/Application Loader.app) hochgeladen werden.
Bei Problemen lesen Sie Xcode Application Loader