вторник, 12 февраля 2013 г.

Угадай рок-звезду

Версия: 1.01
Жанр: казуальная


Google Play Web: https://play.google.com/store/apps/details?id=com.tuhlom.rockstar
Google Play: market://search/?q=pname:com.tuhlom.rockstar

Скачать игру (23,1Мб)


Как хорошо ты знаешь мир рока и металла? Если ты настоящий знаток классики мирового рока, то это приложение для тебя!



Цель игры: угадать имя рок-звезды по фотографии. Также доступен специальный режим викторины: угадай, какой из 9 представленных на картинках музыкантов исполняет песню, название которой ты видишь.

вторник, 4 декабря 2012 г.

Публикация приложения на Google Play(Android Market) - Часть 1

  Google Play - без сомнения, самая популярная платформа для распространения приложений на Android. В этой статье я постараюсь максимально подробно и наглядно объяснить всю последовательность действий, необходимую для того, чтобы ваше приложение оказалось на Google Play и было доступно для скачивания.
   Это первая статья о публикации Android-приложений, в которой мы делаем первый шаг.

Шаг 1. Регистрация аккаунта разработчика на Google Play


   1) переходим в консоль разработчика и заходим в неё под своим логином Google(если вы ни разу не регистрировались в системах Google, то сначала зарегистрируйтесь).

   2)Вы увидите перед собой такой экран:
    Имя разработчика - это то, что отображается в Google Play серым шрифтом под названием приложения. Впишите сюда либо ник, под которым хотите распространять программы, либо имя и фамилию латинскими буквами.

пятница, 23 ноября 2012 г.

Android: Вызов клавиатуры и выбор метода ввода(IME)

    В приложениях часто бывает нужно программно вызвать клавиатуру, чтобы пользователю не пришлось специально нажимать на поле EditText для её вызова. Для программного вызова клавиатуры нужно вставить в приложение следующий код:

// Показать клавиатуру
EditText et = (EditText) findViewById(R.id.et);
InputMethodManager imm = (InputMethodManager)
     getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(et, 0);

    Код для скрытия клавиатуры:

// Спрятать клавиатуру
EditText et = (EditText) findViewById(R.id.et);
InputMethodManager imm = (InputMethodManager)
     getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.hideSoftInputFromWindow(et.getWindowToken(), 0);

    Здесь et - это текстовое поле EditText, в которое будут вбиваться данные с вызванной нами экранной клавиатуры. Если при переходе в новое activity у пользователя в фокусе оказывается EditText, то Android автоматически вызовет экранную клавиатуру. Теперь вы можете заблокировать это действие.

    Вызвать окно выбора метода ввода(IME) можно с помощью следующего кода:

//Вызов окна выбора метода ввода
InputMethodManager imm = (InputMethodManager)
        getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showInputMethodPicker();

    При вставке этого кода, скажем, в обработчик нажатия кнопки пользователь по клику на эту кнопку быстро получит окно выбора метода ввода:



четверг, 22 ноября 2012 г.

Android: Создание обработчика(listener) для вызова экранной клавиатуры

    В процессе работы над приложением передо мной встала задача: отследить открытие и закрытие пользователем экранной клавиатуры. При открытой клавиатуре была видна только половина экрана, поэтому в момент выползания клавиатуры у меня включалась возможность вертикального скролла, но реализация этого - тема для отдельной статьи =)
 
    Итак, наша задача:
  • отследить открытие пользователем экранной клавиатуры
    В Android не предусмотрено каких-либо стандартных методов, отслеживающих открытие клавиатуры, то есть нам придётся писать свою реализацию.
    По каким параметрам можно определить, что клавиатура открыта? Сразу приходит на ум одно явное изменение - изменилась видимая область экрана. Нижнюю часть теперь скрывает клавиатура. Попробуем отследить изменение видимой области.
    Вот полная реализация кода отслеживания изменения размеров видимой области:

final View activityRootView = findViewById(android.R.id.content);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
     Rect r = new Rect();
     //создаём прямоугольник r с координатами видимого пространства
     activityRootView.getWindowVisibleDisplayFrame(r);

     //Вычисляем разницу между высотой нашего View и высотой видимого пространства
     int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
     if (heightDiff > 100) { // Если разница > 100px, то скорее всего открыта клавиатура
     //Пишем тут необходимые действия и выводим в лог высоту View, высоту видимой области и их разность.
     Log.d("mylog","rootHeight = " + activityRootView.getRootView().getHeight());
     Log.d("mylog","(r.bottom - r.top) = " + (r.bottom - r.top));

     Log.d("mylog","heightDiff = " + heightDiff);
     }
   }
});


    Мы назначаем для нашего activity OnGlobalLayoutListener. Он отслеживает изменение видимой части экрана - как раз то, что нам нужно. Мы создаём прямоугольник с координатами видимого пространства, а также имеем доступ к высоте нашего RootView с помощью .getRootView().getHeight(). Узнав разницу между этими двумя значениями, мы всегда сможем определить, что открыта экранная клавиатура.

суббота, 17 ноября 2012 г.

Введение: о блоге

    Итак, в этом блоге речь пойдёт о программировании под Android. Как и большая часть подобных блогов, я создал его для того, чтобы зарегистрироваться на AdSense для вывода денег из него. На данный  момент я далёк от получения денег, но решил создать блог заранее (всё равно рано или поздно придётся это делать). А пока буду в режиме live писать о своём пути на Google Play и попытках заработать миллионы =)
 
Итак, моя цель:

  • Разработать приложение под Android
  • Прикрутить в него рекламу AdMob
  • Зарегистрировать аккаунт разработчика на Google Play
  • Зарегистрировать банковскую карту в AdMob для возможности снятия денег
  • Зарегистрироваться в AdSense для возможности продажи приложения и платного отключения рекламы
  • Выложить, наконец, приложения и ждать моря долларов)

На данный момент я имею:
  • Рабочее несложное приложение для Android, аццкая бета-версия
  • Блог на Блогспоте
  • Аккаунт на AdMob

Что мне ещё осталось сделать:
  • Завести банковскую карту для оплаты 25$ за аккаунт разработчика Google и для последующего получения денег на эту же карточку через AdSense
  • Подготовить приложение для публикации
  • Написать несколько статей в этот блог для прохождения регистрации в AdSense
   
   Пока что занят вопросом о получении карточки, так как она должна делаться примерно 2 недели и лучше подготовить её заранее.
    Вообще, насколько я понял из статей в интернете, есть более простой способ зарегистрировать аккаунт разработчика Google: подойти к любому терминалу QIWI у себя в булочной, завести там QIWI-кошелек и виртуальную карточку. Такой вариант прекрасно подойдёт тем, кому лень идти в банк, стоять в очереди и писать всякие заявления. 
    Однако, раз уж я все равно собираюсь рано или поздно выводить деньги на банковскую карточку, я решил потратить немного своего времени на получение нормальной карты. Как я понял, мне должна прекрасно подойти Visa Classic, в ближайшее время пойду в Сбербанк и закажу её.