Пользовательский интерфейс Android в C ++ - PullRequest
4 голосов
/ 03 июня 2011

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

Ответы [ 3 ]

3 голосов
/ 03 июня 2011

Взгляните на Necessitas , это порт Qt для Android, который, кажется, работает довольно хорошо.

Хотя он все еще может находиться на стадии альфы или беты, поэтому все будет зависеть от того, насколько "серьезен" ваш проект. Но это доказывает, что можно использовать простой C ++ для создания законченного приложения, а не только библиотек.

2 голосов
/ 10 июня 2011

Вы можете использовать JNIpp , чтобы создать оболочку для деятельности и всех интересующих вас классов пользовательского интерфейса. Взгляните на пример HelloJNIpp , он имеет встроенную активность, собственный пользовательский вид икнопка.

Спойлер:

void MainActivity::OnCreate(const jni::LObject& bundle) {
    Activity::OnCreate(bundle);
    SetContentView(R::GetLayout("main"));
    FindViewById(R::GetID("changeColor"))->
        SetOnClickListener(*this,&MainActivity::ChangeColor);
}
1 голос
/ 04 июня 2011

Вы всегда можете использовать JNI, чтобы вернуться в Java, чтобы получить компоненты пользовательского интерфейса на экране.Если вы установите его чуть более, чем API, вы можете смоделировать его в собственном коде.У NVidea есть несколько хороших примеров того, как это сделать: http://developer.nvidia.com/tegra-resources Этот код библиотеки делает это не для компонентов пользовательского интерфейса, а для различных других вещей (звук, ресурсы и т. Д.).и идея должна работать и для компонентов пользовательского интерфейса.

Кроме того, этот проект предположительно поддерживает весь SDK в C ++, и я думаю, что он делает это так же.Я не знаю, насколько он актуален, поскольку я на самом деле не использовал его: http://code.google.com/p/android-cpp-sdk/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...