Nur Java auf Android?



  • du wirst es aber trotzdem für jede architektur bauen müssen. evtl sogar für verschiedene arm prozessoren. dann musst du in java einen intelligenten loader bauen, der je nach architektur die richtige lib / so lädt.

    das problem dabei: als architektur wird dir in java lediglich "arm" ausgegeben (system property) nicht arm4 oder die genaue prozessor bezeichnung. ich glaube werden in zukunft sämtliche NDK leute probleme bekommen. wenn du da ne gute lösung hast, dann würd mich das auch interessieren.



  • uh fast vergessen 🙂

    Mario Kart!

    SNES rockz!



  • phlox81 schrieb:

    Kann man denn über ein c interface C++ einbinden?

    ja klar, von c aus kannst du c++ ohne probleme aufrufen, sowohl auf android als auch iphone.

    Du benutzt wxWidgets unter Android? 😉

    neeein, nur linux und win.



  • JackDaniels schrieb:

    du wirst es aber trotzdem für jede architektur bauen müssen. evtl sogar für verschiedene arm prozessoren. dann musst du in java einen intelligenten loader bauen, der je nach architektur die richtige lib / so lädt.

    naja, ganz ehrlich, java hat diese probleme nie geloest. sowohl auf j2me als auch android muss ich fuer verschiedene systeme verschiedene loesungen finden, sei es nun opengl oder display aufloesung oder...

    ein richtig gutes SDK fuer mobilephones ware mophun. Es lief wenn man es einmal gecodet hat uberall wie erwartet. z.b. hat man immer die fullscreen aufloesung auslesen koennen. bei j2me hingegen haben manche phones die aufloesung -menue zurueckgegeben anderer wieder die volle und dann das menue ueber das spiel gelegt usw.

    das problem dabei: als architektur wird dir in java lediglich "arm" ausgegeben (system property) nicht arm4 oder die genaue prozessor bezeichnung. ich glaube werden in zukunft sämtliche NDK leute probleme bekommen. wenn du da ne gute lösung hast, dann würd mich das auch interessieren.

    die loesung die im ndk steht ist dass man die version angeben muss fuer die app. wenn z.b. ein android mit x86 rauskommt, wirst du darauf nichts aus dem store laden koennen das native code enthaelt und versionsnummer < x ist. dazu wird dann ein NDK released das version x. ab version x musst du dann jede hardware unterstuetzen die auf der version x laeuft. (ich habe gehoert der emulator soll entsprechend zum debuggen angepasst sein, so wie jetzt mit den aufloesungen).

    naja, fuer mich ist die sache nicht so dramatisch. mein code laeuft ja schon auf x86 weil ich darauf primaer entwickel, es laeuft auch alles auf mips (weil es auf psp laeuft) und powerpc (hab es aus spass auf ps3 portiert). I'm prepared 😃

    problematisch ist eher performance, aufloesung und input. gerade input das jedes phone anders hat. laut SDK doku darf man sich ja nichtmal drauf verlassen dass ein touchpad immer vorhanden ist. den c++ code portabel zu schreiben ist dagegen eigentlich trivial.

    ja,Mario Kart! erweitert mit old-school voxeln 🙂



  • das ist das tolle an c 🙂
    einmal sauber programmiert, dann kannst es ohne großen aufwand auf jeder architektur zum laufen bringen.

    die welt der mobilen anwendungen ist eine riesige baustelle auf der du viel zu viele nerven verlierst. j2me ist das beste beispiel. ich könnt so viele geschichten darüber erzählen. jeder, wirklich jeder hersteller macht sein eigens süppchen. apple, google, nokia, rim, mircosoft...

    würd mich echt interessieren wann die hersteller das mal in den griff bekommen oder ob das so weitergeht.



  • Naja, ich halte c++ für einen schlechte Wahl für Mobileapps. Die Einsteigerhürde zu guten(!) c++ ist extrem hoch. Und schnell mal was in 3 Tagen entwickeln ist in c++ auch relativ schlecht machbar.

    Deshalb will ich mal fragen: Wäre Vala nicht eine gut sprache für eine Smartphoneplattform? Schnell und halbwegs Highlevel, mächtig und von der Komplexität beherschbar.



  • Und mit welchem Toolset?



  • IPH schrieb:

    Naja, ich halte c++ für einen schlechte Wahl für Mobileapps. Die Einsteigerhürde zu guten(!) c++ ist extrem hoch. Und schnell mal was in 3 Tagen entwickeln ist in c++ auch relativ schlecht machbar.

    das schnellste was ich fuer android zusammengehackt habe war in 8 stunden gecodet.

    q.e.d. 🙂



  • IPH schrieb:

    Naja, ich halte c++ für einen schlechte Wahl für Mobileapps. Die Einsteigerhürde zu guten(!) c++ ist extrem hoch. Und schnell mal was in 3 Tagen entwickeln ist in c++ auch relativ schlecht machbar.

    Naja, Entwicklung auf embedded Geräten (nichts anderes sind die heutigen Smartphones) ist sowieso nix für Anfänger.

    Und mit Qt gibt es durchaus ein interessantes Framework was die mobile Entwicklung in C++ ermöglicht. Auch gibt es mit BREW und Bada ebenfalls 2 weitere OS welche C++ als vollwertige Sprache für Applikationen unterstützen. Und dann gibt es noch für viele Plattformen jetzt ein S/N/PDK für die Entwicklung, da ist es aber meistens so, das C++ Performance bringen soll.



  • phlox81 schrieb:

    Naja, Entwicklung auf embedded Geräten (nichts anderes sind die heutigen Smartphones) ist sowieso nix für Anfänger.

    Warum? Man kann jetzt nicht sagen, dass die Dinger so super langsam sind oder so super wenig RAM haben. Ich habe damals auch mit 265 MB ram und 900 Mhz angefangen zu programmieren. Das geht sehr gut.



  • IPH schrieb:

    Ich habe damals auch mit 265 MB ram und 900 Mhz angefangen zu programmieren. Das geht sehr gut.

    ich mit 64 kB und ~0.9 Mhz. ging auch ganz gut.
    🙂



  • Ich hab ja mal Gehört das mit dem NDK c++ nur von Java "interpretiert" wird.
    Ich spiele mit dem gedanken mir ein Android handy zu besorgen.

    aber ich möchte dafür aufjedenfall programmieren können, und zwar richtig!

    Muss man also mit dem NDK abstrichen in sachen Programmieren machen im gegensatz zu JAVA?

    danke schonmal



  • ;fricky schrieb:

    IPH schrieb:

    Ich habe damals auch mit 265 MB ram und 900 Mhz angefangen zu programmieren. Das geht sehr gut.

    ich mit 64 kB und ~0.9 Mhz. ging auch ganz gut.
    🙂

    Komische Hardware.
    64kB und 1MHz würde ich ja noch verstehen, dann wär's ein 64-er gewesen.



  • volkard schrieb:

    ;fricky schrieb:

    IPH schrieb:

    Ich habe damals auch mit 265 MB ram und 900 Mhz angefangen zu programmieren. Das geht sehr gut.

    ich mit 64 kB und ~0.9 Mhz. ging auch ganz gut.
    🙂

    Komische Hardware.
    64kB und 1MHz würde ich ja noch verstehen, dann wär's ein 64-er gewesen.

    der n00b hatte wohl so ne PAL version bei der man es auf 0.9MHz abgerundet hatte (auf vielen angaben, real .985f).
    Da lob ich mir meinen highend 800XL mit 1.76MHz 🙂



  • NDKEinsteiger schrieb:

    Ich hab ja mal Gehört das mit dem NDK c++ nur von Java "interpretiert" wird.
    Ich spiele mit dem gedanken mir ein Android handy zu besorgen.

    aber ich möchte dafür aufjedenfall programmieren können, und zwar richtig!

    Muss man also mit dem NDK abstrichen in sachen Programmieren machen im gegensatz zu JAVA?

    du kannst die meisten android phones wohl rooten, heist also dein eigenes android/linux draufspielen und kannst dann ganz normal programme ausfuehren.
    falls dir daran gelegen ist.



  • rapso schrieb:

    der n00b hatte wohl so ne PAL version bei der man es auf 0.9MHz abgerundet hatte (auf vielen angaben, real .985f).

    genau das. war einfach nur mies gerundet.
    🙂



  • NDKEinsteiger schrieb:

    Ich hab ja mal Gehört das mit dem NDK c++ nur von Java "interpretiert" wird.

    Kann ich mir nicht vorstellen. Würde doch überhaupt keinen Sinn machen.
    Wobei man das zb bei der C-Control Pro von Conrad tatsächlich gemacht hat, aber das hat mit dem Thema jetzt natürlich garnichts zutun.

    Ich finde es auch sehr schade, dass man Android so auf Java gesetzt hat. Man sieht jetzt sehr deutlich, wie stark die Performance darunter leidet. Applikationen auf dem iPhone laufen viel flüssiger und das trotz langsamer Hardware (im Vergleich zum N1).
    Man kann vielleicht nicht für alles Java die Schuld geben (Multithreading kostet ja auch was), aber ich meine, dass das schon das größte Bottleneck von Android ist.



  • Um nochmals sicher zu gehen: Mittlerweile kann man auf Android C++ laufen lassen?



  • hmmmmm schrieb:

    Um nochmals sicher zu gehen: Mittlerweile kann man auf Android C++ laufen lassen?

    ja. es gibt einen c++ compiler http://developer.android.com/sdk/ndk/index.html


Anmelden zum Antworten