Войти
AndroidФорумОбщее

На чём, в основном, создают игры для Android? (4 стр)

Страницы: 1 2 3 4 5 Следующая »
#45
11:43, 7 ноя. 2012

TarasB
> А без неё создать активити, руками надувая жабу, можно?

Немного не понял вопрос. Что означает "руками надувая жабу"? =)
Жаба и является в андроиде точкой входа в программу - система ищет в списке зарегистрированных java-классов тот что ты указал в манифесте приложения и дёргает его за жабры. Никакой магии. А уже Java может через JNI дернуть С/С++ код из so-шки распространяемой с приложением.


#46
12:20, 7 ноя. 2012

TarasB
> А без неё создать активити, руками надувая жабу, можно?
Не только можно, но и необходимо. С версии 1.6 (как появился NDK) и вплоть до 2.3 (до появления NativeActivity) это был единственный способ писать нативные приложения. NativeActivity это просто "уже написанная гуглом" ява-обёртка для работы с нативным кодом, которую не приходится писать руками.

P.S. Я говорю про написание нормального ява-кода, а не про JNIenv* вызовы из С++. Что ты имел в виду под "надувать руками жабу" не знаю. Полагаю, это.

#47
13:17, 7 ноя. 2012

=A=L=X=
> Немного не понял вопрос. Что означает "руками надувая жабу"? =)

Ну как в детстве соломинкой XDDD
В общем, даже в 2.3 без жабокода дело не идёт, я так понял, просто жабокод сгенерирован заранее.
Вывод - нужен крестотулчейн, который принимает крестокод, сам создаёт стандартную жабоболванку и компилирует сие дело. Даже под 1.6.

ALPINE
> а не про JNIenv* вызовы из С++.

Да, я про это. С почти нуля (т.е. с минимальным количеством жабострок) андроидная крестопрограмма должна состоять из вот этих извратных вызовов? Или без активити не получишь класс для вызова метода?

#48
13:49, 7 ноя. 2012

TarasB
> Или без активити не получишь класс для вызова метода?

Система общается с андроидопрограммой через активити и всякие прочие вспомогательные жабо-классы, поэтому на голом си не получится в принципе.

В этом много пользы между прочим.
Во первых - джава кроссплатформенна - а значит андроид приложение работать будет на андроидофонах и самсунг и с тем же успехом хтц, например.
Во вторых - языконезависимость - просто пишешь на яве и не зависишь от других языков.
В третьих - простота тулчейнов. Уже привычный тебе Android SDK сравнительно прост. Вспомни, у тебя только пара месяцев ушла чтобы его освоить, в то время как у многих на компиляцию собственного ядра линукс под КДЕ годы уходят.

#49
14:21, 7 ноя. 2012

=A=L=X=
ТОЛСТО

#50
17:23, 7 ноя. 2012

TarasB
Короче.
До 2.3 пишем на настоящей яве класс, во всех обработчиках делаем JNI вызовы, из С++ их принимаем.
После 2.3 всё это сделано за нас и называется NativeActivity.

> (т.е. с минимальным количеством жабострок) андроидная крестопрограмма должна
> состоять из вот этих извратных вызовов?
Да. В NativeActivity извратные вызовы тоже есть, только скрыты от нас, поэтому мы думаем, что всё хорошо :)

> нужен крестотулчейн, который принимает крестокод, сам создаёт стандартную
> жабоболванку и компилирует сие дело.
Как уже сказано выше, оно существует и называется NativeActivity. Хочешь до 2.3 - напиши то же самое руками.

#51
10:55, 17 ноя. 2012

=A=L=X=
> поэтому на голом си не получится в принципе.


Написание программ под Android на С++

В этой части мы не будем писать на Java. Напишем программу под Android используя только C++. Это будет просто.

http://freehabr.ru/blog/android/3326.html

#52
13:59, 17 ноя. 2012

kerosene
> нам нужна поддержка фич NDK, которые появились только в версии Android 2.3
> 2.3

#53
10:04, 19 ноя. 2012

TarasB

И что тебя смущает?
Уже версия 4.2 вышла.

#54
10:31, 19 ноя. 2012

kerosene
> И что тебя смущает?

Наличие 100500 мобилок под 2.2 или ниже.

#55
13:32, 19 ноя. 2012

kerosene
> В этой части мы не будем писать на Java. Напишем программу под Android
> используя только C++.

Тему не читай & сразу отвечай? =)

#56
15:36, 28 ноя. 2012

Haxe NME

#57
15:58, 28 ноя. 2012

>Haxe NME
Интересная штука..

NME is a free, open-source framework that enables development for iOS, Android, webOS, BlackBerry, Windows, Mac, Linux and Flash Player from a single codebase. Unlike most cross-platform frameworks, NME applications are not written in a low-level language (like C or C++) and does not require a virtual machine or runtime (like Java and Adobe AIR) in order to run on a target platform.

Кто понял - во что оно компилируется под андроидом? Просто аттачит интерпретатор и интерпретирует? Или компилится в ява-байткод, флеш байткод, нативный код?

#58
19:03, 28 ноя. 2012

TarasB
> Наличие 100500 мобилок под 2.2 или ниже.
Это плохие мобилки со старым железом. Не пишите под них.

#59
21:20, 28 ноя. 2012

FedeX
> Кто понял - во что оно компилируется под андроидом? Просто аттачит
> интерпретатор и интерпретирует? Или компилится в ява-байткод, флеш байткод,
> нативный код?
When you target a native platform, such as Windows, Mac or Linux on the desktop, or iOS, Android, webOS or BlackBerry for mobile, NME relies upon a library which uses common native components such as OpenGL for the desktop, OpenGL ES for mobile, libjpeg, libpng, Freetype, cURL, SDL and other native code (some written in Java and Objective-C) to power the API.

TarasB
> Наличие 100500 мобилок под 2.2 или ниже.
на 2.2 сейчас осталось 10% устройств, а на 2.1 и ниже 3% с копейками, можно забить

Страницы: 1 2 3 4 5 Следующая »
AndroidФорумОбщее

Тема в архиве.