вівторок, 20 травня 2014 р.

Android: створення стартових іконок

     Коли створюєте стартову іконку для додатку на Андроїді, потрібно мати на увазі, що програма може бути встановлена на девайсах з різною роздільною здатністю екрана. Тому потрібно підготувати окремі файли для 5 стандартних груп: medium, high, x-high, xx-high, та xxx-high. Більш детально про це на сайті developer.android.com.

В назвах файлів іконок рекомендується, але необов'язково, вживати стандартні префікси:

Тип іконки Префікс Приклад
Icons ic_ ic_star.png
Launcher icons ic_launcher ic_launcher_calendar.png
Menu icons and Action Bar icons     ic_menu ic_menu_archive.png
Status bar icons ic_stat_notify   ic_stat_notify_msg.png
Tab icons ic_tab ic_tab_recent.png
Dialog icons ic_dialog ic_dialog_info.png

     Іконки є зовнішніми ресурсами додатку, тому зберігаються вони в папці res (від resources) робочого проекту, в категорії drawable, у підпапках відповідно до розширення екрану, для якого їх було створено - drawable-hdpi, drawable-mdpi і т.д (developer.android.com).

     Для автоматичного генерування іконок для різних екранів можна скористатися сервісом Launcher Icon Generator :



неділя, 11 травня 2014 р.

Джерельний код стандартних Java-класів

     Знайшов два ресурси, де можна подивитися внутрішню реалізацію стандартних класів, що постачаються з JDK:

www.docjar.com

www.grepcode.com

     Також джерельний код можна знайти в папці src.zip на вашому компютері, де було встановлено JDK.

   Тут можна завнтажити довідку по всіх версіях Джави в форматі HTMLHelp - www.allimant.org.

субота, 18 січня 2014 р.

C# : програма закривається.

     Програма написана, виконується, але ми нічого не встигаємо побачити, оскільки зразу після виконання консоль закривається. В мові С в таких випадках в кінці програми використовується код:

system("pause");

     Це дає змогу не закривати вікно, допоки ви не натиснете якусь кнопку на клавіатурі. В C# з такою ж метою використовується метод System.Console.ReadKey():


System.Console.Write("Press any key to continue . . . ");   
 System.Console.ReadKey(); 

     Програма також буде чекати на натиснення кнопки. Загалом, метод повертає значення типу char, яке буде відповідати натиснутій кнопці (www.dotnetheaven.com):

            s = Console.ReadKey();
            if (s.Key == ConsoleKey.Insert)
                {
                Console.WriteLine("You pressed insert");
             }

     ConsoleKey - містить набір (константи) всіх кнопок на клавіатурі.

IDE для C#

     Всі знають, що найкраще середовище розробки на Сі Шарп, це Visual Studio від Microsoft, який і створив цю мову програмування. Можна завантажити або пробну версію платних продуктів, або безкоштовну Express-версію

     Але нові версії Студії встановлюються тільки на нових версіях ОС Windows (7, 8). Я не бачу на їх сайті старіших версій IDE, які б працювали на моєму Windows XP. Тому буду встановлювати щось альтернативне (і безкоштовне).

     В природі існують кілька варіантів (Freeprogrammingresources.com):
- MonoDevelop;


пʼятниця, 22 листопада 2013 р.

Android: проблеми з емулятором.

     Трапилося декілька історій з емулятором. По-перше, довгий час мене задовбували такі повідомлення після запуску написаної програмки:
- Unfortunately, your_program_name has stopped
- Unfortunately, Launcher has stopped



субота, 2 листопада 2013 р.

Android: перші кроки з Layouts

     Layout, що українською можна перекласти як макет, визначає візуальну структуру (схему) для інтерфейсу користувача, наприклад UI для актівіті (тут вже підібрати, чи скоріше видумати, україномовний відповідник для  activity трохи складно), чи для віджету (app widget). Макет визначає логічну схему, за якою будуть розташовуватись візуальні об'єкти  на екрані, наприклад, кнопки, текстові поля, тощо. Тобто, чи будуть вони розміщені один під одним, чи один за одним, чи у вигляді таблиці, чи у вигляді мережі. Серед стандартних макетів можна назвати AbsoluteLayout, FrameLayout, LinearLayout, RelativeLayout, TableLayout, GridLayout. Більше про них можна почитати на гуглівському сайті developer.android.com.

      Як же практично вибрати макет для актівіті? Найпростіше це зробити візуально, в графічному редакторі XML для актівіті. Потрібно зазначити, що одне актівіті може мати декілька макетів із довільною ієрархічною структурою.  Перший лейаут, який буде кореневим для інших (якщо інші звичайно будуть), можна призначити з панелі Outline, що знаходиться справа від графічного представлення актівіті (активною має бути закладка Graphical Layout для файлу activity_main.xml, чи як там називається ваше актівіті). По замовчуванню там вже буде стояти якийсь тип макету. При бажанні його можна змінити, якщо з контектного меню назви макета (на малюнку LinearLayout), вибрати команду Change Layout... :


пʼятниця, 1 листопада 2013 р.

Android: імпортувати проект в Eclipse

     Програмка для Андроіда складається з купи папочок і файликів. Тому, якщо потрібно подивитись чужий проект, то просто скопіювати java-код не вийде - проект може, і скоріше за все так і буде, не запуститися. Адже код працює у зв'зці з XML- файлами, та іншими ресурсними файлами. Тому потрібно імпортувати весь проект.

     Для цього в Eclipse (Kepler Release) в меню File є команда Import... В  діалозі  Import із списку Select an import source: вибираємо папку Android і в ній пункт Existing Android Code Into Workspace