2012-01-22 3 views
47

Я только что начал погружение в мир Android. У меня много опыта программирования приложений на Python, поэтому я ищу хорошую комбинацию «Android + Python», и я думаю, что нашел ее: Kivy.Kivy для Android-приложений

Мне нужно сделать приложения, которые могут загружать и загружать контент из Интернета, возможно, какую-то связь с компонентом карты, включенным в Android, и многое другое, чтобы сделать приятное приложение для Android.

Но я действительно не хочу тратить свое время на то, что, возможно, не сработает. Итак, есть ли у кого-нибудь опыт разработки приложений для Android, используя Kivy? Это действительно полезно, просто, возможно? Или есть лучший вариант, который вы имеете в виду?

+0

Каковы ваши впечатления от Киви? Поддерживает ли он некоторые функции Android, такие как получение местоположения GPS или чтение списка контактов? Любые мысли после того, как вы предположительно использовали Kivy какое-то время? – Tadeck

+1

@Tadeck Я должен признать, что, как и многие другие, я отказался от идеи использования Kivy из-за плохой документации и почти несуществующего активного сообщества. – juliomalegria

+5

Киви почти не существует. Я получаю ответ на свои вопросы каждый раз, когда я спрашиваю их на своем канале IRC. – Joschua

ответ

3

У меня очень мало опыта с ним. Но я знаю, что

SL4A (Scripting Layer For Android) поддерживает также приложения для Android с Python. Возможно, стоит взглянуть на это немного, прежде чем принимать решение о том, что использовать.

+2

Я читал, что SL4A позволяет запускать скрипты Python на Android, но это не позволяет создавать настоящие приложения для Android, знаете ли вы что-то об этом? и что вы знаете о Киви из своего небольшого опыта? – juliomalegria

+0

last Я знал, что не было способа обернуть ваши скрипты python в файл apk в sl4a. Однако кажется, что Tasker имеет возможность запускать отдельные скрипты sl4a (включая python) с указанием или без вывода консоли. И если tasker способен это сделать, представляется возможным, что вы могли бы каким-то образом сделать apk, который содержал скрипты python, и смог запустить их так же, как это может сделать tasker. – FoamyGuy

22

Я использовал и вносил вклад в kivy в течение некоторого времени и использовал его для большого приложения, предназначенного для рынка. Хотя все еще не так полно, как собственное развитие (не уверен, что если использовать API Android API вообще, но есть альтернативы), он работает очень хорошо, с хорошей производительностью. Язык kv для быстрого прототипирования действительно классный.

И как бонусные очки, ваши приложения работают на windows/linux/mac/ios тоже ... (нам еще нужно попробовать приобрести Apple Store, но технически это работает). Редактирование: по крайней мере одно приложение для kivy было принято на рынке Apple, ищите «deflectouch», если вас интересуют.

В отличие от SL4A, вы получаете реальный apk для распространения, с kivy, а также очень приятный и гладкий графический интерфейс api, предназначенный для приложений с несколькими устройствами.

+0

Kivy выглядит очень хорошо, обладает большим потенциалом в отношении интерфейса. Но как насчет Android API? Есть ли способ, которым вы можете его использовать (например, как в SL4A)? Я действительно интересуюсь Kivy, но я не нашел никакой информации относительно, например. чтение данных местоположения GPS, создание тоста, чтение списка контактов, а также отсутствие информации о недоступности таких функций из приложения Kivy. Вы что-то знаете об этом? – Tadeck

+2

kivy android port основан на pgs4a, поэтому у вас есть доступ к этому модулю http://pygame.renpy.org/api.html#module-android, он не является частью kivy api, потому что он не переносимый (только для android). – Tshirtman

+0

@tshirtman, Привет, Спасибо за видео youtube, которое вы сделали, это дало мне толчок в Kivy, пытаясь найти мой путь. Я вижу, что большинство ваших вкладов в StackOverflow находятся на Kivy, это здорово, мы скоро свяжемся с SO :) – securecurve

12

Я считаю, что KivyMaps очень похож на то, что вы пытаетесь сделать.

Если вы избежите кода, отличного от Android, то ваше приложение должно работать на Android без проблем.

Я предлагаю также посмотреть на Python for Android, это сестра проекта Kivy, которая поможет вам создать свой собственный дистрибутив Python, включая модули, которые вы хотите, и создать apk, включая python, libs и ваше приложение. В частности, посмотрите на свои собственные API-оболочки для Android. Проект является новым, поэтому поддерживается только несколько встроенных API, но он может дать вам представление о том, как приступить к созданию оболочки для API сервисов определения местоположения Android, если вам это нужно.

Что касается внешней библиотеки Google maps, я согласен с tshirtman. Я не уверен, как это можно использовать, но поскольку ссылка KiviMaps выше, есть альтернативные подходы.

1

Kivy - это кроссплатформенная платформа Python для разработки NUI. Это хорошо для некоторых приложений для создания прототипов Android. Вы можете использовать Kivy Launcher для более быстрого тестирования. Вы можете использовать библиотеку python для быстрой разработки. Вы можете использовать pyjnius для доступа к java-классам для java-функции.

Предлагаю вам прочитать Kivy Interactive Applications in Python книгу для новичков.

Но на некоторой глубине вы должны знать, как использовать основной виджет. Потому что какая-то запутанная концепция есть.Для холста, это другая концепция в html5. Класс и класс класса Kivy некоторые запутывают для новичков.

И для приложения для Android есть некоторая сложная в использовании не основная поддерживаемая библиотека, например Beautiful Soup (известная библиотека HTML-анализатора html и xml).

Смежные вопросы