Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Giena
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 8
#1

Разбор примера teapot из NDK - Программирование Android

23.11.2015, 16:10. Просмотров 213. Ответов 1
Метки нет (Все метки)

Здравствуйте.

Разбирая пример Teapot из примеров NDK столкнулся с непониманием определенных вещей. Информации тоже не могу толком найти. Помогите советом или хотя бы направьте, где копать.

Суть в следующем:

Класс JNIhelper представляет из себя синглтон и предлагает доступ к функциям из Java класса (NDKHelper в примере), при этом используется лок/анлок мьютекса перед использованием attachcurrentthread. Здесь вроде все ясно. Нативщина запускается в отдельном потоке (судя по докам гугла), и что бы приконнектиться к другому потоку, надо встать в очередь, а как она придет заблокировать ресурс пока им пользуешься.

В Классе же TeapotNativeActivity на с++ стороне, имеются 2 функции ShowUI и UpdateFPS, реализованные в классе TeapotNativeActivity.java, при этом никакого мьютекса не используется. Отсюда вопрос

1) Почему в одном случае ресурс лочится для потокобезопасного доступа перед attachcurrentthread, а в другом нет?

И второй вопрос.

2) Во многих классах из NDKHelper.h используется #include "JNIHelper.h", однако функции данного класса не использованы. Вопрос, зачем он туда включен?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2015, 16:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разбор примера teapot из NDK (Программирование Android):

AS и Ndk - Программирование Android
Здравствуйте На официальном сайте в разделе ndk почему- то описывается eclipse Предполагается что с AS по аналогии и типа сами...

Android NDK - Программирование Android
Здравствуйте. Хотелось бы написать пару программок на андроид, но джаву вообще не знаю. Нагуглил, что можно писать на С++, но толком как...

NDK и SDK - Программирование Android
есть класс на яве который использует массив, который с течением времени увеличивается ( то есть массив динамический) в массиве находятся...

Android NDK - Программирование Android
Здравствуйте, форумчане. Появилось пара вопросов относительно Android NDK... С NDK можно программировать только вставками нативного...

Подключить NDK - Программирование Android
(моя 101я попытка начать работать с NDK) Чуть сдвинулся, но не хватает теории... 1) Скачал последний NDK (android-ndk-r9c) 2)...

NDK C vs C++ и примеры - Программирование Android
Гуру NDK! Посоветуйте! В очередной раз взялся за NDK и вдруг получилось... Успешно запустил все примеры что были под руками... ...

1
EVP
390 / 246 / 43
Регистрация: 14.12.2010
Сообщений: 472
23.11.2015, 22:36 #2
Цитата Сообщение от Giena Посмотреть сообщение
1) Почему в одном случае ресурс лочится для потокобезопасного доступа перед attachcurrentthread, а в другом нет?
Скорее всего, мьютекс позволяет гарантировать отсутствие изменений в полях класса ndk_helper::JNIHelper во время операций.
Цитата Сообщение от Giena Посмотреть сообщение
2) Во многих классах из NDKHelper.h используется #include "JNIHelper.h", однако функции данного класса не использованы. Вопрос, зачем он туда включен?
JNIHelper.h сам включает некторые заголовки, которые им нужны: это jni.h,vector,string.

Я посоветую поизучать пример san-angeles. Он более удобен для взаимодействия java и C++ кода.
+ Android NDK. Разработка приложений под Android на С/С++.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2015, 22:36
Привет! Вот еще темы с ответами:

SDK or NDK - Программирование Android
я начинающий разработчик, на данный момент не много знаю с++. 1) Что лучше изучать SDK и яву или же NDK, в будущем хочу попробовать себя...

Использование NDK - Программирование Android
Пытаюсь освоить NDK... И как всегда не хватает ЗАДАНИЙ! Не могу придумать где можно использовать (для новичка в с++)... Писать еще один...

TCP клиент в NDK - Программирование Android
Как реализовать TCP клиент используя андроид ndk на С++?? Я слышал, что у андроид такое же ядро как и у Linux. То есть на андроид ndk будет...

Защита от взлома с ndk - Программирование Android
код на плюсах тоже декомпилируется в читаемый код?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru