Создание однорангового обмена фотографиями на Android - PullRequest
2 голосов
/ 15 февраля 2012

Я планирую сделать проект по обмену фотографиями в одноранговой сети на Android. Мой профессор хочет, чтобы я делал это, используя другой язык, кроме Java или C / C ++. Кто-нибудь из Эрланга, Хаскелла, Окамля, Scala, Go полезно создать приложение для Android со следующими функциями?

  1. Возможность создания графического интерфейса для Android для просмотра изображений для совместного использования
  2. Поддержка сокетов связи для передачи картинок?

Ответы [ 4 ]

9 голосов
/ 15 февраля 2012

Поскольку Android сильно зависит от Java, Scala будет хорошим выбором здесь.Scala упрощает взаимодействие с Java-кодом и работает на JVM.Кроме того, это хороший функциональный язык с интересной системой типов, так что это будет хороший опыт обучения.(То же самое можно сказать и о других языках, но Scala, вероятно, проще использовать на Android.)

Ознакомьтесь с Программирование Scala для Android , в котором описывается, как создавать приложения для Android в Scala.

6 голосов
/ 15 февраля 2012

Вы можете компилировать и выполнять программы Go на Android (или ARM в целом), но вы не можете использовать библиотеки Android.Итак, написание сервисов или приложений с графическим интерфейсом для Android в Go на данный момент не так просто.Я не уверен насчет других языков, но я думаю, что у Erlang, Haskell, Ocaml и т. Д. Есть подобные проблемы (если они даже предоставляют компилятор ARM).

Поэтому, вероятно, лучше сосредоточиться на языке на основе JVM,Большинство примеров и других приложений написаны на Java, но Scala также может получить доступ ко всем этим API.Итак, я бы использовал Java или Scala.

2 голосов
/ 16 февраля 2012

Ну, на мой взгляд, это зависит от того, для чего вы действительно хотите использовать язык в отношении вашего проекта. Обмен фотографиями: планируете ли вы использовать веб-инструменты для клиента, т.е. JavaScript, HTML5, CSS3, JQuery Mobile (<a href="http://jquerymobile.com/" rel="nofollow">http://jquerymobile.com/</a>), sencha Touch (<a href="http://www.sencha.com/products/touch" rel="nofollow">http://www.sencha.com/products/touch</a>), Phone Gap (<a href="http://phonegap.com/" rel="nofollow">http://phonegap.com/</a>),<a href="http://www.appcelerator.com/" rel="nofollow">Titanium Appcelerator</a> ИЛИ вы хотите использовать нативные вещи, такие как Java, J2ME, e.t.c. Тогда, если он основан на сети (что, на мой взгляд, будет проще), язык, на который вы ссылаетесь в этом случае, будет на стороне сервера.

Так что, на мой взгляд, если вам просто нужен язык для веб-подачи фотографий и прочего, то не имеет значения, какой вы используете: действительно зависит от ваших предпочтений. Я уверен, что Erlang, Scala, Java и другие имеют возможность разрабатывать отличные веб-сервисы. Тем не менее, условия, которые вы ставите, как показано ниже:

1) Ability to design a GUI for android to view the pictures to be shared <br>2) Support for socket communications to transfer the pictures?
Предположим, что вы имели в виду использование технологии Front-End. Вы не можете использовать Erlang для создания графического интерфейса на Android, если я прав, вы также не сможете использовать Haskell and OcamL, потому что эти технологии не могут работать на устройстве. Для графических интерфейсов на Android вы можете использовать только Java, ИЛИ вы можете использовать технологии виджетов, такие как Opera Widgets, ИЛИ вы используете веб-контент, как я упоминал выше.

Однако вы должны знать, что при использовании библиотек JavaScript, HTML5, CSS3, e.t.c. это самый быстрый и более управляемый способ разработки приложений на любом устройстве. Мне даже интересно, почему вы говорите о Socket Communications! Я правильно тебя понял? Вы хотите разработать приложение для обмена фотографиями, которое передает фотографии через raw Socket Communications? Ну, я НЕ уверен, сколько приложений для Android делают сырые вещи Socket, но я почти уверен, что многие (http://androidapplications.com/) используют протокол HTTP, как в веб-сервисах.

Рассмотрим изучая веб-сервисы, а не сырые сокеты. Я почти уверен, что даже приложения, разработанные с использованием нативной Java, используют HTTP (веб-сервисы, такие как SOAP) для связи с удаленным сервером, будь то погодные приложения, материалы на основе местоположения и т. д. В противном случае, я думаю, вам следует сконцентрируйтесь на Java, пока.
2 голосов
/ 16 февраля 2012

Существует также этот функциональный, динамический, похожий на язык lisp язык на основе JVM Clojure , который, похоже, многим нравится многим.Должно быть возможно использовать его для написания Android Apps .

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