...:::Интер:::...

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ...:::Интер:::... » Программирование » Программирование под Android для начинающих. Часть 1


Программирование под Android для начинающих. Часть 1

Сообщений 1 страница 6 из 6

1

Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.
______________________________________________________________________________________________________________________________________________
Смартфоны и планшеты на Android все чаше встречаются в наших сумках и карманах, и программирование под Android также становится все популярнее. Это отличная платформа для разработки — API прекрасно документирован и прост в использовании, да и просто интересно создать что-то, что вы cможете запустить на своем смартфоне. Изначально вы можете обойтись и без него, создав и протестировав код с помощью эмулятора на вашем Linux ПК. В первой из двух частей этого введения объясняется как создать простое приложение с таймером, а также даются начальные сведения о Android API. Курс подразумевает наличие начальных представлений о Java, XML и технологиях программирования, но тем не менее не стесняйтесь попробовать даже если вы имеете об этом очень смутное представление.
______________________________________________________________________________________________________________________________________________
Начало работы и среда разработки
______________________________________________________________________________________________________________________________________________
Немного о версиях: последней версией Android является 4.2 (Jelly Bean), но, как можно выдеть по этой диаграмме, она еще недостаточно распространена. Лучше всего начинать разработку под одну из версий: 4.0 (Ice Cream Sandwich) или 2.3 (Gingerbeard), особенно с учетом того, что версии Android поддерживают обратную совместимость (т.е. ваш код для версии 2.3 будет работать и на 4.2), а приложения, разработанные для более поздней версии, не всегда будут работать и на старой. Приведенный здесь код должен работать на версиях 4.0 и 2.3.
Простейший способ получить среду разработки — установить Android Bundle, который можно скачать здесь. Также вам понадобится JDK 6 (не только JRE). Не забудьте что Android не совместим с gcj. Если вы уже используете Eclipse или другую IDE, то вы можете попробовать настроить ее под Android. Как это сделать — описано здесь. Теперь создайте проект под именем Countdown с помощью Eclipse, или из командной строки. Я установил в настройках BuildSDK 4.0.3 и minimum SDK 2.2, и (в Eclipse) использовал шаблон BlankActivity.
____________________________________________________________________________________________________________________________________________
https://www.linux.com/images/stories/3734/android_1_countdown.png
____________________________________________________________________________________________________________________________________________
Мой первый проект под Android: интерфейс
____________________________________________________________________________________________________________________________________________
Первой нашей программой под Android будет таймер, показывающий обратный отсчет от 10 секунд после нажатия кнопки. Прежде чем писать код, нужно создать интерфейс — то, что пользователь увидит, запустив наше приложение. Нужно открыть res/layout/activity_countdown.xml и создать XML шаблон — с помощью редактора Eclipse или текстового/XML редактора ввести следующее:
_<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
_   xmlns:tools="http://schemas.android.com/tools"
_    android:layout_width="match_parent"
_    android:layout_height="match_parent" >
_      <TextView
_          android:id="@+id/time_display_box"
_          android:layout_width="wrap_content"
_          android:layout_height="wrap_content"
_          android:layout_alignParentTop="true"
_          android:layout_centerHorizontal="true"
_          android:layout_marginTop="60dp"
_          android:text="@string/_00_30"
_          android:textAppearance="?android:attr/textAppearanceLarge"/>
_      <Button
_          android:id="@+id/startbutton"
_          android:layout_width="wrap_content"
_          android:layout_height="wrap_content"
_          android:layout_below="@+id/time_display_box"
_          android:layout_centerHorizontal="true"
_          android:layout_marginTop="41dp"
_          android:text="@string/start" />
_   
_ </RelativeLayout>
____________________________________________________________________________________________________________________________________________
Обратите внимание на @string/start и @string/__00_30. Их значения будут расположены в res/values/strings.xml:
_ <string name="start">Start</string>
_ <string name="_00_30">00:30</string>
Это общепринятый способ обращения к ресурсам в Android: лучше использовать ссылки на строковые переменные, чем жестко заданные строки.
____________________________________________________________________________________________________________________________________________
Мой первый проект под Android: код
____________________________________________________________________________________________________________________________________________
Теперь откроем в редакторе файл CountdownActivity.java — и мы готовы писать код нашего приложения. Вы должны увидеть автоматически сгенерированную «заглушку» метода onCreate(). Он всегда вызывается как только создается объект Activity, и в него вы можете поместить какие-либо функции, которые должны выполняться при запуске приложения. (Eclipse также может создать пустой метод onCreateOptionsMenu(), но мы пока не будем обращать на него внимания). Введите следующий код:
_public class CountdownActivity extends Activity {
_   
_  private static final int MILLIS_PER_SECOND = 1000;
_  private static final int SECONDS_TO_COUNTDOWN = 30;
_  private TextView     countdownDisplay;
_  private CountDownTimer timer;
_  @Override
_  public void onCreate(Bundle savedInstanceState) {
_    super.onCreate(savedInstanceState);
_    setContentView(R.layout.activity_countdown);
_       
_    countdownDisplay = (TextView) findViewById(R.id.time_display_box);
_    Button startButton = (Button) findViewById(R.id.startbutton);
_    startButton.setOnClickListener(new View.OnClickListener() {
_      public void onClick(View view) {
_        try {
_          showTimer(SECONDS_TO_COUNTDOWN * MILLIS_PER_SECOND);
_        } catch (NumberFormatException e) {
_          // method ignores invalid (non-integer) input and waits
_          // for something it can use
_        }
_      }
_    });
_  }
_ }
____________________________________________________________________________________________________________________________________________
Вы видите как просто оказалось создать наш первый проект: Android API включает в себя CountDownTimer, который мы можем использовать. Мы объявили его и поле отображения обратного отсчета как закрытые (private) свойства класса Activity. В методе onCreate() мы использовали метод setContentView, чтобы подключить наш XML-шаблон. Такой R.foo.bar синтаксис — это стандартный способ обращения к XML-ресурсам в Android, и мы встретимся с ним еще много раз.
findViewById — это еще один метод, который вы будете часто использовать. Здесь он возвращает ссылки на поле вывода таймера и кнопку Start, описанные в XML-шаблоне. Для кнопки, чтобы мы могли обработать ее нажатие, должен быть задан «перехватчик» OnClickListener, и его метод onClick(). Здесь он просто вызывает метод showTimer() c заданным числом миллисекунд (сейчас жестко заданным в коде).
Итак, что делает showTimer():
_ private void showTimer(int countdownMillis) {
_  if(timer != null) { timer.cancel(); }
_  timer = new CountDownTimer(countdownMillis, MILLIS_PER_SECOND) {
_  @Override
_  public void onTick(long millisUntilFinished) {
_    countdownDisplay.setText("counting down: " +
_    millisUntilFinished / MILLIS_PER_SECOND);
_  }
_ @Override
_    public void onFinish() {
_      countdownDisplay.setText("KABOOM!");
_    }
_  }.start();
_   }
____________________________________________________________________________________________________________________________________________
Класс CountDownTimer делает за нас почти всю работу, что очень приятно. В начале мы проверяем, существует ли уже таймер, и, если он есть, то сбрасываем его. Далее мы создаем новый таймер с заданным числом миллисекунд для обратного отсчета (из параметра метода showTimer()) и с заданным числом миллисекунд между интервалами отсчета. По истечении времени между интервалами вызывается метод onTick().

