@poopoo

Тег Android в блоге poopoo

poopoo

Вчора майже 5 годин писав код для додавання товарів до віртуального кошику.

poopoo

Програмісти не еліта. Запитання: „How to connect Android with MySQL using Mysql JDBC driver?“. Відповідь: „Android by default does not support MySQL. It has an in-built database i.e SQLite.…“.

https://stackoverflow.com/q...ng-mysql-jdbc-driver

poopoo

Якщо в елементі ListView присутні кнопки, то даний елемент списку перестає реагувати на натиснення.

poopoo

В JavaScript мене бісили всіляки not a function а в Java на кожному кроці NullPointerException.

poopoo

Якщо вірити https://stackoverflow.com/q...-textview-in-android то

While using attributes like android:textAppearance it directly uses the predefined specific sp values for the textSize as
android:textAppearance="?android:textAppearanceSmall" => 14sp
android:textAppearance="?android:textAppearanceMedium" => 18sp
android:textAppearance="?android:textAppearanceLarge" => 22sp

poopoo

Як для TabWidget зробити розділювальні лінії між вкладками. З якоїсь версії Android ідіоти з Google вирішили що розділювальна лінія між вкладками не потрібна і тому тепер, для того щоб її все таки показати, доводиться трахати собі мозок.

Після створення обʼєкту TabHost і до задання вмісту вкладок, тому що, як пишуть в Internet, якщо не дотримуватися саме цієї послідовності програма може впасти, пишемо код

tabHost.getTabWidget().setDividerDrawable(R.drawable.tabs_divider);

Після чого в директорії drawable створюємо файл tabs_divider.xml з отаким вмістом:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <size android:width="1px"/>
    <solid android:drawable="?android:attr/listDivider"/>
</shape>

І отримуємо вертикальну розділювальну лінію. Щодо знака питання перед android, то я підказує нам Stackoverflow «Prefixing the ID with a question mark indicates that you want to access a style attribute that's defined in a style theme, rather than hard-coding the attribute. See "Referencing Style Attributes" here: accessing-resources http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes».

poopoo

Щойно зʼясував що для API 14+ тема задається через файлик (styles.xml) в директорії res/values-14 а не в res/values. На розумному телефоні з Android 5 прописування parent="android:Theme.Holo" в елементі style з атрибутом name="AppBaseTheme" в файлі res/values/styles.xml ні на що не впливає.

poopoo

A Single-Activity Android Application. Why not?! https://medium.com/rosberry...why-not-fa2a5458a099

Судячи по замірам автора програма на активностях замість фрагментів менше навантажує ЦП, менш енергозатратна та займає менше RAM.

poopoo

Не можна просто взяти і запустити активність всередині вкладки TabHost та так щоб те що знаходиться в цій активності не перекривало весь екран і можна було повернутися до попередньої активності всередині TabHost. Виявляється, що для того щоб мати декілька активностей в одній вкладці TabHost і мати можливість переміщатися між ними потрібно використовувати ActivityGroup і самому за всім слідкувати. Ситуація майже така сама якби в web-переглядачі не було історії перегляду і вебщикам доводилося б її реалізовувати. Дивно, але не можу знайти нічого толкового по цій темі окрім парочки текстів та запитань на StackOverflow; і код з цих двох текстів толком не працює.

http://ericharlow.blogspot....roid-activities.html
http://web.archive.org/web/...y-nested-activities/
https://www.google.com/sear...hAP&biw=1600&bih=759 https://www.google.com/search?q=android+activity+group+tutorial+site:stackoverflow.com&amp;client=firefox-b-e&amp;sa=X&amp;ved=2ahUKEwix4aOH07_pAhUCjosKHUQ5C6YQrQIoBDABegQIAhAP&amp;biw=1600&amp;bih=759

poopoo

The early implementations of fragments were riddled with bugs.

Якщо воно недороблене, то нахуя таке випускати і псувати життя програмістам?

As of Android 9.0, the framework implementation of fragments is officially deprecated. Google is now very aggressively steering you to use the Support Library implementation of fragments, and this book will tend to focus on that.

