2012-05-04 4 views
1

В какой версии Android API вы захотите начать разработку нового приложения Java?Является ли Android API 2.2.1 слишком устаревшим?

Недавно я получил использованный смартфон под управлением Android 2.2.1. Поскольку я никогда не экспериментировал с мобильной разработкой, я решил использовать его в качестве поводов для разработки нового приложения для Android.

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

Я не хочу начинать разработку с устаревшей версией API, поэтому я спрашиваю, следует ли начинать мою разработку и учиться, используя уровень 8 API уровня Android, лучше выбрать, или если было бы лучше использовать более новую версию API.

Я прочитал why is Android API level 9 obsolete? и Which Android API to use? по S.O. о том же аргументе, но оба вопроса сейчас довольно устарели, и я думаю, что они оставили вопрос открытым.

В частности, Ян Dragsbaek сказал в своем ответе:

Вы всегда должны идти на минимально возможном API для использования. Просто , потому что чем ниже уровень API, тем больше пользователей вы сможете достичь.

Так, глядя на current stats, вы можете достичь 97,9%, если вы «немой» себя до уровня API 7.

Но почему уровень API 9 является устаревшим? Нельзя было точно знать, но, скорее всего, потому, что у него были некоторые серьезные недостатки.

Чтение actual stats, это ситуация:

Platform  Codename   API-Lvl Distribution 
Android 1.5  Cupcake    3  30,00% 
Android 1.6  Donut    4  70,00% 
Android 2.1  Eclair    7  550,00% 
Android 2.2  Froyo    8  20,90% 
Android 2.3  Gingerbread   9  0,50% 
Android 2.3.2 - 
Android 2.3.3 -     10  63,90% 
Android 2.3.7 -  
Android 3.0  Honeycomb   11  0,10% 
Android 3.1  -     12  1% 
Android 3.2  -     13  2,20% 
Android 4.0 - Ice Cream Sandwich 14  0,50% 
Android 4.0.2 -  
Android 4.0.3 -     15  4,40% 
Android 4.0.4   
Total for Android 2.2      93,50% 

Теперь вопрос: Что я потеряю, если я разрабатываю с уровнем 8 API в плане возможностей? И что я получу с точки зрения стабильности или поддержки инструмента?

EDIT:

я, наконец, решил использовать уровень 7 из API, которые предлагают мне функцию мне действительно нужно, чтобы начать экспериментировать на новом телефоне. В конце концов, когда я думаю, что для приложения потребуется некоторая функция, недоступная текущему уровню, я переношу приложение на следующий уровень API.

На данный момент я попытаюсь следовать Building a Custom Fancy ListView in Android и посмотреть, не хватает ли я чего-то действительно полезного с самого начала.

+0

Я не думаю, что этот вопрос придерживается принципов SO. Это слишком субъективно. –

+0

Я объективно спрашиваю, какие функции и модификации API от уровня версии 8 до фактического. –

+0

Просто ознакомьтесь с новыми API и прочитайте справочный материал с обратной совместимостью по адресу http://developer.android.com/training/backward-compatible-ui/index.html. Нет причин ограничивать себя старым APIS только потому, что большинство пользователей используют это в настоящее время. Со временем это изменится. Кроме того, вы можете играть со всеми новыми функциями :) – Jack

ответ

2

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

Сказав это, если вы все еще чувствуете себя некомфортно с более низким уровнем API и оказываетесь ограниченными, вы можете использовать Android Support Libraries. Цитирование из описания библиотеки поддержки:

Пакета поддержки включает в себя статическую «библиотеку поддержки», которые вы можете добавить в свой Android приложения для того, чтобы использовать API-интерфейсы, которые либо не доступны для более старых версий платформы или этого предложения " полезности ", которые не являются частью API-интерфейсов. Целью является упрощение вашего развития, предлагая больше API, которые вы можете связать с вашим приложением, чтобы вы могли меньше беспокоиться о версиях платформ.

2

Уровень 9 устарел, потому что уровень 10 полностью заменил его. Другой способ сказать, что Android 2.3.3 заменил Android 2.3, так что теперь, если вы нацелены на 2.3 устройства, вы используете API 2.3.3. Уровень 8 не устарел, поскольку для его замены не существует аналогичного уровня API (все обновления 2.2 по-прежнему были 8-го уровня).

Что касается потерянных функций, вы можете посмотреть на list of all the new features in API 9 (API 10 на самом деле не имеет каких-либо крупных новых функций, но вы также можете проверить его на том же сайте). Если вам не нужны какие-либо из этих функций, тогда вам не нужно стремиться к 2.3.3. То же самое снова между 2.2 и 2.1; идти с самым низким уровнем, который имеет функции, которые вы хотите, как вы сказали. По опыту, 2.1 обеспечивает все, что вам нужно для регулярного использования - интернет, хранилище, графику (хотя улучшенная графика улучшается, когда вы продолжаете), пользовательский интерфейс и т. Д.

+0

Я не думаю, что моему приложению понадобятся особые усовершенствованные функции, я думаю, что я поеду с 2.1, как вы предлагаете. Спасибо. –

0

Вы ничего не получите и не потеряете.

Уровень 9 является устаревшим по сравнению с уровнем 10. Уровень 9 - GINGERBREAD, а уровень 10 - выпуск 1 для ухода за пряниками, т. Е. Исправления ошибок.

Уровень 8 2.2, уровень 7 - 2.1, они не устарели, а просто стары.

+0

Я не очень понимаю, почему вы говорите, что уровень 9 устарел, а уровень 7 - нет. Разве он не старше 9-го уровня? –

+1

«Устаревший» не означает «старше». Это означает «что-то заменено чем-то». Они заменили API 9 на API 10, потому что в этой версии были ошибки в API 9. Они никогда не заменяли API 7 –

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