Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
# Built application files
*.apk
*.aar
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/
# Uncomment the following line in case you need and you don't have the release build type files in your app
# release/

# Gradle files
.gradle/
build/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

### IntelliJ IDEA ###
out/
!**/src/main/**/out/
Expand All @@ -6,6 +44,52 @@ out/
# IntelliJ
*.iml
.idea/
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
# Android Studio 3 in .gitignore file.
.idea/caches
.idea/modules.xml
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
.idea/navEditor.xml

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/

# Google Services (e.g. APIs or Firebase)
# google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/

misc.xml
deploymentTargetDropDown.xml
render.experimental.xml
Expand Down
106 changes: 106 additions & 0 deletions INSTALL_INSTRUCTIONS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
========================================
ИНСТРУКЦИЯ ПО УСТАНОВКЕ И ЗАПУСКУ ПРОЕКТА
Android Contacts
========================================

ТРЕБОВАНИЯ:
-----------
1. Android Studio (последняя версия)
2. JDK 17 или выше
3. Android SDK (API Level 24 или выше)
4. Настроенный эмулятор Android или физическое устройство


ШАГИ ДЛЯ УСТАНОВКИ:
-------------------

1. УСТАНОВКА ANDROID STUDIO:
- Скачайте Android Studio с официального сайта:
https://developer.android.com/studio
- Установите Android Studio со всеми рекомендуемыми компонентами
- При первом запуске установите Android SDK

2. НАСТРОЙКА ПЕРЕМЕННЫХ ОКРУЖЕНИЯ:
- Откройте "Панель управления" -> "Система" -> "Дополнительные параметры системы"
- Нажмите "Переменные среды"
- Добавьте новую системную переменную:
Имя: ANDROID_HOME
Значение: C:\Users\[Ваше_Имя]\AppData\Local\Android\Sdk
(путь может отличаться, проверьте в Android Studio: Tools -> SDK Manager)

3. СОЗДАНИЕ ЭМУЛЯТОРА:
- Откройте Android Studio
- Tools -> Device Manager (или AVD Manager)
- Нажмите "Create Device"
- Выберите любое устройство (рекомендуется Pixel 5)
- Выберите системный образ (рекомендуется API 33 или выше)
- Завершите создание и запустите эмулятор

4. ОТКРЫТИЕ ПРОЕКТА:
- Откройте Android Studio
- File -> Open
- Выберите папку с проектом android-contacts
- Дождитесь синхронизации Gradle (может занять несколько минут)


ЗАПУСК ПРИЛОЖЕНИЯ:
------------------

СПОСОБ 1 - Через BAT-файл (РЕКОМЕНДУЕТСЯ):
1. Запустите эмулятор через Android Studio или командой:
emulator -avd [имя_вашего_эмулятора]

2. Дважды кликните на файл: install_and_run.bat

3. Скрипт автоматически:
- Проверит окружение
- Соберёт проект
- Установит приложение на эмулятор
- Запустит приложение

СПОСОБ 2 - Через Android Studio:
1. Откройте проект в Android Studio
2. Запустите эмулятор
3. Нажмите кнопку "Run" (зелёный треугольник) или Shift+F10
4. Выберите эмулятор из списка устройств

СПОСОБ 3 - Через командную строку:
1. Запустите эмулятор
2. Откройте командную строку в папке проекта
3. Выполните команды:
gradlew.bat clean
gradlew.bat installDebug
adb shell am start -n com.example.contacts/.presentation.main.MainActivity


РЕШЕНИЕ ПРОБЛЕМ:
----------------

Проблема: "ANDROID_HOME не установлена"
Решение: Настройте переменную окружения ANDROID_HOME (см. пункт 2 выше)

Проблема: "Эмулятор не запущен"
Решение: Запустите эмулятор через Android Studio или команду emulator -avd [имя]

Проблема: "Gradle sync failed"
Решение:
- Убедитесь что установлен JDK 17
- File -> Invalidate Caches / Restart в Android Studio
- Проверьте интернет-соединение

Проблема: "SDK не найден"
Решение: Откройте Tools -> SDK Manager и установите необходимые компоненты:
- Android SDK Platform (API 33 или выше)
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator


КОНТАКТЫ:
---------
При возникновении проблем свяжитесь с разработчиком.


