sviluppo di un'app per Android che include un toolkit C ++ [chiuso]

1

Sono uno sviluppatore Java e voglio sviluppare un'app per Android che cattura una foto ed estrae i suoi sacchetti di parole visive. Per estrarre quei sacchetti di parole, uso il TOP-SURF toolkit che è scritto in C ++

Sono nuovo nello sviluppo del C ++ e voglio sapere come sviluppare un'app per Android che usi questo toolkit

Ho letto su NDK. È la soluzione?

    
posta nawara 02.10.2013 - 17:32
fonte

2 risposte

3

Il NDK è la soluzione a tutti i problemi Android:)

Ho notato con interesse che tutti i migliori giochi che ho sono tutti scritti nel NDK (get Addon Detector - usato principalmente per vedere quale applicazione contiene quelle * * spingere le API degli annunci, ma indica anche quali strumenti di sviluppo sono stati utilizzati per un'app).

Scrivere con NDK significa che non dovrai preoccuparti di usare la libreria C ++. Se vuoi mantenere il tuo codice Java, puoi semplicemente usare JNI per chiamarlo, o includilo in una classe .

    
risposta data 02.10.2013 - 19:38
fonte
0

Il problema con NDK ( il motivo principale per cui i documenti ufficiali dicono di non usarlo solo come performance boost ) ha a che fare con il fatto che qualunque sia il codice C / C ++ che scrivi per la tua app per Android, a un certo punto verrà comunque chiamato dal codice Java tramite JNI. E le chiamate JNI sono lente.

Detto questo, puoi evitare chiamate JNI granulari e ottenere buone prestazioni in determinate situazioni. La cosa migliore da fare è fare una piccola prova di concetto per la tua app.

Ecco cosa dovrei fare:

  • Installa il fantastico plug-in Sequoyah di Eclipse in Eclipse (che dovrebbe già contenere Plug-in Endroid Eclipse )
  • Ottieni il codice sorgente per la tua libreria. Crealo come libreria Android e aggiungilo al tuo progetto ( puoi farlo utilizzando l'NDK ) o aggiungi semplicemente il codice sorgente di tale libreria al progetto della tua app
  • Prova a scrivere una attività nativa che fa alcune semplici chiamate API verso la tua biblioteca. Una volta che funziona, fai alcuni benchmark per vedere se puoi ottenere tempi di risposta facili da usare per alcune delle solite operazioni che intendi implementare
  • Evita l'emulatore Android, è semplicemente terribile. Utilizza un dispositivo Android reale.
risposta data 03.10.2013 - 17:13
fonte

Leggi altre domande sui tag