Наши проекты

Статьи | Android

Публикация Android-библиотеки в репозиторий Maven с помощью Gradle


Разрабатывая библиотеку, рано или поздно приходит момент, когда нужно поделиться ею с другими. Нет, я сейчас говорю не про выкладывание исходников на GitHub, а про публикацию библиотеки в репозиторий Maven Central. Тем более, что выкладывать исходники там не обязательно, допускаются и проекты с закрытым исходным кодом.
Процесс публикации не слишком простой, поэтому без мануала не обойтись. Есть статья на Хабре, но в ней описана публикация Java-библиотеки при помощи Maven, а в моём случае библиотека для Android и используется Gradle, так что процесс значительно отличается.

Шаг 1. Регистрация в SonaType
1.1. Заходим на http://issues.sonatype.org/ и регистрируемся,
Продолжить

Рейтинг:  6  (Против: 1 | За: 7)
Добавил: aNNiMON

Комментарии (10)

Передача обьекта в Activity


Иногда возникает такая ситуация, что перед вызовом второй Activity нужно сначала передать туда какой-то обьект, без которого вторая Activity не может работать. У меня в первой активности отображается список уровней игры. Уровень представляет собой класс, в котором хранится InputStream, через который читается сначала название, размер уровня, а при выборе подгружается карта и другие данные. Поэтому второй активности, которая реализует игровой процесс, нужно как-то получить этот уровень.

           Способ 1, простой
     Проще всего во второй активности создать статический метод и обьекты, например:

Код первой
  1. // Когда выбрали нужный уровень
  2. GameActivity.preInit(levels.get(n));
  3. Intent i = new Intent(ctx, GameActivity.class);
  4. startActivityForResult(i,

Продолжить

Рейтинг:  5  (Против: 1 | За: 6)
Добавил: Naik

Комментарии (25)

Введение в использование unix shell в рекавери


Эта статья будет полезна тем кто хочет писать свои установщики/патчи/оптимизаторы для recovery андроида. Перед прочтением рекомендуется знать bash-скриптинг хотя бы минимально.

Install zip: как работает?
Когда вы в twrp или cwm выбираете архив для прошивки, update-binary из него распаковывается и запускается, передавая ему 3 переменные:
$1 - API level: число от 1 до 3, нам это не пригодится
$2 - Дескриптор pipe для обратной связи с рекавери
$3 - путь к zip файлу.

Структура zip архива
В корне зипа обязательно должен быть файл META-INF/com/google/android/update-binary. Не смотря на то что он называется binary, он может быть и shell-скриптом. Кроме того, в папке META-INF могут располагаться файлы сертификатов (если зип подписан). Все остальные файлы пользователь кладет
Продолжить

Рейтинг:  8  (Против: 0 | За: 8)
Добавил: Senderman

Комментарии (3)

Простое сетевое server/client приложение


Реализацию можно разделить на две части:

1. поиск и регистрацию сервиса (сервера) в сети
2. создание сервера и клиента

Первый пункт начиная с Android 4.1 можно реализовать средствами стандартного API - http://developer.android.com/t...-wirelessly/nsd.html
Но я буду использовать реализацию mDNS (multicast DNS) на Java - JmDNS. Jar файл содержит дублированные файлы, поэтому нужно оставить только по одному, иначе Eclipse будет выдавать странные ошибки при сборке или запуске apk. Вот уже нормальный файл, заодно удалены ненужные классы jmdns.jar .
Примерно такой же принцип регистрации сервиса используют принтеры и другое оборудование.

Второй пункт реализуется через стандартные Java API - ServerSocket
Продолжить

Рейтинг:  2  (Против: 0 | За: 2)
Добавил: Naik

Комментарии (17)

Размеры текста в канвасе



Если вы рисуете графику прямо в Canvas'е, то рано или поздно вам захочется выводить на экран и текст. Для этого вам нужно знать, как он будет располагаться, соответственно потребуется рассчитать его ширину/высоту для выравнивания и прочих эффектных штук.



Недавно в своём приложении мне также понадобилось вертикальное и горизонтальное центрирование. Поэтому я начал со следующего кода:

  1. Paint mTextPaint = new Paint();
  2. mTextPaint.setTextAlign(Paint.Align.CENTER);  // Включим центрирование
  3.  
  4. // И когда происходит отрисовка...
  5. canvas.drawText(mText,
  6.         mBounds.centerX(),  // mBounds — некая область канваса
  7.         mBounds.centerY(),  // X, Y — центр области

Продолжить

Рейтинг:  3  (Против: 0 | За: 3)
Добавил: Ксакеп

Комментарии (4)
Всего: 29
<< 1 2 3 4 5 6 >>
Категории

Мы в соцсетях

vk tw tg yt

Пожертвования

Аноним2850 р.
Freddy1700 р.
NaruTrey800 р.
vlavolk637 р.
riseremi500 р.
  © aNNiMON (Melnik Software)
 
Яндекс.Метрика