Beiträge von Temar

    Zitat von denibaby


    noch ne frage warum soll ich das radio image auch draufspielen?? ist dies wichitg oder nur ein zusatz von bestimmten features??


    Das Radio Image ist die Firmware für die Wireless Komponenten (GSM, WLAN,...) - vereinfacht gesagt das Betriebssystem für alles was funkt. Du solltest es aufspielen, weil:


    • Es Fehler behebt.
    • Manche SPL dieses Update voraussetzen. Hast du es nicht drauf, schrottest du dein Handy, wenn du den SPL einspielst.
    Zitat von denibaby


    komm jetzt zwar noch in recovery modus aber hab kb jetzt nochmal alles auf werkseinstllungen zu machen...


    KB = Kein Bock?


    Wenn ein Image nicht bootet, dann liegt das meistens an alten Einstellungen. Von daher bleibt dir wohl nichts anderes übrig als einen Wipe zu machen. Bei einem Wipe werden nur deine persönlichen Einstellungen gelöscht, nicht aber das Image. Einfach ins Recovery booten (Home + Power) und dann "Wipe" im Menü auswählen. Da du ja eh nicht mehr booten kannst, würdest du deine persönlichen Einstellungen eh verlieren.


    Zitat


    kann ich da noch was retten ?? was hab ich denn falsch geamcht...einfach nur pech oder hab ich irgendetwas vergessen ^^
    danke schonmal =)


    Bevor du von einem Image auf ein Anderes wechselst, solltest du immer Wipen, dann gibt es solche Probleme nicht. Wenn du nur auf eine neuere Version des gleichen Images updatest, ist ein Wipe normalerweise nicht nötig.



    EDIT:
    Achja und nochwas: Der erste Bootvorgang bei einem neuen Rom kann SEHR lange dauern. Also nicht immer gleich ausschalten. Wenn nach 10 Minuten noch nichts passiert ist, dann darfst du ausschalten :)

    Zitat von denibaby


    hii finde den thread sehr hilfreich..habe jedoch ein problem!
    habe wie oben alles in telnet eingegeben und mein ahndy ausgeschlaten...
    jedoch komm ich jetzt nicht in den recovery menü ...stattdesssen kommt ein warndreieck und ein handy^^


    Das Warndreieck zeigt dir an, dass gerade ein Image geflasht wird. Dabei solltest du eigentlich nicht ausschalten - es sei denn es passiert gar nichts mehr für eine sehr lange Zeit (5-10 Minuten).


    Zitat


    dann geht abslout gar nichts mehr... muss meinen akku entfernen und dann kann ich mein hadny normal starten...
    jetzt meine frage was habe ich falsch geamcht das ich das recovery menü nicht öfnnen kann?


    Du kommst nicht ins Recovery, weil du mit dem telnet Befehl ein neues recovery image geflash hast. Da das aber nicht geklappt hat, ist jetzt auch kein Recovery Image drauf.


    Wenn dein Handy noch bootet, dann kannst du einfach nochmal "telnetd" eingeben und dann den telnet Befehl ausführen. Wenn dein Handy gar nicht mehr bootet, dann einfach nochmal das DREA Image flashen (Camera + Power).

    Zitat von Javandroid


    1. Auf phpBB wechseln


    Ich mag die Forumssoftware eigentlich sehr gerne. Davon abgesehen ist es einiges an Arbeit alle User und alle Forum-Posts auf das neue System zu portieren. Wenn man also auf ne andere Software wechselt, sollte es schon sehr gute Gründe dafür geben.


    Das einzige was mich an dem Forum wirklich stört ist, dass es keine Ansicht für Mobilgeräte hat. Ein Forum über die Programmierung von Mobilgeräten ohne eine mobile Version - irgendwie eigenartig, oder nicht?

    Zitat von Javandroid


    Und was sind die Bedingungen? Vllt. hab ich ja Interesse^^.


    Welche Bedingungen? Der Job ist ehrenamtlich und unbezahlt :)


    Ich bin in den Job auch mehr oder weniger so hineingerutscht. Da ich selbstständig bin, habe ich leider nicht so viel Zeit wie ich gerne aufwenden würde. Kommt halt immer darauf an was gerade in der Firma los ist. Das ganze wird aber recht locker gehandhabt. So lange du keinen offensichtlichen Mist baust - soll heissen, dass du z.B. User anpöbelst - gibt es keine Bedingungen oder Auflagen.

    Zitat von vermeer


    Mein Hauptproblem: Wie lade ich Daten von einem Webserver ins Android-Handy.



    Zitat von vermeer


    Mir ist aber nochwas aufgefallen:
    Würde es eigentlich nicht mehr Sinn machen, eine (statische) seite mit allen Kitewiesen für die Android-App bereit zu halten (die Seite würde sich bei Updates natürlich erneuern):
    So hätte man gar keine Datenbank bzw. Serverlast auf dem Webserver mit ausnahme dem Bereitstellen der einen Datei. Alles andere (welche der Punkte sind am nächste zu meinem aktuellen Standort) würde dann die App machen. Würde doch auch mehr dem Charakter einer App entsprechen, das andere würde ja eher in die Richtung "Mobile version der Website) gehen. Oder sehe ich das falsch?


    Das solltest du nicht machen, aus folgenden Gründen:


    • Eine Datenbank sucht Einträge wesentlich schneller und ressourcen-schonender als ein einfacher Parser.
    • Die Liste der Kitewiesen kann sehr lang sein => lange Ladezeiten.
    • Hast du eine lange Liste braucht das Verarbeiten sehr viel Speicher (und CPU) => elendig langsame App.


    Zitat von vermeer


    Foglendes Beispiel habe ich gefunden, was wohl dem Problem am nächste kommt:
    http://blogoscoped.com/archive/2007-11-19-n27.html
    Allerdings werde da die Daten nicht erst irgendwo her geholt, sondern sind im Adressbuch des Handys.


    Vergiss erstmal den Location-Part. Stell die Koordinaten in deinem Programm einfach erstmal fest ein und hol dir die Liste der Wiesen in der Umgebung von deinem Webserver. Das Ergebnis gibst du dann in einer Liste auf dem Bildschirm aus. Sobald das läuft kümmerst du dich um das Bestimmen der wirklichen Position. Zum testen reicht aber erstmal irgendeine fest eingestellte Position.

    Zitat von vermeer


    Temar: Ich sehe die ganze Sache genau anders herum: Das von Dir beschriebene Script sollte eigentlich kein Problem darstellen, erst recht nicht mit der google-maps-api.
    Dieses Script wäre also nicht das Problem, sondern der Rest...


    Dann beschreibe doch mal wo genau dein Problem ist. Das berechnen der Abstände und die Suche nach den passenden Wiesen ist doch das komplizierteste an deinem Programm. Danach musst du die Liste ja nur noch ausgeben. Beispielcode zum Anzeigen einer Liste gibt es doch massig.

    Zitat von vermeer


    Hmm hmm hmm, erst Java lernen zu müssen ist schon ein großes Hindernis...


    Nunja, wenn du Programmieren möchtest, dann musst du nunmal auch eine Programmiersprache lernen. Java ist jedenfalls eine sehr dankbare Sprache, da sie dir sehr viel Arbeit abnimmt.


    Zitat von vermeer


    Habe auch schon länger gegoogelt, Android-Code-beispiele gibt es ja schon einige, aber die decken immer nur einen Teil meies Problems ab:


    Hehe, wenn es dein Programm schon fertig als Beispiel gäbe, dann müsstest du es ja nicht mehr programmieren :)


    Wenn du deine Probleme schön sauber in einzelne Komponenten aufteilst, dann reichen diese Beispiele aus. Am Schluss baust du dann aus all den kleinen Komponenten das Gesamtsystem.



    Für Step1 reicht serverseitig natürlich ein ganz einfaches Skript. Da sich die User aber zumindest für Step3 auch authentifizieren müssen, empfiehlt es sich gleich auf sowas wie SOAP (http://de.wikipedia.org/wiki/SOAP) zu setzen. SOAP ist allerdings nicht ganz einfach und vielleicht willst du am Anfang lieber schnelle Erfolgserlebnisse. Ab Step2 allerdings würde ich mir wirklich überlegen auf SOAP zu wechseln. Das lohnt sich auf jedenfall für spätere Versionen.


    Deine allerste Version wird also so aussehen:


    • Ein Hauptbildschirm auf dem eine Liste der Kitewiesen präsentiert wird.
    • Ein Abfragemodul welches die Koordinaten an den Server übermittelt und eine Liste der Kitewiesen zurückgibt.


    Das ist doch ein sehr überschaubares Projekt um mit dem Programmieren anzufangen.


    Du musst dir also zuerst die Frage stellen, wie denn die Daten auf dem Server hinterlegt sind. Am besten sollten für jede Wiese die Geo-Koordinaten hinterlegt sein. Deine Arbeit beginnt also nicht auf dem Android-Handy, sondern auf deinem Server. Was du benötigst ist ein Skript, welches Geokoordinaten erhält und daraufhin eine Liste an Wiesen zurückgibt. Sowas kannst du z.B. in PHP schreiben.


    Die Anfrage an dein Skript erfolgt via HTTP Get request z.B. so:


    Code
    http://www.kitewiese.de/getwiesen.php?lat=<latitude>&long=<longitude>


    Das Skript erhält also einen Längen- und einen Breitengrad und muss jetzt feststellen welche Wiesen in der Nähe sind. Dazu müsstest du für jede Wiese in der Datenbank den Abstand zur aktuellen Position berechnen. Das ist aber nicht sehr datenbank- und rechnerfreundlich, weil du es nicht mit einer einzigen Abfrage erledigen kannst. Daher denkst du dir einfach ein Quadrat, dessen Mittelpunkt der aktuelle Standort ist. Dann kannst du jeweile einen Maximalen und einen Minimalen Breiten-/Längengrad berechnen und mit einer Datenbankabfrage alle Wiesen in der Nähe finden.


    Die Breitengrade haben einen konstanten Abstand von: Erdumfang/360 ~ 111km


    1 km Abstand entspricht also ca. 0.009 Breitengrad.


    Der Abstand der Längengrade ist abhängig vom Breitengrad. An den Polen ist dieser Null und am Äquator ebenfalls ca. 111km. Der genaue Abstand berechnet sich: 1 Längengrad = 1 Breitengrad * cos(Breitengrad)


    1km Abstand ist also ca. (0.009 * cos(Breitengrad)) Längengrad


    Jetzt kannst du einen maximalen Abstand in jede Richtung festlegen und dann mit einer Datenbankabfrage alle Wiesen in dem vorgegebenen Quadrat abfragen.


    Dein Skript gibt dann einfach eine Liste mit den Wiesen im Klartext (nicht HTML) aus, welche dann von deiner Android-App entgegen genommen wird. Die Liste kann z.B. so aussehen:


    Code
    <id>|<lat>|<long>|<Name>|<Beschreibung>
    1|49,3N|47,5E|Kitewiese 1|Tolle Kitewiese nahe Musterstadt
    2|.....


    Sobald du diesen Teil programmiert hast, ist der Rest eigentlich nur noch ein Klax. Du musst dann nur noch die Anfrage an den Server abschicken und das Ergebnis zeilenweise einlesen. Aus den Geo-Koordinaten der Wiesen kannst du dann auch den Abstand zur aktuellen Position berechnen und die Liste sortiert nach Entfernung ausgeben.

    Zitat von vermeer


    Die Idee und auch die Website, die die Daten liefert, sind also vorhanden, Das SDK ist auch installiert, "Hello World" funktioniert auch - und das war's...


    Wie schaffe ich nun den Einstieg?


    Um Java wirst du wohl nicht herumkommen, allerdings ist Java relativ einfach zu erlernen und exterm verbreitet. Programmierbeispiele zu finden sollte daher weniger ein Problem sein.


    Das Problem bei Anfängern ist aber meist, dass sie sich zuviel vornehmen. Gerade am Anfang geht das Programmieren aber nur sehr langsam voran und daher schlafen neue Projekte sehr schnell ein. Die Devise sollte daher sein, die Version 0.1.0 möglichst einfach zu halten.


    Am besten du erstellst dir erstmal eine einfache Stichpunktliste, was denn dein Programm alles können soll - eine Art Anforderungsdokument sozusagen. Dann überlegst du dir welche Features du in die allererste Version aufnehmen willst. Das sollten möglichst wenige sein, damit du schnell zu einem benutzbaren Ergebnis kommst und die ersten Erfolgserlebnisse hast.


    Sobald du dich für ein paar Features entschieden hast, überlegst du dir, wie das denn genau aussehen soll und welche Parameter du benötigst um die Features bereitstellen zu können. Du kannst z.B. die GUI mal aufmalen und musst auch Abhängigkeiten berücksichtigen. Wenn der User z.B. irgendetwas einstellen können soll, dann brauchst du natürlich auch einen Einstellungsdialog und du musst die Einstellungen irgendwo speichern. Du wirst schnell feststellen, dass selbst bei wenigen Features einiges an Abhängigkeiten zusammenkommt. Damit du nicht den Überblick verlierst solltest du das ganze genau dokumentieren. Hast du z.B. das Feature "User soll Adresse eingeben können", dann solltest du erfassen, welche Adressdaten du genau abfragen willst.


    Nachdem du festgelegt hast was dein Programm können soll, welche Eingaben du benötigst und wie es genau aussieht, geht es eigentlich an's Design der Architektur. Gerade das fällt Anfängern aber besonders schwer, da sie noch keinen vollständigen Überblick über die Programmiersprache haben und auch noch nicht mit Software-Design-Patterns vertraut sind. Du solltest dein Programm daher einfach in möglichst kleine Teile zerlegen - z.B.:


    - Hauptbildschirm
    - Einstellungsdialog
    - Positionsabfragemodul


    Hier wirst du am Anfang viele Fehler machen, aber Programmieren lernt man halt nur durch anwenden. Je weniger Features du für die Version 0.1.0 definiert hast, desto leichter wird es sein das ganze einfach umzubauen, sobald du merkst, dass es auch wesentlich eleganter geht. Für den Anfang sollten folgende Faustregeln reichen:


    - Je kleiner eine Komponente, desto besser.
    - Möglichst wenige "public" Funktionen.
    - Komponenten sollten auf möglichst wenige andere Komponenten zugreifen.


    Wenn du erstmal eine Weile programmiert hast, solltest du dich aber auch mal mit Software-Design beschäftigen. Eine vernünftige Architektur kann dir enorm viel Arbeit ersparen. Software Design ist übrigens weitgehend programmiersprachen-unabhängig, so dass du das erlernte Wissen überall einsetzen kannst.


    Sobald du deine Komponenten definiert hast, kannst du dir überlegen, wie du sie in Java umsetzt. Je kleiner du deine Komponenten definiert hast, desto leichter wird es. Bevor du mit dem Programmieren anfängst kannst du natürlich auch mal deine Idee und die geplante Umsetzung hier im Forum vorstellen.


    Viel Erfolg

    Zitat von skip


    Mein Eclipse fordert mich nun auf, das zweite "@Override" zu entfernen.
    Der angegebene Fehler lautet "The method onClick(View) of type nonsens must override a superclass method" der QuickFix empfiehlt "Remove "@Override annotation.


    Das @Override muss weg, da onClick() ja eine Funktion des onClickListener Interfaces ist. Du kannst onClick nicht "overrriden", weil diese Funktion im Interface nur definiert, nicht aber implementiert ist.


    Zitat


    Wenn ich das @Override nun rausnehme und über den Emulator starte und die Anwendung starten will gibt es auch dort eine Fehlermeldung.


    Und zwar "Sorry! The Application Nonsens (process de.fweber.nonsens) has stopped unexpectedly. Please try again later."


    Da hast du wohl irgendwo einen Bug eingebaut und deine Applikation stürzt ab. In der "Debug View" von Eclipse kannst du dir die Exception anzeigen lassen. Oder aber du gibst einfach "adb logcat" auf der Kommandozeile ein.


    Zitat


    In Eclipse zeigt er mir auch 2 Marker an "Java Exception Breakpoint", haben die was damit zu tun?


    Ja, lass dir doch mal die Exceptions anzeigen, dann kann man auch genauer sagen warum dein Programm abstürzt.

    Zitat von Coil


    Das mit dem weiterverlinken sollte kein Problem sein, das mit dem Graphen koennte jedoch richtig interessant werden.


    Hoert sich gut an, muss ich mir mal durch den Kopf gehen lassen, wie ich das am besten realisieren koennte.


    Nachdem so ein wissenschaftlicher Taschenrechner ja schon ein Projekt für sich alleine ist und ihr sicher schon gut beschäftigt seid, könntet ihr ja mal bei dem handycalc Autor anfragen. Der müsste seine App ja nur in soweit anpassen, dass man seiner Activity eine Funktion übergeben kann und ihr sagt welchen Zahlenbereich sie darstellen soll. Sollte ja kein grosser Aufwand sein.

    Das sieht ja mal richtig gut aus - eine Formelsammlung Deluxe sozusagen. Werde ich mir auf jedenfall mal anschauen sobald es fertig ist oder ihr ne Beta freigebt.


    Das ganze steht und fällt natürlich mit der Qualität der Artikel. Wäre schön, wenn es zusätzlich noch einen Button geben würde, der auf den entsprechenden Wikipedia-Artikel verlinkt. So kann man sich mehr Informationen holen, falls man ein Thema noch nicht kapiert hat oder falls euer Artikel noch zu ungenau / nicht vorhanden ist.


    Was ich auch noch nett fände wäre eine Art wissenschaftlicher Taschenrechner ähnlich wie handycalc mit dem man auch Funktionen graphen kann. Schaut man eine Funktion in eurer Formelsammlung nach, dann könnten in eurem Artikel Beispiele hinterlegt sein, die direkt in den Taschenrechner geladen werden. Der User kann dann mit den einzelnen Paramtern spielen und sich anzeigen lassen, wie sich das auf den Graphen auswirkt. Dadurch würdet ihr euch von reinen Nachschlagewerken ähnlich "Wapedia" und Co. nochmals abheben.

    Zitat von sys192


    [size=xx-large]- FEHLER GEFUNDEN -[/size] http://forum.xda-developers.com/showpost.php?p=4289899


    Habe die mitgelieferte Sandisk probiert und eine ältere Kingston 2gb => beide funktionieren nicht. Werde mal eine neuere Kingston kaufen


    Ah, sehr gut.


    Hast du eigentlich nen externen Kartenleser?


    Falls bei deiner neuen Speicherkarte einer dabei ist (sind oft so kleine USB-Adapter als Beilage dabei), dann probier doch bitte auch noch mal eine der alten Karten. Würde mich interessieren, ob es damit geht. Habe in einigen Forenposts gelesen, dass Leute mit nem externen Leser Erfolg hatten, wo es vorher direkt über das G1 nicht funktioniert hat.

    Zitat von marcel3067


    Ich habe es mit dem Windows Parti manager gemacht, ich such mir mal ein anderen;)[hr]
    So auch mit einem anderen tool, der Code ist nach dem Formatieren wieder anders:shy:


    Sorry, hab dein Edit nicht gesehen.


    Der Code darf ja auch in Teilen wieder anders sein, weil bei dir ja die Partitionstabelle überschrieben wird. Nur der MBR ganz am Anfang muss gleich sein.


    Mir fällt jetzt langsam auch nix mehr ein, was bei dir schief gehen könnte. Bei xda-developers.com haben manche geschrieben, dass sie es mit der Orignal-Speicherkarte nicht hinbekommen haben, aber mit ner Anderen Erfolg hatten. Wieder andere haben geschrieben, dass sie es nur mit nem externen Kartenleser hinbekommen haben.


    Generell sollte das aber alles nicht nötig sein. Wenn du weder ne alternative Speicherkarte zur Hand hast, noch einen Kartenleser, dann würde ich dir Linux empfehlen. Damit geht es eigentlich straight forward. Vor allem überschreibt dir Linux nicht wieder den MBR. Wenn du's mit Linux probieren willst, dann kann ich dir ja mal ne kurze Anleitung schreiben.

    Zitat von marcel3067


    In FAT32


    Hehe, da reden wir aneinander vorbei. Ich meine die Prozedur mit der du die Karte formatiert hast. Also welche Tools hast du genutzt?


    Du solltest einen normalen Partitionseditor verwenden, der nicht automatisch einen neuen Masterboot-Record schreibt. Dann bleibt dir der Boot-Code erhalten und du kannst trotzdem die Karte partitionieren und formatieren.


    Mit Linux ist das recht einfach. Ich bin mir nicht sicher ob der Standard-Microsoft-Partitionseditor automatisch einen neuen MBR schreibt.

    Zitat von marcel3067


    Ich makier es geh dann uafkoperen, geh dann auf die sd und makiere bis Offset 170, dann rechtsklick auf Schreiben, oben auf Datei und speichere es.


    Hmm, alles richtig. Im Prinzip kann man ja auch nicht viel falsch machen.


    Vergleich doch mal die Daten vom Goldcard.img und der SD-Karte nachdem du auf "Schreiben" geklickt hast. Wenn da bei beiden Reitern das gleiche steht (zumindest bis Offset 170), dann ist es im Prinzip nicht so wild, dass deine Partitionstabelle überschrieben wird. Du hast dann zumindest schonmal den richtigen Bootcode drauf. Jetzt musst du nur dafür sorgen, dass beim Neupartitionieren und Formatieren der Bootcode nicht wieder überschrieben wird.


    Wie hast du denn die Karte neu formatiert?

    Zitat von marcel3067


    Dir Nummer hab ich so eingegeben ( 4cb800ccd86214087423035535443530 ), oder muss ich immer 2 und dann eine Lücke, weil da steht ja ohne leerzeichen.


    Ist schon richtig so, vorausgesetzt deine Original-Nummer ist:


    3035443555032374081462d8cc00b84c


    Zitat


    Wenn ich die Nummer in der Mitte makiere, werden Rechts die Sachen automatisch mit makiert, also ich muss beides Auswählen ( Mitte und rechts )


    Ahja, kann sein. Vielleicht wurde das geändert. Und du markierst auch nur bis Offset 00000170?


    Ich glaube aber, dass es bei dir nicht an der Nummer liegt. Da du ja jedesmal deine Partition schrottest und die Karte hinterher neu formatiert werden muss machst du irgendwas bei der Bedienung des HxD-Editors falsch. Im Prinzip musst du nur alles bis Offset 170 markieren, dann kopieren und auf der G1-SD-Karte einfügen. Danach sollte deine Partition noch intakt sein.

    Zitat von marcel3067


    Ich habe den "Code" über das Handy mit dem Astro Browser auslesen lassen und dann den Code rückwärts auf der Website angegeben.


    In zweier Blöcken und ohne Leerzeichen hoffe ich :)


    Zitat


    Dann hab ich den Code aus der Goldcard datei kopiert, und die Zahlen, und diese dann in die sd zahlen codes überschrieben und geseichert,


    Den Code und die Zahlen?? Du hast da ja drei Blöcke in dem Fenster: Links die Offsets, in der Mitte die Hex-Darstellung und Rechts die Ascii-Darstellung.


    Du musst die Daten im mittleren Block kopieren (rechts geht vielleicht auch, weiss nicht) aber NICHT beide Blöcke.


    Zitat


    wenn ich das USB trenne schimpft das handy, und der PC kann mit der SD auch nix mehr anfangen.


    Ja, weil du viel zu viel auf die Karte schreibst. Wenn du den mittleren und den rechten Block markiert hast, dann wird irgendein Stuss auf die Karte geschrieben und dabei auch deine Partitionstabelle überschrieben.


    Kopier also nur den mittleren Block ODER den rechten Block und füg das dann entsprechend auf deiner SD-Karte ein. Wenn du alles richtig machst wird deine Partitionstabelle nicht überschrieben und die Karte weiterhin erkannt. Du kannst die Prozedur "Neuformatieren => Goldcard-Code schreiben" einfach solange wiederholen bis es klappt. Danach sollte dann auch das Aufspielen der alten Firmware klappen.