Просто охуєнно.

poopoo

А ще в назвах файлів заборонено символ - і хто його знає які ще.

poopoo

Каталоги /res/drawable, /res/layout не можуть мати підкаталогів. В /res/layout в мене вже з десяток файликів а в /res/drawable я по підкаталогам розсортував декілька десятків картинок. На Stackoverflow знайшов інформацію що підкаталоги ніби як підтримуються Android studio в звʼзці з Gradle.

poopoo

Програма не запускається. Пише про NullPointerException. Рядок коду де це сталося не вказується. Просто охуєнно.

poopoo

Концепція Activity в Android підозріло нагадує роботу переглядача WWW.

poopoo

Починаючи з якоїсь версії Android (4? 5?) TabWidget (вкладки) показує піктограми лише якщо вкладка не має підпису або змінна що містить підпис дорівнює null. Показу піктограми одночасно з підписом можна досягти скориставшись варіантом методу setIndicator який в якості аргументу приймає обʼєкт типу View. Спершу в файлі описується те з яких компонентів буде складатися вкладка, наприклад, відцентрований над TextView ImageView з картинкою, потім з розмітки в файлі створюється шматочок UI, поміщається в екземпляр класу View і передається методу setIndicator. Але! Але Android перестає відмічати вибрану вкладку і те що вкладка натиснена, але ще не вибрана. Закінчилось все тим що я знайшов Custom Android Tabs.

  • Для кожної вкладки в якості фону вказується файлик з XML який описує обʼєкт типу StateListDrawable і який буде змінювати фон в залежності від стану вкладки.
  • Створюються ще XML файли в якийх описуються обʼєкти які будуть використовуватися як фон і на які є посилання в попередньому файлику.

Кому в Google так не догодили вкладки з текстом і картинками що мені тепер доводиться так страждати через отаку хуйню я не знаю, але це просто срань якась. Автор статті пише що Google ще й розділювачі між вкладками прибрав. До речі, вищі та ширші вкладки хоч і займають зайве місце, проте зручнші і краще виглядають, а зміна фону і імітація натисненою клавіші це набагато краще ніж індикатор у вигляді тонкої смужки під поточною вкладкою.

poopoo

Eclipse не могло зібрати проект з повідомленням

Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!

Допомогло видалення заміна встановленої версії Android SDK build tools на 25.
https://stackoverflow.com/q...ed-from-the-sdk-fold

poopoo

Бля-я-я-ять. SVG в Android підтримується починаючи з версії 5.0 (API 21). Для використання SVG в більш ранніх версіях потрібно тягнути в програму бібліотеку appcompat.

https://blog.mindorks.com/u...drawables-in-android
https://www.rswebsols.com/t...-with-android-or-not

poopoo

Програмка з вкладками (Tabhost) створена в B4A займає 832 Кб. Якщо в редакторі AndroidManifest прибрати встановлення теми (CreateResourceFromFile(Macro, Themes.DarkTheme)), то ще й використовується тема обрана в ОС. Але не можна розмістити вкладки внизу екрана навіть з бібліотекою TabHostExtras і B4A не підтримує SVG. Для SVG пропонується використовувати якусь бібліотечку яка майже нічого не вміє.

poopoo

Програма в якій крім TabHost і трьох невеликих SVG картинок нічого немає займає 10, блять, Мб. Пошукавши в Internet, вирішив поззбутися бібліотек сумісності видаливши з файлу build.gradle рядки

implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

всі impot`и constraintlayout. Також задав API 15 для compileSdkVersion і minSdkVersion і тепер воно не запускається бо

ic_history_white_24dp.xml:1: AAPT: error: attribute android:viewportHeight not found.

Почему мобильные приложения занимают все больше места https://habr.com/ru/post/332602/

poopoo

Якщо в редакторі Android studio виділити якесь слово (наприклад тип) і натиснути F1, то замість довідки по виделеній сутності запуститься web-переглядач з сторінкою на якій розказується як встановити IntelliJ IDEA https://www.jetbrains.com/h...allation-guide.html#

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.