Mar
18

Пишем свои компоненты для Mono for Android (Xamarin.Android) – Multi-Select Spinner

Для одного из текущих проектов понадобилось сделать контрол для множественного выбора элементов из списка.
Делать это отдельной Activity как-то не хотелось, но в Android нет готового компонента для этого. Максимум, что можно сделать, это использовать AlertDialog с множественным выбором. Обычный же Spinner позволяет выбрать только один элемент.
И вот, после гугления было найдено неплохое решение на StackOverflow, которое позволяет совместить внешний вид Spinner’а и функционал AlertDialog’а. Решение для Java можно посмотреть здесь. Это решение мне не очень понравилось из-за того, что работает только со строками + необходимо использовать дополнительный метод для установки элементов списка для выбора, вместо того, чтобы нормально испольщовать Adapter для этого.

После небольших допиливаний получился контрол, который, все-таки, можно использовать с адаптером. Правда, при этом теряется возможность хранить ссылку на объект адаптера где-то снаружи контрола и делать ему NotifyDataSetChanged() и NotifyDataSetInvalidated(), но для спиннера это очень редко используемый функционал, так что можно назвать решение приемлемым.
читать далее…

Mar
10

Кроссплатформенная разработка для мобильных с Xamarin

Введение

Совсем недавно компания Xamarin анонсировала выход новой версии своего инструментария для кроссплатформенной разработки мобильных приложений, но вменяемых статей на русском по этой тематике так и нет. На Хабре появился небольшой обзор, не связанный с кодингом, там же была пара попыток рассказать об этом чуть подробнее, но дальше процесса создания Hello World приложения дело не зашло. А жаль. В этот раз мы попробуем исправить это досадное недоразумение.
читать далее…

Mar
16

ActionBarSherlock – Удобная реализация UI-паттерна ActionBar для Android-приложений – Часть II

Это вторая часть рассказа о библиотеке ActionBar Sherlock, реализующей UI-паттерн ActionBar для Android-приложений, а также еще ряд дополнительных возможностей. В этой части речь пойдет о том, как можно реализовать навигацию в приложении с использованием ActionBar и какие для этого есть возможности в ActionBar Sherlock.
читать далее…

Mar
12

Android 4.0 Ice Cream Sandwich UI PSD

Парни из Posterous представили PSD шаблон интерфейса пользователя Android 4.0. В шаблоне есть лок-скрин, все стандартные контролы, клавиатура, меню, тоесть все что может понадобиться для прототипирования интерфейса Android-приложения.

Скачать PSD файл можно здесь.
На всякий случай напомню, что официальные стенсилы для Android 4.0 можно скачать здесь.

Mar
12

ActionBarSherlock – Удобная реализация UI-паттерна ActionBar для Android-приложений – Часть I

Что-то пауза с постами у нас получается совсем нечеловеческая. Попробуем еще разок возобновить публикации.
И сегодня мы познакомимся с библиотекой, реализующей UI-паттерн Action Bar для Android-приложений.

Разработчики библиотеки позиционируют ее как расширение к Compatibility Library, которое для создания ActionBar использует нативную реализацию, если это поддерживается системой, или же вручную дублирует нужный функционал.

Библиотека является open-source проектом и доступна для загрузки на GitHub.
читать далее…

Jan
13

Google запустил сайт по дизайну Android-приложений

Сегодня в Google Developers Blog появился анонс о новом разделе сайта для разработчиков, в котором будут освещаться вопросы, связанные с дизайном приложений для платформы Android.

На сайте можно найти документацию о проектировании интерфейса Android-приложений, работающих на устройствах с различными размерами и различными разрешениями экранов, описание типовых шаблонов проектирования интерфейса приложений (таких как Action Bar, Swipe Views и т.д.), узнать больше о стандартных компонентах Android и новой теме оформления в Ice Cream Sandwich.

May
01

Наша Android-игра на конкурсе мобильных приложений от HTC

Зарелизили Android-версию Tetra Master‘а, мини-игры из Final Fantasy IX и отправили на конкурс Android-приоложений от HTC.
Кому интересно – страница приложения на конкурсе здесь.
Игра доступна в маркете для бесплатной загрузки, работает на телефонах и таблетках с Android OS 1.6 и выше.

В игре есть поддержка русского, украинского, английского языка.

Всем сочувствующим просьба: проголосуйте за игру в конкурсе (звездочками)?
Комментарии\советы по улучшению, багрепорты в маркете приветствуются, в ближайшее время планируем сетевой геймплей!

Oct
01

Работа с SOAP Web-сервисами в Android-приложениях

Всем время от времени хочется странного. Вот мне тоже захотелось такого. А именно – подружить Android-приложение с .NET Web-сервисом – такие сервисы и писать быстрее и доступ к ним потом можно получить из Windows Mobile и Windows Phone 7 без проблем – тоесть одним махом можно решить проблему работы с сервисом для различных мобильных платформ. И вот в этот раз я расскажу о том, как сделать чтобы все это заработало. читать далее…

Sep
30

Интегрируем оплату через PayPal в Android-приложение

С некоторых пор PayPal предлагает возможность добавления функционала, связанного с оплатой, непосредственно в Android-приложения. Пользователям, в этом случае, нет необходимости заходить на сайт PayPal, все происходит непосредственно в программе. Для этих целей доступен SDK. О том, как его использовать я расскажу в этот раз. читать далее…

Sep
05

Работа с акселерометром в Android

Для одного из текущих проектов понадобилась поддержка акселерометра. Учитывая то, что еще месяц назад Android API я в глаза не видел, мне казалось что получение данных с акселерометра – это какой-то адский труд. Оказалось все намного проще.

Для работы с различными датчиками в Android используется класс Sensor. Список датчиков можно получить через SensorManager. Например таким вот образом при создании Activity можно получить объект Sensor, связанный с акселеромтером:

public class AccelerometerTest extends Activity {

	SensorManager mSensorManager;
	Sensor mAccelerometerSensor;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
        List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
        if(sensors.size() > 0)
        {
        	for (Sensor sensor : sensors) {
        		switch(sensor.getType())
        		{
        		case Sensor.TYPE_ACCELEROMETER:
        			if(mAccelerometerSensor == null) mAccelerometerSensor = sensor;
        			break;
        		default:
        			break;
        		}
		}
        }
    }

читать далее…

тюнинг

top