Работа с файлами android studio


Первое приложение | Android

Первое приложение

Последнее обновление: 09.03.2017

Стандартный проект, который был создан в прошлой теме, уже содержит некоторый функционал. Правда, этот функционал почти ничего не делает, только выводит на экран строку "Hello world!".

В студии по умолчанию должен быть открыт файл activity_main.xml, который содержит определение графического интерфейса приложения.

Если файл открыт в редиме дизайнера, а в центре Android Studio отображается дизайн приложения, то нам надо переключить вид файл в текстовый. Для переключения режима - из текстового в графический и обратно внизу есть две кнопки Design и Text.

Теперь изменим код приложения, чтобы оно выводило на экран строку "Привет Андроид". Для этого изменим код в файле activity_main.xml, который сейчас он выглядит примерно так:

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.eugene.helloapplication.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>

Изменим в этом файле определение элемента TextView, который и отвечает за вывод текстовой информации на экран мобильного аппарата. Сам выводимый текст задается с помощью атрибута android:text. Поэтому изменим весь код в файле activity_main.xml следующим образом:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Привет мир!" /> </RelativeLayout>

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

Режим разработчика на телефоне

Для запуска и тестирования приложения мы можем использовать эмуляторы или реальные устройства. Но в идеале лучше тестировать на реальных устройствах.

Для использования мобильного устройства для тестирования на рабочую машину необходимо установить драйвер. Если смартфон от Google - Nexus 5/6/5x/6P или Google Pixel, то для его поддержки необходимо через SDK Manager установить пакет Google Usb Driver. Если же производитель аппарата - другой вендор, то надо установить то USB-драйвер, который поставляется данным вендором. Если ОС - Windows 10, то там, как правило, система сама может найти через центр обновлений драйвер и установить его.

По умолчанию опции разработчика на смартфонах скрыты. Чтобы сделать их доступными, надо зайти в Settings > About phone (Настройки > О телефоне) и семь раз нажмите Build Number (Номер сборки).

Вернитесь к предыдущему экрану и там вы увидите доступный пункт Developer options (Для разработчика).

Перейдем к пункту Для разработчиков и включем возможность отладки по USB:

Запуск приложения

Подключим устройство с ОС Android (если мы тестируем на реальном устройстве) и запустим проект, нажав на зеленую стрелочку на панели инструментов.

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

Выберем устройство и нажмем на кнопку OK. И после запуска мы увидим наше приложение на экране устройства:

metanit.com

Начало работы с Android Studio

Android Studio - это довольно новая IDE (интегрированная среда разработки), которая бесплатно предоставляется Google для разработчиков Android. Android Studio основана на IntelliJ IDEA, среде разработки, которая также предлагает отличную среду разработки Android. В этом уроке я покажу вам, как создать новый проект для Android и воспользоваться возможностями, которые предлагает Android Studio.

1. Настройка проекта

Прежде чем приступать к изучению Android Studio, вам сначала нужно ее загрузить и установить. Обратите внимание, что вам необходимо установить JDK 6 или более поздней версии. Если вы работаете в Windows, запустите файл .exe и следуйте инструкциям мастера установки. Если вы используете OS X, смонтируйте образ диска, дважды щелкнув его и перетащите Android Studio в папку Application.

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

В этом уроке мы собираемся выбрать вариант New Project. Однако вы можете выбрать Import Project, если вы хотите импортировать проект, например, из Eclipse в Android Studio. Android Studio преобразует проект Eclipse в проект Android Studio, добавив для вас необходимые файлы конфигурации.

Если вы выберете Open Project из списка параметров, вы можете открывать проекты, созданные с помощью Android Studio или IntelliJ IDEA. Выбрав Check out from Version Control, вы можете развернуть копию проекта, который находится под системой управлением версиями. Это отличный способ быстро ускорить работу с существующим проектом.

Чтобы начать работу, выберите New Project в списке параметров. Это покажет вам список параметров для настройки вашего нового проекта. В этом уроке мы собираемся создать простое приложение, чтобы показать вам некоторые из самых важных функций Android Studio. Я уверен, что вы согласны с тем, что нет лучшего названия для нашего проекта, чем HelloWorld.

