Совместное использование кода между Android и Windows Mobile - PullRequest
1 голос
/ 10 июня 2010

Я провожу первые исследования в области разработки смартфонов и заметил, что Android и Windows Mobile поддерживают c ++ для разработки приложений. Мне было любопытно, есть ли у кого-нибудь опыт управления общими файлами между Android и Windows Mobile, и в какой степени этот код можно передавать? например пользовательский интерфейс не может быть предоставлен в общий доступ, но классы веб-служб и бизнес-логики могут быть общими и т. д.

1 Ответ

3 голосов
/ 10 июня 2010

Я не могу говорить о стороне WinMo, но на стороне Android вы действительно должны избегать использования нативного кода ни для чего, кроме алгоритмов обработки, критичных для производительности.Материал JNI / NDK плохо сочетается с обычным жизненным циклом Dalvik и может быть источником всевозможных уродливых неприятных ошибок и утечек памяти.Из того, что я понимаю, также нет встроенных библиотек NDK для более сложных высокоуровневых функций, таких как HTTP (просто более базовые / ориентированные на производительность библиотеки, такие как libz и OpenGL), поэтому вам, вероятно, придется скомпилировать этот материал и отправить егоэто с приложением, а также.Я бы определенно не рекомендовал кодировать ваши классы веб-сервисов в C ++, даже если это технически возможно;написание C # / Java будет менее глючным и приятным, и вы должны иметь возможность принимать в основном одинаковые архитектурные решения для согласованности.

Тем не менее, если у вас есть критичный к производительности бит кода обработки изображений илинапример, на самом деле может быть довольно просто заставить эту работу работать через Android на других платформах (я видел, что это довольно хорошо работает с некоторым C-кодом для обработки изображений, который используется в приложении для iPhone, а затем используется через NDK в приложении для Android).

Проверьте документацию на NDK для получения подробной информации о том, что он может (и не может) делать, и посмотрите похожие потоки SO, такие как этот .

...