CountDownTimer — абстрактный класс, и методы __onTick() и __onFinish() должны быть реализованы в его подклассе. Мы переопределяем метод onTick(), уменьшающий выводимое число на единицу по истечении каждого интервала, и метод onFinish(), выводящий на дисплей сообщение о окончании обратного отсчета. Потом start() запускает таймер.

С помощью команды «Run» в Eclipse вы можете запустить созданное приложение, при этом будет автоматически запущен эмулятор Android. Посмотрите документацию по Android если вы хотите узнать больше о настройке эмулятора, или о запуске приложений из командной строки.

Поздравляем, вы только что создали свое первое приложение под Android. Во второй части этого введения мы более подробно рассмотрим структуру Android-приложения, и сделаем некоторые улучшения нашей программы: ввод времени обратного отсчета, кнопку Stop и меню. Также мы запустим его на реальном устройстве, а не на эмуляторе.

Отредактировано dron21041 (2013-04-14 12:28:11)

+1

2

Надо бы вирус запилить:)

0

3

thedimzone написал(а):

Надо бы вирус запилить:)

Что???

0

4

dron21041 написал(а):

Что???

Под андройд

0

5

оо а эт че за прога??

0

6

vladVSS
Это урок кодинга под андройд http://s1.uploads.ru/i/ydQPF.gif

0


Вы здесь » ...:::Интер:::... » Программирование » Программирование под Android для начинающих. Часть 1



© 2000 Сервис форумов «LiFeForums»
Создать форум бесплатно | Домен за 149 руб
Разместить рекламу * Пожаловаться на форум * Политика конфиденциальности