Как вы можете видеть на скриншоте выше, я назвал свое приложение HelloWorld и установил имя модуля HelloWorld. Если вы не знакомы с IntelliJ IDEA, вам может быть интересно, что такое модуль. Модуль представляет собой дискретную единицу функциональности, которая может быть скомпилирована, запущена, протестирована и отлажена независимо. Модули содержат исходный код, скрипты сборки и все остальное, необходимое для их специфичных задачи.

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

Другими параметрами являются местоположение проекта на вашем компьютере, минимальный и целевой SDK, SDK, с которым будет скомпилирован ваш проект, и тема проекта. Вы также можете сообщить Android Studio о создании класса Activity и специальной иконки запуска а так-же поддержку проектов GridLayout, Fragments, Navigation Drawer или Action Bar.

Мы не будем создавать пользовательских иконок для этого приложения, вы можете снять галочку с надписью Create custom launch icon. Нажмите Next, чтобы продолжить настройку своего проекта.

Поскольку мы отметили флажок Create activity на предыдущем шаге, вам предлагается настроить класс Activity, который будет создан для вас Android Studio.

Поскольку мы начнем с пустого класса Activity, вы можете нажать Next, чтобы перейти к следующему этапу процесса настройки, в котором вас попросят указать имя класса Activity, основной лэйаут и лэйаут фрагмента. Вы также можете установить тип навигации, который мы оставим в None для этого проекта. Посмотрите следующий скриншот, чтобы увидеть, как выглядят настройки.

После нажатия кнопки Finish вам будет представлен пользовательский интерфейс Android Studio с проводником проекта слева и рабочее пространство справа. С вашим проектом, настроенным в Android Studio, пришло время изучить некоторые из ключевых особенностей Android Studio.

2. Виртуальные устройства Android

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

Предпочтительным способом создания виртуального устройства Android является AVD Manager, доступ к которому вы можете получить в Android Studio, выбрав Android > AVD Manager в меню Tools.

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

Чтобы создать новый AVD, нажмите на New... справа, укажите имя AVD и настройте виртуальное устройство, как показано ниже. Нажмите OK, чтобы создать свой первый AVD.

Чтобы использовать вновь созданный AVD, выберите его из списка в AVD-менеджере и нажмите Start... справа. Если ваш AVD настроен правильно, Android-эмулятор должен запускаться, как показано на скриншоте ниже.

С запуском Android-эмулятора пришло время запустить ваше приложение, выбрав Run 'helloworld' из меню Run. Вот как легко запускать приложение в Android-эмуляторе.

3. Live Layout

Функция Live layout в Android Studio позволяет вам просматривать пользовательский интерфейс приложения без необходимости запускать его на устройстве или эмуляторе. Функция живого лэйаута - это мощный инструмент, который буквально сэкономит вам часы. Просмотр пользовательского интерфейса вашего приложения происходит намного быстрее, используя живые лэйауты.

Чтобы работать с живыми лэйаутами, дважды щелкните XML файл лэйаута и выберите вкладку Text внизу рабочей области. Перейдите на вкладку Preview справа от рабочей области, чтобы просмотреть текущий лэйаут. Любые изменения, внесенные в XML лэйаута, будут отражены в предварительном просмотре справа. Взгляните на снимок экрана ниже, чтобы лучше понять эту приятною функцию.

Есть ряд других преимуществ функции живого лэйаута, которые стоит отметить. Вы можете, например, создать XML вариант лэйаута , в котором вы сейчас работаете, выбрав опцию из первого меню на панели Preview. Вы можете, например, создать отдельные представления для портретной и альбомной ориентации, а Android Studio создаст для вас необходимые папки и файлы.

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

Четвертое меню в области предварительного просмотра обеспечивает легкий доступ к Activity или фрагменту, в котором используется лэйаут. Панель предварительного просмотра также позволяет вам изменить язык, используемый в живом лэйауте, чтобы упростить предварительный просмотр лэйаута на разных языках. Меню справа позволяет вам изменить версию API.

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

4. Шаблоны

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

С помощью Android Studio вы можете создать шаблон при создании нового Activity. Щелкните правой кнопкой мыши package name пакета в навигаторе проекта слева, выберите New в меню и выберите Activity в списке параметров. Затем Android Studio отображает список шаблонов, таких как Blank Activity, Fullscreen Activity и Tabbed Activity.

