LibCode»Блог

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

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

Структура папок Android-приложения: полное руководство

Структура проекта — это фундамент любого Android-приложения. Правильная организация файлов помогает:
  • Упростить разработку
  • Облегчить поддержку кода
  • Улучшить командную работу
  • Оптимизировать сборку

Базовая структура проекта


app/
  src/
    main/
      java/ или kotlin/
      res/
      assets/
      AndroidManifest.xml

Основные папки и их назначение


Исходный код
java или kotlin — содержит основной код приложения:
  • Activity
  • Фрагменты
  • Утилиты
  • Модели данных

Ресурсы (res/)
layout — XML-макеты пользовательского интерфейса:
  • Макет активности
  • Макет фрагмента
  • Макет списка

values — файлы с ресурсами:
  • strings.xml — строки
  • colors.xml — цвета
  • dimens.xml — размеры
  • styles.xml — стили

drawable — графические ресурсы:
  • Изображения
  • Векторная графика
  • Селекторы

mipmap — иконки приложения для разных.
anim — файлы анимации.
transition — файлы переходов между экранами.

Дополнительные папки
assets — статические файлы, не обрабатываемые системой сборки.
jni — нативный код.
proguard-rules.pro — правила обфускации.

Орг

...

Kotlin: Переменные, типы данных и вывод на экран

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

Переменные: "val" vs "var"


В Kotlin две ключевые конструкции для объявления переменных:
  • val — неизменяемая переменная (аналог константы). После присвоения значения его нельзя поменять.
  • var — изменяемая переменная. Значение можно перезаписывать.

Пример в коде (MainActivity.kt):
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val greeting = "Привет!"          // val — нельзя изменить
    var counter = 0               // var — можно менять
    counter = counter + 1         // работает
    // greeting = "Пока!"          // ошибка: нельзя перезаписать val
}

Когда что использовать
  • val — для данных, которые не должны меняться (названия, настройки).
  • var — для счётчиков, динамических значений.

Основные типы данных


  • String: (Пример: "Текст") С
...

Kotlin: Введение

Kotlin — это современный статически типизированный язык программирования, работающий на платформе JVM (Java Virtual Machine). Разработан компанией JetBrains и официально представлен в 2011 году. В 2017 году Google объявил Kotlin приоритетным языком для разработки под Android.

Ключевые преимущества


  • Совместимость с Java: можно использовать существующие Java-библиотеки.
  • Краткость кода: меньше шаблонного кода по сравнению с Java.
  • Безопасность: встроенная защита от NullPointerException.
  • Функциональные возможности: лямбды, расширения, корутины.
  • Мультиплатформенность: поддержка Android, серверных приложений, фронтенда (через Kotlin/JS).

Установка среды разработки



Шаг 1. Установите Android Studio:
...

Программы для разработки Android-приложений

Ссылки на необходимые программы для разработки Android-приложений:

Java Development Kit (JDK)


Необходим для работы Android Studio, так как она основана на Java. Можно использовать JDK от Oracle: https://www.oracle.c ... gies/downloads/.

Android Studio


Официальная интегрированная среда разработки (IDE) от Google. Скачать можно с официального сайта для разработчиков Android: https://developer.android.com/....

JavaScript: Что такое javascript:void(0)?

javascript:void(0) — это синтаксическая конструкция, которую традиционно использовали в атрибуте href HTML‑ссылок для предотвращения перехода по умолчанию.

Пример:
<a href="javascript:void(0)" onclick="doSomething()">Кликни меня</a>

При клике браузер выполняет JavaScript‑код, но void(0) возвращает undefined, что принудительно отменяет навигацию (переход на другую страницу).

Как это работает на практике


  1. Браузер видит href="javascript:..." и интерпретирует содержимое как JS‑код.
  2. void(0) вычисляется в undefined.
  3. Поскольку возвращаемое значение не является валидным URL, переход блокируется.

Почему этот подход считается устаревшим


Несмотря на работоспособность, javascript:void(0) имеет критические недостатки:

Проблемы с доступностью (a11y)
  • Скринридеры озвучивают javascript:void(0) как текст ссылки, создавая путаницу.
  • Клавиатурная навигация (Tab) работает некорректно.
  • Нарушается принцип семантической разметки.

SEO‑риски
  • Поисковые роботы игнорируют ссылки с javascript:.
  • Может расцениватьс
...