Und hatte er eventl. schon eine vorherige Version mit einer anderen Signatur bzw. ohne Signatur installiert - daran kann es manchmal auch klemmen. Dann vorher de installieren.
Beiträge von killphil75
-
-
Hat dein Freund in seinen Einstellungen bei Anwendungen den Haken bei "Anwendungen Unbekannter Quellen" installieren gesetzt ??
Falls nicht, kannst du nur Sachen aus dem offiziellen Store installieren. -
Natürlich geht das auch als Testgerät.
Dennoch musst du Dir im klaren sein, das diese "billig" Geräte keine Geschwindigkeitsrekorde aufstellen werden. Das die Geräte 100-150Euro billiger sind als andere hat halt auch eine Ursache - weniger Speicher, langsamer Prozessor, preiswerte Verarbeitung, keine Kamera (oder nur 1), usw...Der Vorteil bei Nexusgeräten ist, wie bereits von Titus erwähnt, sie kommen mit dem puren Android OS und Google liefert dort die Updates ziemlich zeitnah aus. Zum Beispiel habe ich auf dem Nexus 4.2 seit ein paar Tagen laufen.
Das ist natürlich für die Entwicklung ein Traum, wenn du stets "aktuell" bist. -
Caused by: java.lang.ClassCastException: android.view.AbsSavedState$1
cannot be cast to android.widget.CompoundButton$SavedStateDa liegt der Hase im Pfeffer.
Musst halt mal schauen was du gerade probiert hast und mittry
catch
eingrenzen.
könnte aber auch sein das hier das prob liegt
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1619)
->
er versucht irgendetwas wieder herzustellen und kollidiert aber mit den berechtigungen -
Zitat
Und ich verstehe einfach nicht, warum noch so unendlich viele 2.x unterwegs sind.
Die SDK-Unterschiede zwischen 2.3 und 4.0 sind so dermaßen gravierend, dass ein Parallelbetrieb irgendwann unmöglich scheint.
Aber klar, warum sollten HTC, Samsung und Co. ihre drei Jahre alten
Geräte auf 4.0 aktualisieren? Sollen die Leute doch neue Geräte
kaufen... +sigh+Also mein Handy ist nicht mal 3 Jahre alt und wird wohl kein ICS Update bekommen... danke Samsung.
Wenn ich in meine App-Stats schaue (2700 aktive User) dann haben 53 % aller User 2.3 / 2.2. / 2.1 und nur
44 % ICS und dann der Rest .Dieser Zustand wird sicherlich noch 1-2 Jahre anhalten und sollte von uns Entwicklern bei der App-Entwicklung berücksichtigt werden.
Wie bereits oben geschrieben, um die SDK Lücke etwas zu schliessen bastelt ja Google ständigt an der Support-Library.
So kannst du ja Fragmente und Co. schon unter Api 4+ (2.1) nutzen und mittlerweile ist die Liste der "kompatiblen" Sachen immer länger . Neustes Update ist sogar Nov2012 -
Hmm dafür das die Funktionalität noch recht überschaubar ist, verstehe ich nicht warum die App erst ab Android 4 läuft.
Hier bei mir wären 4 von 6 Geräten ausgeschlossen und somit würde ich eine solche App nicht nutzen.Versuch doch mal den minSDK Level auf Android 2.2 / 2.3 runter zu brechen, das dürfte Dir auch mehr User im Google Play Store bringen.
ZitatSchön finde ich ja auch den Pfeil vor dem Logo. Gibt es da was Fertiges, um das den da hin zu bekommen?
Das ist ein Standardfeature der Actionbar unter Android 4+, um Android4 Features unter Android2.1+ zu benutzen, gibt es den Compatibiltypack von Google. -> Actionbar wird durch ActionBarSherlock unterstüzt.
-
Gute deutsche Videotutorials findest du bei Video2Brain -> Appz entwickeln mit Android4 bzw bei Galileo Press
ZitatAn Eclipse habe ich mich aber sehr schnell gewöhnt, finde das garnicht
so übel.... was ich aber vermisse ist, dass man das Programm nicht live
testen kann.... in Access kannst du während das Programm läuft, bei
einem Fehler direkt dort in den Code reinschaun und den Fehler beheben,
und das Programm direkt weiterlaufen lassen. In Java muss ichs immer
neustarten und mir die Log anschauen, wo denn wohl ein Fehler sein
könnte. Da fühl ich mich ein bisschen eingeschränkt.Das Zauberwort heisst Debugger bzw Debugmodus -> nicht das Playsymbol zum App starten nutzen, sondern den kleinen Käfer.
Dann kannst du dein Programm "live" schrittweise debuggen, Eclipse schaltet dann auch in eine andere Ansicht um. -
Willkommen im Forum.
irgendwo hier gibt es auch einen Bücherempfehlungsthread, falls du ein gutes Buch für den Einstieg suchst.
Ich hab seit Jahren kein VBA mehr gesehen, weiss daher nicht ob die einen objektorientierten Ansatz haben oder alles nur prozedual lösen, das dürfte dann eventl. die größte Umstellung sein, da Java komplett Objekt/Klassenorientiert ist.Denoch finde ich die Einstiegshürde in Android ist relativ niedrig. Es gibt jede Menge Unterlagen, Tutorials im Netz für fast jedes Problem (zumindest die Grundlagen werden gut abgedeckt). Die Entwicklerwerkzeuge sind alle frei, was will man mehr.
Ich wünsche Dir viel Spass beim programmieren.
-
Wenn du lernwillig bist, dann noch ein kleiner Tipp.
Jedes mal wenn du jetzt eine Berechnung ausführst, musst du dir die Views (Textfeld) ect holen.
Bei 2 Feldern ist das auch noch nicht so performance relevant, aber wenn es mehr werden kann das schon bremsen.Deswegen hol dir doch die Views in deiner OnCreate Methode (das layout hat ja auch so lange Bestehen),
packe es in eine Variable und benutze die... das spart dir ein paar Aufrufe von findViewJava
Alles anzeigenprivate TextView textView1; private TextView textView2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_handelsrechner); // Eingabefelder auslesen textView1 = (TextView) findViewById(R.id.tf_angebot); textView2 = (TextView) findViewById(R.id.tf_kosten); }
-
Naja wenn du Integer durch Integer teilst kommt auch Integer raus.
10 / 100 = 0.1 reale Welt
10/ 100 = 0 Integer Welt
Ich glaube du willst eher Double benutzen wegen der Kommastellen.
-
Hmmm grundsätzlich würde ich sagen das ist die StandardProgressbar nur 2x in einem View.....
Hier gibt es deine Komponente
https://github.com/simao/Android-DoubleProgressBar
Hier noch anderer Lesestoff wg Custom Dialog
http://www.mkyong.com/android/android-custom-dialog-example/
-
Scrollen --
leider nur in englisch
http://www.droidnova.com/creat…ith-cells-part-i,654.html
http://www.droidnova.com/creat…th-cells-part-ii,678.html
http://www.droidnova.com/creat…h-cells-part-iii,737.html
Ansonsten mal bei google rumstöbern .. Stichwort Tile Map
-
Das Deprecated sagt nur das diese Methode in Zukunft nicht mehr unterstüzt wird.
Unter API 11 kann man PreferenceFragment und Co nutzen. da es die aber in früheren Versionen nicht gibt, hat man da keine Alternative.Die sauberste Variante ist die Unterscheidung der verschiedenen Build versionen und bei der neueren Api nutzt man dann halt die neuen Methoden.
Um dem Versionswahnsinn ein wenig einhalt zu gebieten hat Google den Android Compatibility Pack rausgebracht. Der läuft ab API4
und bringt einige Features auf "alte" Handys welche erst seit Honeycomb verfügbar waren.Fragmente,
Cursorloader , usw.liest du hier
http://developer.android.com/t…tras/support-library.html
die PrefernceFragment Unterstützung fehlt aber noch in der SupportLibrary , soweit ich weis
-
Lesestoff:
http://www.androidpit.de/de/an…iew/Spieleentwicklung_101
Hier im Forum hat letztens jemand auch eine eigene Tutorialvideoreihe gepostet "pan"... verdammt Namen vergessen, findest du aber hier irgendwo... da wird ein Spiel von A bis Z entwickelt.
Zu deiner Idee.
Das Prinzip bei übergrossen Maps funktioniert anders.
Dein Spielfeld zeichnet immer nur den Teil der sichtbar ist. Die Logik sprich der Rest der Map ist zwar im Speicher, wird aber nur gezeichnet wenn er auch sichtbar ist.
Du verschiebst also lediglich dein sichtbares "Fenster" auf der Map und je nachdem wie dein XY ist, bekommst du raus was du zeichnen musst und was nicht. Ebenso der Zoom , das ist dann nur noch Mathematik.
Die Frage ist ob du Dir wirklich die Mühe machen willst eine eigene Gameengine zu entwickeln.Da draussen in der Androidwelt gibt es bereits diverse Engines, welche man nutzen kann. --> ANDEngine für 2D Spiele / Unity -> 3D
-
Wenn du unter Eclipse ein aktuelles ADT installiert hast, dann legt er Dir automatisch ein Menü an.
Müsste irgend etwas alaJava@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }
und wenn du selber noch einen Listner einbaust, kannst du darauf reagieren
Java
Alles anzeigen@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.preferences: showPreferencesActivity(); return true; case R.id.logOff: logOff(); return true; default: return super.onOptionsItemSelected(item); } }
Wobei zb. R.id.preferences die ID´s der Menüeinträge sind
-
Ich hab dir mal heute einen Fehlerreport geschickt, beim auswählen der Farbe (Fach) bin ich abgerutscht, sprich Farbe wurde gewählt, Finger bewegt sich aber weitert, das führt sofort zum Absturz der App (Nexus 7).
-
Also natürlich kann man alles in eine Klasse packen, das dürfte aber relativ schnell unübersichtlich werden und wenn du Sachen änderst, kämpfst du dich jedes Mal durch 1000 Zeilen Code.
Sinn und Zweck der objektorientierten Programmierung ist es ja wieder verwendbare Elemente/Routinen sinnvoll zu kapseln und in Klassen auszulagern bzw. da wo die Logik es ermöglicht.Darunter würde zum Beispiel als erstes das Menü und das eigentliche Spiel fallen.
Menü hat ja nix mit dem Spiel zu tun, also würde ich das schon mal seperat packen.-> Menü
-> Spiel
-> Einstellungen
-> Highscoreliste
-> Anleitungdas sind ja alles seperate Bereiche und sollten auch am Besten in eigene Klassen/Activities gepackt werden.
-
Zitat
Sooo, habe leider die erste Meldung über einen Absturz beim erstellen
des Stundenplans mit dem Samsung Galaxy S3. Leider liegen mir keinerlei
nähere Informationen vor, was es sehr schwierig macht, den Fehler zu
finden und somit zu beheben.Gibt es irgenteine Möglichkeit, Kontakt zu personen herzustellen die einen Kommentar im PlayStore hinterlassen haben?
Du hast aber die Fehlerausgabe im GoogleDevAccount, da müsste der Absturzreport stehen und zumindest die Klasse/Activity wo der Fehler aufgetreten ist.
Leider hat man keine Möglichkeit des direkten Feedbacks, da kann man immer nur an die User appelieren bei Fehlern dir direkt eine Email zu schreiben.Also so ca Emulatorsettings für das Galaxy III wären
Google APIs - API Level 15
Skin: Built-in WXGA720- Hardware Back/Home: yes
- Abstracted LCD density: 320
- Keyboard lid support: no
- Max VM application heap size: 48
- Device ram size: 1024
-
Leider verstehe ich nur Bahnhof, da besagtes Run() nicht mal in deinem Codeschnipsel auftaucht und somit niemand wirklich erahnen kann was du willst.
Ich versuchs mal mit der Glaskugel. Du hast ein Spiel und in diesem Spiel läuft ein Gameloop.
Normalerweise löst man das über eine Schleife im Background.als isRunning = true
while / do
{
blah blup
}Wenn Running nicht mehr true ist, dann ist der Level vorbei und du musst halt mehrere Varianten abtesten.
if (Levelfail==true){
level bleibt gleich
starte spiel erneut}
else {
// Level wurde geschafftgesamt punkte = gesamtppunkte + levelpunkte;
level = level +1lade neuen Level
starte Gameloop erneut
} -
Mit Fragmenten kommunziert man am besten per Interfaces
http://developer.android.com/g…CommunicatingWithActivity
Ein anderer Weg, der aber glaube ich nicht ganz so sauber ist - du kannst dir per getActivty() den Namen deiner zugehörigen Activity holen und dort auf Methoden zu greifen (setDatum() getDatum() ect)
Wichtig: die Activity muss gecastet werden((MyActivity) getActivity()).setzeDatum("tag");