Вы также можете выбрать Image Asset в меню, которое запустит мастер, который проведет вас через процесс создания. Позвольте мне показать вам, как создать новый Activity на основе шаблона Login Activity. Выберите параметр Login Activity из списка шаблонов Activity, чтобы запустить мастер.

Как вы можете видеть на приведенном выше снимке экрана, я назвал Activity LoginActivity, задал Layout Name для activity_login, задав Activity заголовок Sign In. По умолчанию установлен флажок Include Google+ sign in. Снимите флажок, так как мы не будем использовать эту функцию в нашем примере.

Вы можете по желанию установить Hierarchical Parent нового Activity. Это позволит вам вернуться назад, если вы нажмете кнопку возврата устройства. Мы оставим это поле пустым. После нажатия кнопки Finish, Android Studio создает для вас необходимые файлы и папки. Если все пойдет хорошо, вы должны увидеть новй Activity и Layout в своем проекте.

Следующий шаг - настроить новую Activity в файле манифеста, чтобы она использовалась как основное Activity при запуске приложения. Как вы можете видеть ниже в файле манифеста, класс LoginActivity имеет свой собственный узел активности.

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.tuts.HelloWorld.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.tuts.HelloWorld.LoginActivity" android:label="@string/title_activity_login" android:windowSoftInputMode="adjustResize|stateVisible" > </activity> </application>

Чтобы ваше приложение запустило созданный вами LoginActivity, удалите узел активности для класса LoginActivity и замените com.tuts.HelloWorld.MainActivityна com.tuts.HelloWorld.LoginActivity. В результате приложение теперь будет использовать класс LoginActivity в качестве основного Activity.

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="za.co.helloworld.LoginActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>

Когда вы создаете и запускаете свое приложение в эмуляторе, вы должны увидеть экран, аналогичный показанному ниже. Это означает, что мы успешно заменили пустой класс Activity новым классом LoginActivity.

5. Инспектор кода

Тестирование вашего кода - это одно, но не менее важно также применять лучшие практики при написании кода. Это улучшит производительность и общую стабильность вашего приложения. К тому же правильно структурированный проект гораздо проще поддерживать.

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

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

Это хорошая практика, чтобы время от времени запускать анализатор Android Studio, чтобы проверить ваш проект на наличие потенциальных проблем. Анализатор также скажет вам, есть ли у вас дубликаты изображений или переводов.

Чтобы запустить анализатор, выберите Inspect Code в меню Analyze в Android Studio, чтобы начать процесс. Когда Android Studio завершит проверку вашего проекта, он представит вам результаты в нижней части окна. Обратите внимание, что в дополнение к Android Lint, Android Studio также выполняет ряд других проверок. Просто дважды щелкните по проблеме, чтобы перейти к файлу, в котором находится проблема.

6. Мощный редактор лэйаутов

Android Studio имеет мощный редактор лэйаутов, в котором вы можете перетаскивать компоненты пользовательского интерфейса. Вы также можете просмотреть лэйауты на нескольких конфигурациях экрана, как мы видели ранее в этом уроке.

Редактор лэйаутов очень прост в использовании. Сначала нам нужен лэйаут для работы. Перейдите в папку layout в папке res вашего проекта, щелкните правой кнопкой мыши папку layout и выберите New > Layout resource file в появившемся меню.

Дайте новому лэйауту имя, установите его корневой элемент и нажмите ОК. Android Studio автоматически откроет лэйаут в редакторе справа.

В нижней части редактора вы должны увидеть две вкладки Design и Text. Нажатие на вкладку Text вызывает редактор, позволяющий вносить изменения в текущий выбранный лэйаут.

На вкладке Design открывается другой редактор, который показывает предварительный просмотр лэйаута. Чтобы добавить виджет в лэйаут, перетащите его из списка виджетов слева в лэйаут справа. Это так просто.

Заключение

В этом уроке мы кратко рассмотрели некоторые ключевые особенности Android Studio. Она очень похожа на IntelliJ IDEA, но содержит ряд важных улучшений, которые делают разработку Android более легкой, быстрой и приятной.

code.tutsplus.com

О некоторых «особенностях» Android Studio / Песочница / Хабрахабр

Предисловие

