Beiträge von starsky128

    Die ApplicationData Klasse funktioniert im Prinzip auch nur wie ein Singleton, also so wie whitenexx es auch schon vorgeschlagen hatte.



    Code
    app = (ApplicationData) getApplication();

    sorgt dafür, dass sich alle "app", oder wie du es nennen möchtest auf das gleiche, einzige ApplicationData Object beziehen.
    Es sind also alle Daten die du da reinschreibst während der Laufzeit aus jeder anderen Activity verfügbar.

    Um auf Daten zuzugreifen, auf die ich aus mehreren Activities zugreifen möchte gehe ich normalerweise folgendermaßen vor:


    - Ich erstelle eine Klasse die von "Application" erbt und die alle benötigten Variablen als private deklariert. Um darauf zuzugreifen benutze ich dann die jeweiligen öffentlichen getter und setter Methoden.

    Code
    public class ApplicationData extends Application {
         ...
    }


    - In Activity XY kann ich jetzt über ein Object der Klasse ApplicationData auf alles zugreifen.


    Halte ich für sauberer als die Nutzung von static variablen und die Gefahr sich zu verhaspeln ist wesentlich geringer.

    Ein eigenes Backend in Verbindung mit einem User-Account fände ich am schönsten, allerdings lohnt sich das finanziell kaum, da ich Traffic und Webspace irgendwie finanzieren muss und mit den mickrigen Werbeeinnahmen ist das unmöglich. Würde ich die reinen Tripdaten austauschen, wäre das kein Problem... aber ohne Bilder machts keinen Spaß ;)


    Also bleiben noch:
    - Google Drive/Dropbox Anbindung - Die Tripdaten werden dann einfach komprimiert mit Bildern auf den eigenen Cloudspeicher geladen und können von dort wieder importiert werde
    - Android Beam/NFC Sharing zwischen mehreren Devices oder auch Bluetooth (wobei NFC in der Praxis schneller ist)
    - Deine vorgeschlagene WLAN Methode finde ich auch gut, hab dazu gerade aber nur das hier entdeckt http://developer.android.com/g…connectivity/wifip2p.html
    also ohne AccessPoint, sonder via AdHoc Netzwerk. Hast du sowas schonmal implementiert mit Datenaustausch über das gemeinsame WLAN? Stelle ich mir komfortabler vor, als eine p2p Verbindung aufbauen zu müssen.


    Werd mir mir mal ansehen müssen wie viel Aufwand das jeweils ist und dann entscheiden wie ich es mache.

    So, ich hab endlich wieder etwas Zeit gefunden und ein paar Deiner Vorschläge umgesetzt :

    - Als erstes würde es mir gefallen wenn du eine Info einbaust das GPS aktiviert sein muss für die Standortbestimmung.
    - Orte sollten auch durch manuelle Eingabe bestimmt werden können.
    - wenn man in der Reiseübersicht die trips sieht, sollte man durch einen longclick auch den namen eines trips ändern können.

    Da ich auch schon Anfragen zur manuellen Eingabe per E-Mail bekommen habe, habe ich mich dazu entschieden, das Update jetzt schon zu releasen.


    Als nächstes wären dann CSV Export und mehrere Notizen dran, langfristig will ich auch noch einen Austausch von Daten zwischen mehreren Geräten (z.B. unterwegs mit dem Smartphone loggen, zu Hause dann auf dem Tablet alles ansehen) und eine Art Präsentations-Modus implementieren.


    Hoffe es gefällt :)

    Werd mal schauen, womit man vernünftig arbeiten kann.


    Ich hab mich ehrlich gesagt an gar keiner anderen App orientiert und kann auf die Schnelle auf keine App namens Travel Stream finden.
    Hast du einen Link?


    Logisch aber, dass es einige Apps gibt, die auf der gleichen Grundidee basieren, bzw. das gleiche tun. Da die meisten nicht 100%ig meinen persönlichen Ansprüchen genügt haben und ich eh ein wenig privat entwickeln wollte, hab ich mir selbst eine gebaut. ;)

    Super Feedback, danke nochmal!


    - Die Standortbestimmung funktioniert neben GPS auch per WLAN oder dem Funknetz, aber du hast Recht. GPS ist wesentlich genauer und wird bessere Ergebnisse liefern, werde in der nächsten Version einen Hinweis einbauen.
    - Die übrigen Punkte finde ich auch sehr gut, werde mir was einfallen lassen. :)


    Bzgl. Exportfunktion bin ich schon länger am grübeln. Am einfachsten wäre es, die Reisedaten als JSON oder CSV auszugeben, allerdings kann der Durchschnitts-User damit wohl nicht viel anfangen. Wichtig wäre mir vor allem eine Funktion, um auf Reisen gesammelte Daten auf ein anderes Gerät zu übertragen, damit ich mir z.B. daheim auf dem Tablet alles in Groß anschauen kann.
    Vielleicht wäre ein einfaches webbasiertes Backend die Lösung (allerdings optional für den Nutzer, finde nichts schlimmer als in Apps zur Registrierung gezwungen zu werden..)

    Hallo Zusammen :)


    Ich möchte euch meine App vorstellen: Triploggr ist ein Reisetagebuch bzw. -logbuch, mit dessen Hilfe man Reisen mit Orten, Bildern und Notizen festhalten kann.


    Da ein Bild bekanntlich mehr als tausend Worte sagt, hier der Link ;)
    https://play.google.com/store/….schuttundunrat.triploggr


    Entwickelt habe ich die App vor allem aus persönlichem Interesse, da ich sehr gerne reise und mir bislang vor allem handschriftliche Notizen über die besuchten Orte gemacht habe. Auf meiner letzten großen Reise im März war die App dann soweit, dass ich sie in Aktion testen und letzte Fehler beseitigen konnte.


    Ich hoffe sie gefällt euch und ich freue mich natürlich auch über Feedback und konstruktive Kritik. :)

    Hallo Leute,


    Ich habe bereits mit Hilfe der AndEngine ein Geschicklichkeitsspiel programmiert, bei dem man Spielsteine auswählen, und in einem Gitternetz frei platzieren kann. Allerdings bin ich mit der Engine und dem Ergebnis absolut nicht zufrieden und würde das ganze viel lieber nochmal mit nativen Android Layoutelementen programmieren.


    Sprich: Scrollviews, in denen ich die verschiedenen Steine (modifizierte Imageviews) zu Beginn platziere, aus denen ich diese dann per Drag&Drop herausziehen und platzieren kann. Landen die Steine im Spielfeld, so sollen sie in dieses einrasten.


    Gibt es irgendeine Möglichkeit, Objekte absolut zu positionieren? Oder anders gefragt, gibt es eine Möglichkeit Spiele mit bewegten Objekten zu entwickeln, ohne komplett auf Customviews zeichnen zu müssen und damit auf Touchevents verzichten zu müssen? Außerdem würde ich gerne besagte Scrollviews nutzen können..


    Freue mich über jede Anregung :)


    Danke!

    Hab ich mir angeschaut und auch versucht umzusetzen, hat alles nicht geholfen :-/ Irgendwo stimmt was nicht, wenn ich bloß wüsste was..



    edit:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    dieses video ist sehr hilfreich!


    habe im manifest die Option android:largeHeap="true" hinzugefügt, seither keine Abstürze mehr :) Das löst das eigentliche Problem zwar noch nicht, jedoch zumindest mal die Symptome und es macht meine App nutzbar ohne dauer Abstürze ertragen zu müssen. Werde mir jetzt mal den Rest anschauen, in der Hoffnung das Problem beim Kragen zu packen ;)

    titus: Deine Vermutung bewahrheitet sich leider ;)


    Stefan: nichts dergleichen..



    Ich habe gerade festgestellt, dass ich nichtmal in den anderen Activities gewesen sein muss, damit der Fehler auftritt.
    Es reicht wenn ich ein Bild wähle, danach ein neues Bild wähle und dann wieder.. spätestens beim drittel mal gibts einen OutOfMemoryError.
    Dabei wird das Bild jedes mal in die gleiche Bitmap geladen, also überschrieben.



    Ich zeig mal hier einpaar Code Beispiele, vielleicht ist meine Vorgehensweise auch einfach schlecht?


    Der User kann über verschiedene Buttons entweder über Galerie oder Kamera ein Bild wählen.
    In der onActivityResult für die Kamera siehts so aus:

    Java
    b = generateBitmap(IMG_TEMP_PATH,SCREEN_HEIGHT,SCREEN_WIDTH); 
    
    
    // b=Bitmap
    // generateBitmap nimmt das von der Kamera geschossene Bild (liegt im Standardpfad IMG_TEMP_PATH) und skaliert es auf Bildschirmgröße
    
    
     new SaveImageTask().execute(); // dazu gleich mehr


    Für die Gallerie sieht es so aus:








    Ich hoffe man kann folgen ;)

    Hallo Leute,


    ich hänge schon länger an einem Problem, das mir mittlerweile Kopfschmerzen bereitet.
    In meiner App ist es in einer Activity möglich ein Bild entweder aus der Gallerie auszuwählen oder per Kamera ein neues aufzunehmen. Das Foto wird auf Bildschirmgröße skaliert und in einem festen Ordner gespeichert. Zusätzlich wird es noch in einem kleinen Vorschau-ImageView angezeigt. Der Nutzer kann noch diverse Einstellungen tätigen und dann per Klick auf "fertig" zur nächsten Activity wechseln, in der das Bild geladen wird und als Hintergrundbild der gesamten Activity angezeigt wird. Daneben gibt es noch eine weitere Activity, die das gewählt Bild ebenfalls als Hintergrund anzeigt.


    Am Anfang hatte ich noch alle paar klicks einen OutOfMemory Error, da Bilder jeder Größe geladen wurden und nicht skaliert wurden, das habe ich mittlerweile behoben.


    Trotzdem bekomme ich, nachdem ich in allen Activities unterwegs war und in der ersten wieder ein neues Hintergrundbild wählen möchte, immer wieder einen OutOfMemoryError.


    Jetzt meine Frage: Kann es sein, dass die Activities die Bilder jeweils in den Speicher laden aber beim Verlassen nicht mehr freigeben? Das wäre meine einzige Erklärung, da es beim ersten Versuch immer klappt. Erst wenn ich die App eine Weile nutze, kommt der Fehler.


    Mein Ansatz war, das Bitmap nach dem Zuweisen zum imageView auf null zu setzen, um dem Garbage Collector zu signalisieren, dass er aufräumen darf, das scheint aber nichts zu bringen.


    Ich habe die Exceptions abgefangen, damit die App nicht abstürzt. Wenn ich jetzt minimiere und den Cache der Anwendung leere, geht alles wieder.
    Gibt es eine Möglichkeit den Cache der App während der Laufzeit zu leeren?


    Ich hoffe, das Problem ausreichend erklärt zu haben ;)
    Vielleicht kann ja jemand helfen, würde mich sehr freuen!

    Hat sich erledigt :)


    Habe eine Liste, die die beiden NodeLists enthält zurückgegeben und kann diese dann in meiner Activity wieder aufrufen :)


    Java
    List<NodeList> liste = new DownloadXMLTask().execute(wikiAdresse).get();
        			 titel = liste.get(0);
    				 articleURL = liste.get(1);



    funktioniert so wunderbar :)

    Hallo Leute, ich bin gerade halb am verzweifeln und hoffe jemand kann mir helfen :)


    Ich möchte über eine URL, an die ich GPS Koordinaten übergebe, ein XML bekommen und dieses Parsen.


    Das ganze läuft als Konsolenanwendung einwandfrei, hier mal der Code:



    Um das allerdings in Android umzusetzen muss ich AsyncTasks verwenden um keine NetworkOnMainThread Exception zu bekommen.
    Leider werde ich aus der Doku nicht so schlau :(



    Hier ist mal mein Ansatz, bei dem leider aber garnichts passiert:



    Kann ich irgendwie die NodeLists zurückgeben und aus meiner Activity Klasse darauf zugreifen?



    Würde mich sehr freuen wenn jemand helfen kann :)


    Danke & Viele Grüße!

    Habe eine Lösung gefunden :)


    Java
    BitmapDrawable drawable = (BitmapDrawable) bildvorschau.getDrawable();
    	       	Bitmap bmp = drawable.getBitmap();
    	       	
    	       	
    	       	try {
    	           	FileOutputStream out = new FileOutputStream("pfad.../bild.jpg");
    	           	bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
    	    	} catch (Exception e) {
    	           	e.printStackTrace();
    	    	}

    Hallo,


    Ich habe folgendes vor:
    Der Benutzer soll die Wahl haben, ein Hintergrundbild für eine Activity selber zu machen oder ein vorhandenes auszuwählen.


    Das gewählte Bild soll im ordner "DCIM/MeineApp/temp" landen und den titel "IMG_temp" erhalten.
    Bei dem selbstgemachten Bild ist das auch kein Problem und funktioniert soweit einwandfrei.


    Allerdings soll, im Falle dass der User ein vorhandenes Bild auswählt, eine Kopie davon in eben diesem Ordner unter diesem Namen erstellt werden.
    Gibt es eine Möglichkeit den Inhalt des Bildvorschau ImageViews zu speichern? Oder anhand der Uri von gewähltem Bild eine Kopie zu erstellen?



    Danke & Viele Grüße


    Methode zum Bild auswählen:

    Java
    public void oeffnen(View view){
     	
        	Intent intent = new Intent();
        	intent.setType("image/*");
        	intent.setAction(Intent.ACTION_GET_CONTENT);
        	startActivityForResult(Intent.createChooser(intent,
                	"Select Picture"), SELECT_PICTURE);
    
    
    }


    Auszug aus der onActivityResult Methode.

    Java
    if (requestCode == SELECT_PICTURE) {
    			
    	       	imageUri = data.getData();
    	       	bildvorschau.setImageURI(imageUri);
    				Toast.makeText(this, "Uri:" + imageUri, Toast.LENGTH_SHORT).show();
    
    
     	
    	}

    Also, wie sich rausgestellt hat, ist mCamera = null.


    Der Fehler scheint (wieder in meiner Hauptactivity) hier zu liegen:


    Java
    mPreview = new CameraPreview(this, mCamera);
    	    	FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
    	    	preview.addView(mPreview);
    	    	
    	    	mPreviewFront = new CameraPreview(this, mCameraFront); //<------------------------- hier glaube ich
    	    	FrameLayout previewFront = (FrameLayout) findViewById(R.id.camera_preview_front);
    	    	previewFront.addView(mPreviewFront);


    Wenn ich 2 Kamera Objekte anlege und öffne, dann gibt es noch keine Fehler.

    Java
    camFront = Camera.open(1);
    camBack = Camera.open(0);


    Erst wenn ich dem Preview Fenster die Kamera zuweise, wie oben gezeigt, wird sie null..
    Danke aber schonmal für die Tipps zur Fehlersuche :)

    Ich poste hier einfach mal die Klasse (mehr oder weniger 1:1 aus der Android Camera API Doku entnommen).
    Der Fehler taucht in der surfaceCreated Methode auf, Zeile 32 ist hier 21: mCamera.setPreviewDisplay(holder);



    CameraPreview Klasse




    Mit einer Kamera geht alles wunderbar, bloß wenn ich versuche eine zweite zu starten bekomme ich Probleme :(


    Danke und Grüße