Android разработка
5.05K subscribers
447 photos
23 videos
1 file
540 links
все о Android разработке

@itchannels_telegram - 🔥 лучшие it каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - ml 📚

@pythonlbooks -📚books
Download Telegram
Forwarded from Java
Killergram – Модуль Android Xposed для удаления нововведённых рекламных сообщений Telegram разработанный на Java.

Поддерживаемые клиенты:
• Official telegram.messenger
• Official telegram.messenger.web
• Official telegram.messenger.beta
• NekoX nekox.messenger
• Nekogram tw.nekomimi.nekogram
• Nanogram cool2645.nekolite
• Plus Messenger telegram.plus
• iMe Messenger com.iMe.android
• BGram org.telegram.BifToGram
• Catogram itaysonlab.messenger
• Forkgram forkclient.messenger.beta
• aka org.aka.messenger

@javatg | #Java #Telegram
👍5
AFWallФайрволл на Андроид.

По сути это расширенный редактор iptables (GUI) для Android. Он обеспечивает точный контроль над тем, каким приложениям Android разрешен доступ к сети.

Особенности:
• Несколько профилей с настраиваемыми именами
• Подсвечивает системные приложения настраиваемым цветом
• Уведомлять о новых установках
• Поддержка VPN
• Логгинг и блокировка паролем

@android_its | #Java #Android #Privacy
🔥6
Ghidraфреймворк для программной реверс-инженерии (SRE)

Созданный и поддерживаемый Исследовательским управлением Агентства национальной безопасности

Ссылка на проект

@github_code | #Interesting #Java
👍41🔥1
​​​XPrivacyLua – менеджер по конфиденциальности приложений для Android

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

#Java #Privacy #Android #Useful

@github_code
4👍1🔥1
🏪 Google готовится к масштабной чистке в Play Store, цель которой — улучшить безопасность и качество приложений.

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

Такие меры, как повышенное внимание к безопасности приложений и более строгие требования к содержанию, показывают, что Google стремится сделать Play Store более похожим на App Store от Apple, где уже давно приняты подобные меры контроля.

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

📎 Полную новостью можно прочитать здесь

#android #java #kotlin #google #googleplaystore #appsecurity #digitalsafety #TechUpdates


@android_its
👍52🔥1😢1
✔️ RTranslator — работающее локально, приложение для перевода в реальном времени с открытым исходным кодом для Android.

⚙️ GitHub

#java #cpp #python #android

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
💡 Java совет: избегай шаринга данных между потоками

Одна из главных причин багов в многопоточке - общий изменяемый state (shared mutable state). Чем больше потоков трогают одни и те же объекты - тем выше шанс словить race condition, deadlock или “плавающие” ошибки.

Что делать правильно:

1) Используй immutable-объекты
Если объект нельзя изменить - потокам нечего “делить”, и синхронизация почти не нужна.
В Java это удобно делать через record, final поля и неизменяемые коллекции.

2) Общайся через сообщения, а не через общую память
Вместо того чтобы менять общий объект - передавай события через очередь:
- BlockingQueue
- ConcurrentLinkedQueue
- Actor-style подход

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

Простой принцип:
Не “разделяй память”, а “разделяй сообщения”.
#Java #SoftwareDevelopment
3👍1🔥1
⚡️ Spring Boot: полный контроль над HTTP-ответами через ResponseEntity

Если нужно управлять не только телом ответа, но и статусом и заголовками — используйте ResponseEntity.

Что это даёт:
- Явно задаёте HTTP-статус (200, 404, 201 и т.д.)
- Добавляете кастомные заголовки
- Возвращаете любой объект в body
- Контролируете поведение API на уровне протокола

Пример:


@GetMapping("/users/{id}")
public ResponseEntity<User> getUser(@PathVariable Long id) {
User user = userService.findById(id);

if (user == null) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).build();
}

return ResponseEntity
.status(HttpStatus.OK)
.header("Custom-Header", "UserFound")
.body(user);
}


• разные статусы для разных сценариев (404, 400, 204)

• REST API с чёткой семантикой
• добавление headers (pagination, tokens, meta)
• возврат пустого ответа без body

Совет:
Если метод просто возвращает данные - достаточно вернуть объект.
Если нужен контроль над HTTP - всегда ResponseEntity.

@javatg

#SpringBoot #Java #Backend #SoftwareEngineering
2👍1
🚀 Ускоряем Spring Boot без изменения кода

Многие приложения тормозят не из-за бизнес-логики, а из-за логирования.
Каждый лог - это I/O операция. При высокой нагрузке это становится узким местом.

Решение - асинхронное логирование через Logback.

Что происходит:
- сообщения складываются в очередь
- отдельный поток обрабатывает их в фоне
- основной поток не блокируется
- меньше задержек и выше throughput

Настройка проста - добавьте logback-spring.xml в:
src/main/resources/

Пример конфигурации:


<configuration>

<!-- Async wrapper -->
<appender name="ASYNC_CONSOLE"
class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="CONSOLE"/>
<queueSize>5000</queueSize>
<discardingThreshold>0</discardingThreshold>
<includeCallerData>false</includeCallerData>
</appender>

<!-- Console appender -->
<appender name="CONSOLE"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger - %msg%n
</pattern>
</encoder>
</appender>

<root level="INFO">
<appender-ref ref="ASYNC_CONSOLE"/>
</root>

</configuration>


Когда это особенно полезно:

• high-load сервисы
• микросервисы с большим количеством логов
• API с высокой RPS
• продакшен-окружение

⚠️ Важно: при аварийном завершении часть логов из очереди может потеряться. Для критичных логов используйте файл + async.

Маленькая настройка - большой прирост производительности.

#SpringBoot #Java #Backend #Performance