Являясь специалистом в области JAVA и отвечая, в силу своих должностных обязанностей, за подбор технических специалистов, некоторое время назад я получил задачу от руководства подобрать в компанию нескольких разработчиков под Android, при этом имеющих хорошее знание JAVA. Не имея ранее опыта работы в этом направлении, я поверхностно познакомился с Android SDK и с типовыми задачами, которые приходится решать мобильным разработчикам, и приступил к собеседованию кандидатов. После ряда проведенных собеседований я понял, что многие кандидаты, имеющие реальные приложения в Google Play и адекватно отвечающие на вопросы связанные с разработкой под Android, непосредственно в JAVA практически не разбирались. Мне стало интересно, а насколько быстро человек, разбирающий в JAVA и не имевший ранее опыта разработки мобильных приложений, может быть готов к разработке несложных программ под Android. Данный эксперимент я решил поставить на себе, поставив цель написать небольшое приложение под Android, поддерживающее Android API 9+, использующее Activity, фрагменты (включая ListFragment), ViewPager, диалоговые окна, работу со встроенной SQLite DB, переопределенную панель действий и имеющее приемлемый пользовательский интерфейс, с последующим размещением приложения в Google Play. Данную цель я достиг за 1.5 месяца и это время включало детальное изучение принципов разработки под Android и непосредственно саму разработку. При этом все работы выполнялись исключительно в свободное от работы время и пол месяца из указанного срока ушло на подготовку контента. Кому интересно посмотреть на полученный результат, то это можно сделать здесь. Теперь непосредственно о том, чем хочется поделиться с теми, кто планирует начать заниматься разработкой под android с использование Android Studio. Разработку своего приложения я вел с использование последней версии Android Studio (на тот момент это была 2.3.2). При работе с ней я столкнулся с некоторыми «особенностями», которые оказали влияние на мою работу и заставили терять время и искать решение на стороне. Сегодня я хочу поделиться информацией о них и рассказать о возможных способах решения этих проблем.1. Невозможность просмотра папки data в DDMS при работе с эмулятором API выше 23

Одна из самых неприятных проблем с которой мне пришлой встретиться и на решение которой я потратил два вечера. Выявил я ее, когда впервые реализовывал копирование заранее подготовленной SQLite DB. Первый блин, как известно, комом и копирование не сработало так как я ожидал — приложение контент не видело. Мне, естественно, в первую очередь стало интересно посмотреть, что же реально лежит на месте БД, которую я копировал. Для тех, кто не знает, DDMS (Android Device Monitor) позволяет просматривать содержимое папки data при запуске приложения на эмуляторе. Однако попытка открыть эту папку в проводнике DDMS не увенчалась успехом: папка просто не открывалась. Посчитав, что иметь возможность просматривать внутреннее содержимое папки, где приложение хранит свои данные, достаточно важно, забросив ошибку с копированием, я переключился на решение этой проблемы. Первая моя мысль была, что я что-то или установил не так, или необходимо задать какие-то дополнительные права на просмотр. Тщательное повторное штудирование материала в Интернете на эту тему показало, что у меня все в порядке, но просматривать папку по прежнему не удавалось. Наконец, на каком-то форуме я нашел единственную заметку которая мне помогла: оказалось, что есть баг, из-за которого невозможно просматривать папки data в DDMS при работе с эмулятором API выше 23. Я, конечно, тестирую свое приложение при различных конфигурациях эмулятора, но при разработке, обычно, использовал первый настроенный мной эмулятор, который использовал API 25. При запуске эмулятора с API меньше 23 я смог без проблем получить доступ к нужной мне папке и просмотреть ее содержимое.

Большое спасибо неизвестному мне разработчику, благодаря заметке которого я справился с этой проблемой.2. Отступ в иконках при генерации иконок из картинок с помощью встроенного в Android Studo генератора

Т.к. я совсем не дизайнер и дело это не очень люблю, то создание всех необходимых приложению картинок и, в частности, иконок для запуска приложения, было для меня довольно сильной головной болью. Однако, разработчики Android Studio позаботились о таких как я и встроили генератор иконок внутрь редактора. Вызывается он следующим образом: в проекте на папке res надо нажать на правую кнопку и вызвать New > Image Asset. Каково же было мое удивление, когда выяснилось, что иконки, которые генерируются из картинок (секция Image), получаются не в полном размере, а с отступлением от краев, в результате чего мои иконки выглядели гораздо мельче других иконок на устройстве. Я так и не разобрался полностью в мотивации разработчиков Android Studio, но чем бы это не было вызвано мне это не подходило. Большая часть ссылок на генераторы иконок, которая есть в сети, имеет ту же проблему.

