Как обновить adb и fastboot до последней версии


Сначала проверим версию adb, скорее всего она будет 1.0.31 или 32.

Выполните следующую команду:
~$ adb version
Android Debug Bridge version 1.0.32

На данный момент, последняя версия adb 1.0.39, однако, версия доступная из репозиториев Ubuntu только 1.0.32, она была датирована мартом 2016 года, когда был выпущен Android версии Lollipop.

Для того чтобы обновить adb нам нужно скачать Android platform-tools.

Вот небольшой скрипт для обновления adb и fastboot.


Если вы решили воспользоваться скриптом, то сначала нужно установить права на его запуск:
~$ sudo chmod +x ./adb_update.sh

Теперь запустим скрипт коммандой:
~$  sudo ./adb_update.sh

Проверяем версию adb:
~$  adb version
Android Debug Bridge version 1.0.39
Version 0.0.1-4500957
Installed as /usr/bin/adb

Если что-то пошло не так, то можно все переустановить:

Удаление adb, fastboot и локальных файлов вместе с зависимостями 
~$  sudo apt-get purge --auto-remove android-tools-adb android-tools-fastboot

Установка adb и fastboot версии 1.0.32
~$  sudo apt-get install android-tools-adb android-tools-fastboot



Android SDK, что случилось с преобразованием findViewById в API 26?


В Android SDK до версий API 25, необходимо было делать преобразование созданного объекта View.

Старое определение:
View findViewById(int id)

Как добавить .gitignore файл и плагин в Android Studio





1) Запускаем приложение в Android Studio
 2) Выбираем File -> Settings
 3) Ищем вкладку Plugins, в ней выбираем Browse repositories...

Где взять информацию о доступных версиях ConstraintLayout



В Android Studio можно найти не самую последнею версию ConstraintLayout. На момент написания статьи это версия 1.0.2, но уже можно протестировать и более новую версию 1.1.0 beta 6.

Ниже даны ссылки, где можно узнать какие версии ConstrainLayout сейчас доступны.

Разбираемся с ActionBar(App Bar) и AppCompatActivity




ActionBar - основная панель инструментов, которая может отображать заголовок Activity, иконку поиска и другие интерактивные элементы.


Вот так выглядит приложение без ActionBar (API level 7).


А вот так выглядит приложение с ActionBar (API level 7) при помощи AppCompatActivity и Support Library release 23.



ActionBar появился в Android 3.0 (API level 11), и стал отображаться в верхней части окна Activity, при использовании темы Holo или одной из ее тем-потомков.

Для получения дополнительной информации по Action Bar прочитайте документацию тут ActionBar API level 11 и тут ActionBar Support Library 23.0.0

Начиная с Android L (API level 21), ActionBar, в application layout, может быть представлен виджетом Toolbar.


Поддержка ActionBar в старых версиях Android начиная с API level 7 осуществляется с помощью AppCompatActivity.

Для того, чтобы добавить поддержку ActionBar в старых версиях Android, нам нужно расширить наш главный класс MainActivity от AppCompatActivity.

public class MainActivity extends AppCompatActivity


Так же нам нужно импортировать (v7 appcompat library) библиотеку поддержки 7-ой версии.

import android.support.v7.app.AppCompatActivity;


Весь код файла MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        }
}


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

dependencies {
        compile 'com.android.support:appcompat-v7:26.+'
}



Внимание! Начиная с Support Library release 26.0.0 (July 2017), минимальная версия API Level увеличилась до Android 4.0 (API level 14). То есть, если мы хотим использовать Support Library версии 26 и выше, то при компиляции файла apk, минимальная версия SDK теперь должна быть 14.

В Support Library release 24+, минимальная версия API - это API level 9, получается для поддержки API level 7, нам нужна Support Library release 23.

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 25
    versionCode 1
}


Для того, что бы посмотреть, что добавили или исправили в новом релизе Support Library нажимаем тут.

Библиотеки могут находится как на локальной машине, так и на удаленном репозитории. Все текущие выпуски библиотек Google теперь находятся в репозитории Google Maven (maven.google.com), а не в старых offline репозиториях.

По-этому, нам необходимо удостовериться, что в файле build.gradle, существует запись на репозиторий "https://maven.google.com", если ее нет, то нам нужно ее добавить.

repositories {
    maven {
        url 'https://maven.google.com'
        // Alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
}


Еще один важный момент, т.к. мы расширили наш класс MainActivity от AppCompatActivity, то нам нужно еще изменить или добавить тему (Theme.AppCompat) в секцию application в файле AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="pincode.android.appcompatactivitytest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>


Можно поексперементировать с Theme.AppCompat и посмотреть каких эффектов можно добиться.

Приложение-открытка "Happy Halloween"



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

Для этого установите:
  • Android Studio 
  • Java JDK 

Скачайте:
  • Любую забавную открытку из Интернета (вероятнее всего, если вы будете использовать картинку с высоким разрешением, то ваше приложение закроется выдав ошибку, но вы можете уменьшить ее размер использовав например этот сайт)
  • Любой понравившийся шрифт, например с этого сайта 1001fonts.com

Начнем.
Нашу картинку нужно сохранить в каталог drawable, который находится в каталоге-родителе res.


Далее нужно создать каталог с рессурсами assets, а в нем еще один каталог fonts. В него мы скопируем шрифт с расширением .ttf, который нужно скачать с выше указанного сайта или любого другого.

Для создания каталога assets нажмите правой кнопкой на корневом каталоге  app и выберете меню New -> Folder -> Assets Folder.

Для создания каталога fonts нажмите правой кнопкой на только что создавшемся каталоге assets и выберете New -> Directory. В каталог fonts скопируйте ваш шрифт.


В файл activity_main.xml скопируйте и вставьте следующую xml-разметку.


В TextView поменяйте текст на тот, который вам нужен, это конечно hard-coding, но в приложении открытка ничего страшного.

В ImageView поменяте значение атрибута android:src="@drawable/имя вашей картинки".

Для того чтобы подключить новый шрифт и применить его к TextView в MainActivity нужно прописать следующий код.

В методе onCreate() добавьте

TextView tx1 = (TextView)findViewById(R.id.text_view1);
TextView tx2 = (TextView)findViewById(R.id.text_view2);
Typeface halloween_font = Typeface.createFromAsset(getAssets(),  "fonts/halloween.ttf");
tx1.setTypeface(halloween_font);
tx2.setTypeface(halloween_font);

Полный код MainActivity.java будет выглядеть следующим образом
(имя пакета поменяйте на ваше!)

Вот и все. Удачи!