Je souhaite créer une application Mac OS X native à l'aide de Cocoa + Objective C, mais je dois me connecter à une source de données propriétaire et pour cela, le propriétaire de la source de données fournit uniquement la bibliothèque Java. J'ai donc besoin d'importer en quelque sorte cette bibliothèque Java dans mon projet et d'appeler des fonctions sur ses classes Java (Ou créer un wrapper java autour de cette librairie puis appeler mon wrapper depuis l'objectif-C).Appel de la bibliothèque Java à partir d'Objective C sur Mac
Maintenant, comment puis-je faire cela? La recherche rapide sur google m'amène à JNI mais je n'ai trouvé aucun article/tutoriel (actuel) bon et actuel. J'aurais vraiment besoin d'un article HOW TO, comment charger cette librairie java, démarrer VM si nécessaire, et comment créer des objets java et appeler des fonctions dessus. Vraiment quelque chose de simple et je peux partir de là. Merci. Pour clarifier, je répète: Je veux appeler les fonctions Java d'Objective-C, je ne veux pas appeler les fonctions natives de Java.
+1 pour utiliser des processus séparés Vous aurez probablement beaucoup plus de facilité à écrire un service en Java qui communique avec votre source de données et avec votre objectif -C-App –
Salut Jeffrey, oui j'ai vu cette API Invocation, je vais y jeter un coup d'oeil de plus près.Cette idée de l'application java et mon application de cacao communiquant sur les sockets est assez bonne.Mais je préférerais démarrer ce java application sur fond quand mon application de cacao est commencé à ne pas fonctionner comme service tout le temps, savez-vous si quelque chose comme ça est possible? (J'ai été développeur .net pendant 6 ans, faire des trucs mac seulement pendant 4 mois maintenant, donc désolé si mes questions sont stupides) – Michal
Il n'y a aucune raison pour que votre application Objective-C ne puisse pas démarrer l'application Java en tant qu'application chaque fois que nécessaire (comme startin g tout autre binaire). Vous pouvez ensuite utiliser des sockets pour communiquer avec lui. Vous pouvez même implémenter une commande "End" pour qu'elle se termine quand vous avez terminé, de cette façon elle ne fonctionne que lorsque vous en avez besoin. Vous devrez attendre quelques secondes avant de vous connecter, java est assez lent pour démarrer des applications. –