Наконец, я нашел пост человека с такой же проблемой как у меня, которому в качестве решения предложили воспользоваться следующей ссыкой. Генератор, расположенный по ссылке дал мне возможность получить иконку нужного мне размера.3. Неконтролируемое переключение на русский язык при генерации ключа из Android Studio

С этой проблемой я столкнулся уже в самом конце, когда готовил приложение к выпуску. При генерации ключа с помощь в Android Studio (делается это командой Build > Generate Signed APK) при заполнении диалогового окна с именем сертификата и пароля к нему, в какой-то момент, происходит неожиданное переключение шрифта на русский язык. После этого в Android Studio можно использовать только русский язык не зависимо от того какой язык выбран у вас на компьютере. Первый раз я посчитал это глюком Windows и перезагрузил ноут. Но при повторной попытке ситуация повторилась вновь. Найти способ вылечить это я не нашел, так что эту особенность надо просто иметь ввиду.

На этом все. Спасибо за внимание. Надеюсь кому-нибудь моя статья была полезна.

habrahabr.ru

Android | Публикация приложения

Создание подписанного apk

Последнее обновление: 30.10.2015

После создания приложения, его тестирования и отладки мы можем приступить к его публикации. Суть публикации заключается в создании файла с расширением .apk, которое будет представлять приложение, и его последующее размещение в Google Play Market или на других внешних сайтах. По умолчанию в процессе отладки и создания приложения файл apk уже создается, и мы можем его найти в папке проекта по пути Название_проекта\app\build\outputs\apk. По умолчанию файл называется app-debug.apk и представляет debug-версию.

Но для полноценно публикации данного файла может оказаться недостаточно. И нам еще дополнительно надо произвести некоторую подготовку проекта к релизу. Для это следует указать в файле манифеста у элемента <manifest> установлены атрибуты android:versionCode и android:versionName. Также в файле манифеста элемент <application> не должен содержать атрибута android:debuggable

Кроме того, на этом этапе можно установить иконку для приложения, которая будет отображаться на рабочем экране гаджета, название приложения (атрибут android:label у элемента), а также можно задать лицензионное соглашение.

В файле манифеста также следует определить название пакета (атрибут package элемента <manifest>), которое будет использоваться для приложения в дальнейшем. По умолчанию при разработке в Android Studio пакеты приложений начинаются с com.example. Не стоит оставлять данное название, так как название пакета будет служить уникальным идентификатором вашего приложения. Например, ниже в моем случае названием пакета служит "com.maverics.eugene.telephonelist":

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.maverics.eugene.telephonelist" android:versionName="1.0" android:versionCode="1" > //.............................

При этом если в файлах кода java название пакета в начале файла также должно соответствовать пакету приложения.

Установка требований

На этапе подготовки к релизу также можно установить требования к API. Например, наше приложение имеет определеную минимальную версию ОС Android, поэтому мы можем установить в файле манифеста соответствующие атрибуты у элемента <uses-sdk>

  • android:minSdkVersion — минимальная версия Android

  • android:targetSdkVersion — оптимальная версия API

  • android:maxSdkVersion — максимальная версия системы

Например, пусть минимальная версия Jelly Beans 4.1.2, а оптимальная KitKat 4.4.4:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.maverics.eugene.telephonelist" android:versionName="1.0" android:versionCode="1" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19" /> //.............................

Подпись приложения

Когда все уже готово, приложение для Android должно быть подписано сертификатом, благодаря которому можно идентифицировать автора приложения. Когда мы тестируем приложение, устанавливая его через Android Studio на устройство, то оно подписывается автоматически. Но для создания релиз-версии нам надо произвести дополнительно ряд действий.

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

Во-первых, в Android Studio выберем в меню пункт Build -> Generate Signed APK. После этого нам откроется окно мастера:

Нажмем на кнопку Create new.... После этого нам откроется окно создания ключа:

Введем в поле Key store path путь к файлу сетификата, который будет создан. Если указанной папки не существует, то ее надо создать или определить существующую папку.

В поле Password/Confirm указываем пароль.

В поле Alias указываем псевдоним. Можно поставить произвольное название.

В поле First and Last Name вписываем имя и фамилию. И далее пишим подразделение, организацию, город, страну и код страны.

В конце нажимаем OK.

После этого автоматически обновится первое окошко:

Далее нажмем на кнопку Next:

Финальное окно покажет нам путь к каталогу, где будет находиться подписанное приложение apk в release-версии. Нажмем на Finish.

Теперь по указанному пути можно будет найти подписанный apk, который будет иметь название app-release.apk:

Мы можем переименовать файл, сохранив его расширение и выложить в Play Market или на любой сайт или сразу загрузить на мобильное устройство. После загрузки на телефон/планшет достоточно нажать на него, и с помощью стандартного установщика пакетов приложение будет установлено. Правда, здесь также надо учитывать, что если мы устанавливаем приложение не из Play Market, то в настройках надо разрешить установку из других источниках - Безопасность->Неизвестные источники (Разрешить установку приложений из других источников)

metanit.com

Создание графического приложения на Android

Создание графического приложения

Последнее обновление: 09.03.2017

Графический интерфейс пользователя основывается на иерархии объектов View и ViewGroup. Объекты View представляют виджеты, такие как кнопки или текстовые поля. Объекты ViewGroup представляют собой контейнеры для виждетов, управляют их расположением и компоновкой.

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

Создание линейной разметки

Выбранный при создании проекта для activity шаблон EmptyActivity добавляет все определение графического интерфейса в файл activity_main.xml, которые находятся в проекте в папке res/layout, поэтому изменим файл activity_main.xml следующим образом:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > </LinearLayout>

Здесь определяется элемент LinearLayout, который является подклассом ViewGroup и который располагает дочерние элементы в горизонтальный или вертикальный ряд. Ориентация элементов указывается в атрибуте android:orientation. Каждый элемент в контейнере LinearLayout отображается на экране в том порядке, в каком он объявлен в файле XML.

Другие два атрибута - android:layout_width и android:layout_height требуются для всех виджетов для определения размеров. Поскольку LinearLayout является корневым элементом компоновки, он должен заполнить все пространство экрана, поэтому для его высоты и ширины указывается значение "match_parent". Данное значение растягивает виджет до границ родителького контейнера.

Добавление текстового поля

Для добавления текстового поля внутри элемента LinearLayout создадим элемент EditText. Как и любого объекта View, для EditText также надо объявить определенные xml-атрибуты:

<EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Введите сообщение" />

Итак, мы опеределили следующие атрибуты:

  • android:id: обеспечивает уникальный идентификатор виджета, по которому мы можем ссылаться на объект

    Знак (@) для ссылки на ссылочный объект в файле XML. После него идет тип ресурса (в данном случае id), слеш и затем имя ресурса (edit_message).

    Знак плюса (+) перед типом ресурса необходимо, когда в первый раз определяется ID ресурса. При компиляции приложения SDK использует имя ID для создания нового ресурса ID в файле gen/R.java. После этого больше не требуется употреблять знак плюса.

  • android:layout_width и android:layout_height: для этих свойств устнавливаем значение wrap_content, которое задаст для виджетов величины, достаточные для отображения в контейнере

  • android:layout_weight: позволяет определить занимаемую полем ширину. Значение 1 в данном случае позволяет растянуть поле на всю ширину.

  • android:hint: указывает на текст, который будет отображаться в текстовом поле по умолчанию, когда оно пустое.

Добавление кнопки

Теперь добавим в файл activity_main.xml кнопку - элемент Button сразу после элемента EditText:

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Отправить" />

В случае с кнопкой ее высота и ширина также имеют значение wrap_content, поэтому кнопка будет иметь те размеры, которые достаточны для вывода на ней ее текста. Для кнопки не нужно указывать атрибут android:id, поскольку мы не будем на нее ссылаться в коде MainActivity

В итоге файл будет иметь следующий вид:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Введите сообщение" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Отправить" /> </LinearLayout>

И на данный момент приложение будет иметь следующий интерфейс:

metanit.com


Смотрите также