Пожалуйста, опишите ошибку

Нашли баг? Помогите нам его исправить, заполнив эту форму

Разработка приложений под Андроид. Часть 1

Марк Левковский
Android-разработчик

Это первая статья из цикла, посвященного разработке Android-приложений. Детально опишем весь цикл разработки с применением современных подходов и библиотек. Приложение будем писать на Java, в качестве IDE будем использовать Android Studio 2.2.x.

Собственно, разрабатывать будем систему Bramble (ежевика) для учета рабочего времени: опоздания, пропуски, отгулы, отпуски и т.д. Данная статья рассказывает о первичной настройке проекта.

Создание проекта

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

image-8

Следующий шаг — это выбор целевой платформы и минимальный уровень API. По умолчанию выставлена поддержка телефонов и планшетов с минимальным API 19. Так и оставляем. Почему API 19? На данный момент это золотая середина между количеством устройств, которое его поддерживает и технологичностью инструментов разработки. Студия нам сама говорит, какой процент устройств мы охватим.

image-2

И последнее, окно создания проекта — окно выбора начального шаблона активити. В этом нам нет сейчас нужды, выбираем первый пункт «без активити».

image-9

Нажимаем «финиш» и ждем, когда наш проект соберется.

Git и .gitignore

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

Можете создать репозиторий с проектом, указав его расположение. Студия в этот момент сама поймёт, что она под контролем Git’а. Далее, чтобы не засорять наш Git ненужными временными файлами и файлами самой студии, мы настроим .gitignore нашего проекта.

Для доступа к файлу .gitignore, на вкладке «Project» меняем вид древа отображения проекта с «Android» на «Project», находим искомый файл и открываем его.

desktop-hd

Наш файл .gitignore будет содержать следующий код:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Eclipse project files
.classpath
.project

# Android Studio
*.iml
.idea

#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/

#NDK
obj/

И теперь смело можете делать первый коммит, не опасаясь за попадание мусора в ваш Git.

Crashlytics

Одной из полезных библиотек, которую следует подключить в первую очередь – это Crashlytics. Она позволяет отсылать всю нужную статистику по крашам и ошибкам при работе приложения (которые обязательно будут) и в удобной форме просматривать после, с выводом полного стек-трейса и именем вызванной ошибки.

Для установки Crashlytics, первым делом, нужно добавить в Gradle файл модуля следующий код.

image-7

buildscript {
  repositories {
    maven { url 'https://maven.fabric.io/public' }
  }
  dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.+'
  }
}

apply plugin: 'io.fabric'

repositories {
  maven { url 'https://maven.fabric.io/public' }
}

compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') {
  transitive = true;
}

В итоге должно получиться следующее:

image-5

Далее, в Manifest файле необходимо указать ключ к Crashlytics (вместо хххххх), который берется из аккаунта организации.

image-1

<meta-data
  android:name="io.fabric.ApiKey"
  android:value="хххххх"
/>

И дать разрешение приложению на использование интернета:

<uses-permission android:name="android.permission.INTERNET" />

image-10

Для следующего этапа нам нужно создать главный класс приложения. Такой класс, который наследуется от класса Application и будет запускаться самым первым, перед всеми активити. Его принято делать синглтоном.

image-6

В методе OnCreate() этого класса добавим строчку:

Fabric.with(this, new Crashlytics());

image

Чтобы класс заработал, надо не забыть указать его в Манифесте:

image-3

На этом подключение Crashlytics завершено, как и базовая настройка проекта. А в следующей статье создадим логин скрин для нашего приложения, познакомимся с Retrofit и Mosby.

Читать и комментировать
Android Wear: авторизация без пароля

Владислав Герасименко

22 ноября 2016

Android Wear: авторизация без пароля

Возможности фреймворка Vue.js. Часть 2

Алексей Форманюк

18 января 2017

Возможности фреймворка Vue.js. Часть 2

HAProxy

Сергей Смелков

25 сентября 2017

HAProxy

Поиск пути в Unity 3D

Максим Некрасов

23 мая 2016

Поиск пути в Unity 3D