Beiträge von CdWechsler

    Zitat

    Ich hoffe du weißt auch, warum du das gemacht hast (hast es also nicht nur gemacht, weil ich es vorgeschlagen habe) :)

    Ne ne, nicht weil du vorgeschlagen hast. hab es verstanden. ehlich gesagt frage ich mich jetzt, wie ich diesen fehler überhaupt machen konnte!? ?(

    Zitat

    Den Dialog dazu hattest du doch bereits erstellt, oder habe ich das falsch gesehen?

    Jup, habe ich ;)

    ok, das prolbem mit dem nullpointer ist vorübergehend weg. (puhh.... man man)


    habe die populate methode in die onResume methode des fragments SChuldner gepackt und in der methode folgendes geändert:


    getActivity().startManagingCursor(cursor = mainActivity.myDBHandler.getAllRows());


    Zumindestens stürzt die app nicht ab und wird normal ausgefürht. da ich momentan noch keine einträge in der db habe werde ich diese erstmal füllen müssen, ob die listview dann auch dementsprechend mit den werten geladen wird.


    Danke and.dev für die Hilfsbereitschaft ;)

    Zitat

    Dann wird deine populate... Funktion entweder vor dem onAttach() ausgeführt

    Ich denke eher das es daran liegt. Leider fällt mir nichts mehr ein was ich dagegen noch tun kann. Hab es auch schon mit interfaces versucht. Nun es kann sein, dass ich etwas kompliziert die sache angege und dass meine vorgehensweise nicht so praktisch und vom codestyle her nicht so effizient und gut ist. Wie könnte man denn sonst vorgehen, dass wenn die app startet die listview automatisch gefüllt und angezeigt wird!? In anbetracht mit fragments natürlich.

    Zitat

    Die Extrafunktion hast du erstellt, damit du nur ein zentrales deprecated bekommst?

    Das habe ich nicht verstanden. Was genau meinst du?

    Zitat

    demnach wird entweder myDBHandler oder mainActivity null sein; ob das
    casten von getActivity() auf eine bestimmte Klasse so Java-Like ist,
    weiss ich ja jetzt nicht...

    Ja ich vermutete auch, dass myDBHandler oder mainActivity null ist. um das zu prüfen habe ich folgendes gemacht. im nachhinein in die Klasse Schuldner eine MainActivity Referenz initialisiert, damit z.b auf die methoden der mainActivity zugegriffen werden kann um keine nullpointerExcept. zu bekommen.

    Code
    @Override
    	public void onAttach(Activity activity) {
    		super.onAttach(activity);
    		 try {
    	        	mainActivity = (MainActivity) activity;
    	    	} catch (ClassCastException e) {
    	        	throw new ClassCastException(activity.toString() + "Fehler: Keine MainActvity-Instanz!");
    	    	}
    	}


    habe dann in der MainActivity eine Methode erstellt, welches einen einfachen String-wert zurückgibt.

    Code
    public String test() {
    		testString = "Test!";
    		return testString;
    	}


    In der Klasse Schuldner die Zeile 109 auskommentiert und eine zeile danach in Zeile 110
    Log.e("***TEST***", "" + mainActivity.test()); eingegeben um zu testen ob es halt an der MainActivity liegt.


    Ergebnis: die gleiche nullpointerException-Fehlermeldung in zeile 110. Also kann man davon ausgehen das mainActivity null ist.


    Aber wie kann das sein??? Ich habe ja in der onAttach() Methode eine MainActivity Referenz initialisiert. EIgentlich müsste mainactivity gar nicht null sein. verstehe das nicht... :-/

    Zitat

    Ich verwende für meine Datenbank-Helper eine Klasse mit statischen Members, da ergibt sich diese Problematik gar nicht.

    Kannste ein biespiel geben? O:-)

    Zitat

    Natürlich, anderenfalls würde man dir hier nicht helfen können, schätze ich ;)

    danke :)


    Zitat

    Du schließt den Cursor und fragst ihn anschließend nach getCount() - das war nicht dein Plan, oder?

    Also ich habe es auch so versucht

    Code
    ...
        	int count = cursor.getCount();
        	cursor.close();
        	db.close();
       	return count;


    auch so bekomme ich den gleichen fehler. Aber das habe ich nur zum testen gemacht, weil mein eigentlicher fehler was anderes war.
    eigentlich wollte ich, dass wenn ich die App starte, die werte aus der db in die listview eingesetzt werden (das war mein ziel). Sry habe es vergessen mitzuteilen. :-[


    in der klasse Mainactivity -> openDB() wird ja ein objekt der klasse DataBaseHandler erstellt und geöffnet. Danach wird die methode populateListViewFromDB() der Klasse Schuldner ausgeführt, welche die einträge aus der db in die listview eintragen soll. Da habe ich nun (dank dir) bemerkt, dass ich in dieser populateListViewFromDB() methode einen cursor anlege und dann in der mainactivity.cursorManaging() methode gleich noch einen weiteren cursor anlege (das ist doch doppelt gemoppelt oder nicht!?).


    ich habe das es nun so geändert:


    und in der MainActivity:


    Code
    ....
    public void cursorManaging() {
    	    startManagingCursor(fr_schuldner.cursor = myDBHandler.getAllRows());
    	}


    Jetzt bekomme ich nämlich den Fehler, was ich eigentlich von anfang an bekommen hatte.



    In der Zeile 109 steht: cursor = mainActivity.myDBHandler.getAllRows();


    Ich dachte am Anfang das die DB leer ist bzw. das generell kein zugriff auf die db erfolgt oder so (keine ahnung). Daher wollte ich mit dem getCount checken, ob meine vermutungen richtig waren. hmm....

    Nee, ich denke schon das ich die werte in die richtigen spalten zugewiesen habe. Ich denke eher das der fehler beim auslesen der daten aus dem Arraylist<hashmap> lag. Bin mir auch nicht sicher und ehrlich gesagt wurde es mir zu kompliziert (obwohl das eigentlich ja nicht so schwer ist) und war am ende nur noch durcheinander. Jetzt mache ich es ohne irgendwelche Arraylist<hashmap>.
    Zum Fehler:
    Finden aus dem logcat ist nicht das problem, aber warum die angegebene zeile aus dem logcat ein fehler ist, das ist ja der knackpunkt, weil ich der meinung bin das ich alles richtig gemacht habe und komme einfach nicht auf die lösung.


    Ich poste das mal kurz wenn es ok ist:


    Mein MainActivity:


    Fragment Schuldner


    und die DataBaseHandler KLasse:


    die logcat:



    dort steht "attempt to re-open an already-closed.. ", was ich auch nicht verstehe. wenn die app abstürtzt oder normal beendet wird, wird die db geschlossen. beim ausführen der app sollte die db sich im geöffneten zustand wieder befinden. Verwirrung pur! ?(

    Hallo and.dev,


    erstmal danke für deine antwort. Das mit den berechtigungen habe ich jetzt nicht gewusst (gut zu wissen).


    Nun wie gesagt, arbeite ich mich gerade in sqlite ein und wollte halt nur nach den tutorials und bücher halten. Da wurde es auch gezeigt und wollte es dementsprechend auch hineinschauen, ob und wie die db angelegt wird. So wichtig ist das eigentlich nicht.


    Und ja die App läuft leider nicht, so wie ich es mir vorstelle. :-[ :-/
    Am anfang habe ich mit hashmaps gearbeitet, die ich dann in eine arraylist reingepackt habe und diese durch einen simpleAdapter auslesen wollte (die werte aus den spalten sind für ein custom listview gedacht). komischerweise wurden die anders zugeordnet, als ich die app ausgeführt habe. Habe dann in der log die zeilen ausgeben lassen und auch da waren die voll durcheinander. ?(


    Ich habe jetzt vieles geändert und bin mir sicher das ich es fast geschafft habe. jedoch bekomme ich mysteriöserweise eine nullpointerException.

    Hallo Leute,


    ich arbeite mich gerade in sqLite ein. habe ein demo projekt runtergeladen und in eclipse importiert, welches ich stückweise abarbeite. jedoch wird die datenbank nicht im ddms -> file expl. -> data -> data angezeigt bzw. werden zudem auch nicht die projekt folder gelistet.


    was müsste ich tun oder wo liegt der fehler?


    Hier ein screenshot:

    HTML
    http://s7.directupload.net/file/d/3482/qk6r4idt_jpg.htm

    Ist das möglich, wenn ich z.b. einen edittext habe welches geldbeträge anzeigen soll, das die user nur zwei weitere zahlen nach dem komma eingeben können? Also anstatt 3,384347 EUro sollen nur 3,38 Euro eingeben werden können. Das mit dem auf und abrunden ist mir bewusst, aber was ich will ist, das die eingabe selbst korrekt sein soll. Oder sollte man mit zwei edittexts arbeiten?
    Also "Edittext","Edittext". Wobei der zweite halt nur zahlen mit 99 annimmt.


    grüße

    Hallo liebe community,


    ich henge an einem.... naja ich denke schon simplen problem, welches ich einfach zu dumm bin es zu lösen. Bin bereits seit heute morgen dabei und komme da einfach nicht weiter. Jetzt bitte ich doch um eure professionelle meinung.


    ALso ich arbeite gerade an einer App die zwei fragmente beinhaltet, sozusagen zwei sichten für die nutzer bietet.


    Code
    public class MainActivity extends FragmentActivity implements ActionBar.TabListener ....


    Auf einem Fragment (also mit der Klasse public class Fragment_A extends Fragment) soll eine Custom ListView angezeigt werden. Eine Einzelne Zeile der ListView beinhaltet eine imageView und zwei Textviews. so wie in diesem tutorial:

    HTML
    http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/


    die einträge in die Listview allerdings erfolgt über einen button welches ein Dialogbox aufruft und den nutzer die eingabemöglichkeiten für die Textviews bietet.
    Beispiel: Dialogbox wird geöffnet- Nutzer kann name und Alter eintragen und schließlich auf Ok-Button klicken.


    Die eingegebenen Daten sollen dann halt in der Liste nacheinander angezeigt werden. Das optische habe ich zwar dank des tutorials hinbekommen, jedoch wenn ich einen eintrag gemacht habe und einen neuen machen möchte, wird der alte durch den neuen ersetzt anstatt alles schön untereinander zu reihen.


    Also wenn ich ohne diesen custom view bzw. custom view-adapter arbeite dann klappt das.


    so sieht die fragment klasse aus:



    und der Adapter für die ListView



    wo mache ich hier den fehler?? Wäre super korrekt wenn ihr mir weiter helfen könntet. :-[ ?(

    Hallo Lucas,


    danke für deine Antwort.


    Hmm... ich verstehe, ok. Aber welche größen sollten denn nun die Bilder in den jeweiligen Ordner haben? Wenn ich das jetzt auf 2048 pixel verkleinere, dann wäre das für das LG-Gerät auch geregelt. Was, wenn die 2048 Pixel aber für andere Geräte zu groß wäre? Ich möchte ja soviele geräte abdecken wie möglich. Wie sollte man da vorgehen?

    Hallo leute,


    also irgendwie verstehe ich nicht soo ganz den Umgang mit den verschiedenen drawable-ordnern. Ehrlich gesagt habe ich verständnisprobleme und mein englisch ist auch nicht so der knüller sodass ich den Inhalt dieses Links:

    HTML
    http://developer.android.com/guide/practices/screens_support.html

    checke.


    Also was ich verstanden hab ist, wenn man icon verwenden möchte, sollte man verschiedene auflösungen in die separaten ordner packen. Für die Performance wäre das ja besser, ansonsten müsste das System, wenn man nur ein icon in eines der drawable-ordner hat, diesen dementsprechend skalieren, was die qualität dementsprechend beeinflussen würde. So weit richtig??


    Wie sieht das denn mit normalen .jpg's aus? Also keine icons. Inzwischen gibt es nun 5 drawable-ordner wenn man ein neues projekt anlegt: ldpi-mdpi-hdpi-xhdpi-xxhdpi.
    Ich habe diesen thread ja deswegen geöffnet, weil ich mit der darstellung einiger .jpg's probleme hatte. Nun, ich ich habe zwar gepostet, das es geregelt ist, aber was ich getan habe ist nur, diese in eines der jeweligen drawable-ordner zu packen. Dann ging es. Um es klarer für euch zu schildern, ich habe 5 bilder mit den jeweiligen Auflösungen: 860x1924, 859x2700, 859x2228, 859x1807 und 859x739.
    Zu beginn hatte ich diese bilder nur im drawable-hdpi ordner abgelegt und hatte vor diese über eine imageview anzuzeigen. Das Layout, indem die imageview enthalten ist, habe ich mit einer horizontalen und vertikalen scrollview erweitert, damit die Bilder in der originalen größe gut lesbar sind. So, getestet habe ich es dann auf der S2, die Bilder wurden geladen und ich konnte problemlos diese nach rechts-links-oben-unten scrollen, um den restlichen Inhalt zu sehen. Wie im 1. post bereits gesagt, hat das auf dem LG optimus p880 nicht funktioniert (nur das bild mit 859x739 pixel wurde angezeigt, der rest nicht). Meldung war dementsprechend "Bitmap too large to be uploaded into a texture...". Dann habe ich diese dann in den xhdpi ordner abgelegt und es wurden dann alle bilder auf dem LG angezeigt. Aber die großen bilder konnte man dann nicht zu den seiten scrollen (nur nach unten-oben) bzw. wurden diese halt etwas kleiner angezeigt. Dadurch wurden diese nicht mehr so gut leserlich. Was ich mich frage ist jetzt, sollte/müsste ich die bilder auch in verschiedenen Auflösungen in den separaten ordnern bereitstellen (sowie bei den icons)? Bis min/max. welcher größe sollten die Bilder in den jeweiligen ordnern sein? Von der Breite her sind meine ja max. 860pixel groß. Nur die länge varriiert halt. Und das wollte ich halt mit dem Scrollview umgehen, was ja leider net gefunzt hat :(


    Was genau passiert in mit den Bildern in den verschiednen drawalbe ordner? Werden dei vergrößert /verkleinert??
    Der oben gepostete Link enthält bestimmt meine verlangten antworten, aber wie gesagt, finde ich die quelle ziemlich unübersichtlich, zu viele zahlen und viele bezeichnungen (dpi, dp.....). Ich verstehe echt nur bahnhof. Könntet ihr mir das so leicht und verständlich wie möglich erklären? Das wäre echt super korrekt. :-[
    Was ich will ist nur, bilder in hoher auflösung für jedes android-gerät anzuzeigen.

    Hallo Leute,


    ich arbeite gerade an einer App, die auch Bilder anzeigt. Auf der Galaxy S2 wurden diese auch angezeigt, auf dem LG Optimus P880 (welches eine bessere Auflösung hat) bekomme ich im LogCat die Meldung:


    08-28 14:18:10.023: W/OpenGLRenderer(20744): Bitmap too large to be uploaded into a texture (1147x2565, max=2048x2048)


    Den Layout habe ich so geschrieben, so dass man bei den Bildern nach rechts-links und nach oben-unten scrollen kann, damit die Texte gut lesbar erscheinen. Wie kann man dieses Problem denn umgehen, so dass es auf allen endgeräten läuft? Muss ich die Bilder verkleinern oder kann man programmiertechnisch was anpassen?


    Danke im Voraus

    hallo khh,


    du hattest doch auch ein thread bezüglich google maps v2 geöffnet und geschrieben, das der punkt beim fahren nicht hinterherkommt. Genau das ist mein problem. hast du das lösen können, sodass der punkt/pfeil beim fahren stets im zentrum der karte angezeigt wird? Falls ja, kannste uns dein lösungsweg zeigen? :-[

    Hallo Lucas de VIl,


    ja bei mir macht samsung auch komische faxen, was z.B. beim lg oder htc nicht der fall ist. Dabei habe ich auch zwischen dem s2 und s3 getestet mit den neuesten android-versionen, resultat das gleiche. Das gps wird auch schwer empfangen, manchmal steht der pfeil (also beim fahren) auch um einige meter neben der straße usw.


    Was mich allerdings stutzig macht ist, warum der pfeil nicht stets in der mitte gehalten wird!? :(


    die map wird immer bewegt aber der pfeil nicht . Der springt nach 3-4 sekunden dann in die mitte. Habe ich das falsch gemacht??



    bei der googlemaps-app spielt der pfeil auch ab und zu mal nicht so richtig (steht auch paar meter daneben dem tatsächlichem standort). Aber der wird stets in der mitte gehalten und läuft flüssig.