========================================
Дата создания: 27.10.2025
========================================
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
# Пустой репозиторий для работы с Java кодом в Android Studio
81 changes: 81 additions & 0 deletions add_test_contacts.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
@echo off
setlocal

echo ========================================
echo Adding Test Contacts
echo ========================================
echo.

REM Check that emulator is connected
echo Checking device connection...
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" devices
echo.

REM Define device ID
for /f "skip=1 tokens=1" %%i in ('"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" devices') do (
if "%%i"=="emulator-5554" (
set DEVICE_ID=emulator-5554
)
)

if not defined DEVICE_ID (
echo Device not found. Make sure emulator is running.
pause
exit /b 1
)

echo Found device: %DEVICE_ID%
echo.

echo Adding 10 test contacts...
echo.

REM Add 10 test contacts to the Android device
echo Adding contact: John Smith
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "John Smith" -e phone "+79123456789" -e email "smith@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Jane Doe
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Jane Doe" -e phone "+79123456780" -e email "doe@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Robert Johnson
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Robert Johnson" -e phone "+79123456781" -e email "johnson@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Emily Davis
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Emily Davis" -e phone "+79123456782" -e email "davis@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Michael Wilson
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Michael Wilson" -e phone "+79123456783" -e email "wilson@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Sarah Brown
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Sarah Brown" -e phone "+79123456784" -e email "brown@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: David Taylor
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "David Taylor" -e phone "+79123456785" -e email "taylor@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Lisa Anderson
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Lisa Anderson" -e phone "+79123456786" -e email "anderson@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: James Thomas
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "James Thomas" -e phone "+79123456787" -e email "thomas@example.com"
ping -n 3 127.0.0.1 > nul

echo Adding contact: Jennifer Jackson
"C:\Users\User\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name "Jennifer Jackson" -e phone "+79123456788" -e email "jackson@example.com"
ping -n 3 127.0.0.1 > nul

echo.
echo ========================================
echo Test contacts successfully added!
echo ========================================
echo.
echo Restart the Android Contacts app to view the new contacts.
echo.
pause
75 changes: 75 additions & 0 deletions add_test_contacts_manual.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
@echo off
setlocal

echo ========================================
echo Instructions for Adding Test Contacts
echo ========================================
echo.
echo The automated contact addition via ADB failed because:
echo 1. The Android contacts database is complex (multiple tables)
echo 2. The intent command was misinterpreted by the system
echo.
echo Please follow these manual steps to add test contacts:
echo.
echo 1. Open the "Contacts" app on your Android emulator
echo 2. Tap the "+" or "Add Contact" button
echo 3. Add these 10 test contacts one by one:
echo.
echo Contact 1:
echo Name: John Smith
echo Phone: +79123456789
echo Email: smith@example.com
echo.
echo Contact 2:
echo Name: Jane Doe
echo Phone: +79123456780
echo Email: doe@example.com
echo.
echo Contact 3:
echo Name: Robert Johnson
echo Phone: +79123456781
echo Email: johnson@example.com
echo.
echo Contact 4:
echo Name: Emily Davis
echo Phone: +79123456782
echo Email: davis@example.com
echo.
echo Contact 5:
echo Name: Michael Wilson
echo Phone: +79123456783
echo Email: wilson@example.com
echo.
echo Contact 6:
echo Name: Sarah Brown
echo Phone: +79123456784
echo Email: brown@example.com
echo.
echo Contact 7:
echo Name: David Taylor
echo Phone: +79123456785
echo Email: taylor@example.com
echo.
echo Contact 8:
echo Name: Lisa Anderson
echo Phone: +79123456786
echo Email: anderson@example.com
echo.
echo Contact 9:
echo Name: James Thomas
echo Phone: +79123456787
echo Email: thomas@example.com
echo.
echo Contact 10:
echo Name: Jennifer Jackson
echo Phone: +79123456788
echo Email: jackson@example.com
echo.
echo After adding the contacts, return to the Android Contacts app (ru.yandex.practicum.contacts)
echo to see the new contacts in the list.
echo.
echo If you need to restart the application, run:
echo adb shell am force-stop ru.yandex.practicum.contacts
echo adb shell am start -n ru.yandex.practicum.contacts/.presentation.main.MainActivity
echo.
pause
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading