Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - C and Android
Forum - C/C++ - C and Android

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
hackersitiz (Normal User)
Pro


Messaggi: 120
Iscritto: 29/09/2010

Segnala al moderatore
Postato alle 17:16
Sabato, 13/11/2010
Dal titolo avrete capito...
Vorrei sviluppare un'applicazione per Android, ma è possibile in C?
Da quel che ho letto con SDK lo è...
Come senza un cellulare con Android?
Ecco c'è un emulatore, ma quale??
Ho trovato un bel libro che sembra molto interessante e spiega il sistema operativo Android e come sviluppare applicazioni... il libro è http://www.apogeonline.com/libri/9788850329212/scheda.
Up pareri!!!:rotfl:

Ultima modifica effettuata da hackersitiz il 13/11/2010 alle 17:18
PM Quote
Avatar
nihal (Ex-Member)
Pro


Messaggi: 109
Iscritto: 12/04/2010

Segnala al moderatore
Postato alle 17:50
Sabato, 13/11/2010
Il libro non lo conosco, ma ti posso assicurare che non si può eseguire codice nativo su Android. Tutto il software Android è scritto in Java e gira sotto una macchina virtuale denominata "Dalvik" che è molto simile (sottolineo simile) alla JVM di Sun (ora Oracle)...

PM Quote
Avatar
hackersitiz (Normal User)
Pro


Messaggi: 120
Iscritto: 29/09/2010

Segnala al moderatore
Postato alle 17:58
Sabato, 13/11/2010
Io ho letto e mi hanno fatto vedere dei video..
C'è un qualche emulatore dove ci si va installato un qualche programma e si possono creare delle applicazioni da eseguire su android...
Saluti

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 19:41
Sabato, 13/11/2010
Per lavorare su android scarica prima di tutto l'android sdk dal sito di google: http://developer.android.com/sdk/index.html

Poi scarichi eclipse e i plugin di google per sviluppare su android sfruttando l'eclipse update manager come indicato nella documentazione: http://developer.android.com/sdk/eclipse-adt.html

Come libro sto leggendo questo: Beginning Android 2, http://www.amazon.com/Beginning-Android-2-Mark-Murphy/dp/1 ...

Per quanto riguarda il C non mi risulta sia possibili eseguire direttamente codice nativo, ma sfruttando l' Android Native Development Kit (NDK) puoi sfruttare metodi nativi da richiamare da Java; ma si usa in casi estremi come videogiochi o calcoli particolari, le applicazioni tipiche si fanno in 100% Java.

PM Quote
Avatar
hackersitiz (Normal User)
Pro


Messaggi: 120
Iscritto: 29/09/2010

Segnala al moderatore
Postato alle 19:44
Sabato, 13/11/2010
Non so davvero come ringraziarti sei stato davvero grandioso con questa risposta dettagliata....
Una sola domanda, è possibile programmarci in python ?
Grazie ancora

P.S = Illibro sembra molto bello ,
grazie ancora

Ultima modifica effettuata da hackersitiz il 13/11/2010 alle 19:48
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 19:50
Sabato, 13/11/2010
In python sarebbe già più facile, infatti esiste jython, una versione di python che ha l'interprete sviluppato in java.

Partendo da questo ho trovato jythonroid,
http://code.google.com/p/jythonroid/

Ma ti conviene studiarti le basi di Java e usare direttamente lui per sviluppare, essendo la versione ufficiale.

Ultima modifica effettuata da netarrow il 13/11/2010 alle 19:51
PM Quote
Avatar
hackersitiz (Normal User)
Pro


Messaggi: 120
Iscritto: 29/09/2010

Segnala al moderatore
Postato alle 19:52
Sabato, 13/11/2010
Grazie ancora ancora

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 21:14
Sabato, 13/11/2010
con l'Android NDK in pratica compili il tuo codice in C o C++ sotto forma di libreria. Successivamente richiami i metodi di libreria usando l'estensione JNI all'interno dell'applicazione "launcher" che dovrai necessariamente costruire in Java.

Quindi la tecnica base è quella di fare un programma interamente in C++ o in C, con un punto d'ingresso fakeMain() e richiamare il fakeMain da un micro-programmino in Java che funziona così da launcher.

Però ci sono dei problemi:

- Android ogni tanto invia dei "messaggi" che il tuo programma dovrà gestire "lato Java"
- Se ti serve qualcosa di specifico (accelerometro, GPS, ecc...) devi richiederlo "lato Java" e poi passare i risultati al tuo programma, ecc...

Detto questo, ci sono tante tecniche, ma solo 2 sono veramente efficaci:

1- Fai un wrapper Java-vs-C per ogni funzione di Android che userai, ed esponi questo wrapper all'interno del tuo programma in C (difficile, ma ti consente di fare programmi multiplatform)
2- Fai l'intero programma in Java, e soltanto gli algoritmi veramente pesanti implementali in C e richiamali quando serve tramite chiamate JNI (facile, soluzione migliore se non sei molto esperto)

PM Quote
Avatar
hackersitiz (Normal User)
Pro


Messaggi: 120
Iscritto: 29/09/2010

Segnala al moderatore
Postato alle 17:37
Sabato, 20/11/2010
Testo quotato

Postato originariamente da TheKaneB:

con l'Android NDK in pratica compili il tuo codice in C o C++ sotto forma di libreria. Successivamente richiami i metodi di libreria usando l'estensione JNI all'interno dell'applicazione "launcher" che dovrai necessariamente costruire in Java.

Quindi la tecnica base è quella di fare un programma interamente in C++ o in C, con un punto d'ingresso fakeMain() e richiamare il fakeMain da un micro-programmino in Java che funziona così da launcher.

Però ci sono dei problemi:

- Android ogni tanto invia dei "messaggi" che il tuo programma dovrà gestire "lato Java"
- Se ti serve qualcosa di specifico (accelerometro, GPS, ecc...) devi richiederlo "lato Java" e poi passare i risultati al tuo programma, ecc...

Detto questo, ci sono tante tecniche, ma solo 2 sono veramente efficaci:

1- Fai un wrapper Java-vs-C per ogni funzione di Android che userai, ed esponi questo wrapper all'interno del tuo programma in C (difficile, ma ti consente di fare programmi multiplatform)
2- Fai l'intero programma in Java, e soltanto gli algoritmi veramente pesanti implementali in C e richiamali quando serve tramite chiamate JNI (facile, soluzione migliore se non sei molto esperto)


Ti offro una birra quando posso ok? beh poi dipende dove abiti LOL

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo