Avian JVM – z czym to się je

0

Zapewne każdy (a przynajmniej większość) odwiedzający m4txbloga wie, że jest coś takiego jak Java i że programy napisane w niej uruchamia się za pomocą wirtualnej maszyny Javy (w skrócie JVM); większość ma także taką maszynę wirtualną zainstalowaną i w zdecydowanej większości przypadków jest to Oracle JVM, bądź OpenJDK. Nie każdy jednak wie, że są alternatywy. Lepsze alternatywy.

Czytaj dalej

SmsPrice 1.0.1

0

Ponad 3 miesiące minęły od wydania pierwszej Androidowej wersji prościutkiej aplikacji SmsPrice. W dniu dzisiejszym wydaję wersję 1.0.1, która przynosi… 1 zmianę.

Zmiana ta to ustawienie nowego domyślnego motywu dla Androida 3.x – Holo, a także dla Androida 4.x i nowszych – DeviceDefault (czyli, jak nietrudno się domyślić, domyślnego systemowego motywu). Oznacza to w praktyce tyle, że od teraz SmsPrice w urządzeniach z Androidem nowszym niż 2.x będzie wyglądał bardziej natywnie; przybierze wygląd reszty aplikacji. Łatwo się również domyślić, że nie ma większego sensu instalacja aktualizacji w Androidzie z serii 2.x.

Przewiduję natomiast pewne usprawnienia w nowszych wersjach. Aplikacja mogłaby, dla przykładu, mieć swój własny widżet, dzięki czemu nie byłoby wymagane uruchamianie programu, by uzyskać informacje na temat określonego numeru. Planuję także dodanie do bazy informacji o nowych numerach telefonów.

Zapraszam więc wszystkich użytkowników Androida >= 3.0 do pobierania.

Amen.

Java – konwersja obrazków SWT na AWT (i vice versa) z przezroczystością

2

Konwersja obrazków biblioteki SWT na obrazki AWT może przysporzyć pewnych problemów. Ani jedna ani druga biblioteka nie udostępnia gotowych rozwiązań do tego, jedynie na stronie SWT Snippets możemy znaleźć kod, który takową operację wykonuje. Niestety, kod ten nie jest jednak idealny. Przede wszystkim, konwersja SWT => AWT jest wykonywana bez uwzględnienia przezroczystości (co ciekawe, w drugą stronę już działa). W tym krótkim artykule postaram się opisać niezbędne czynności, aby tę – jakże ważną – funkcjonalność przywrócić.

Czytaj dalej

JavaFX – yyy… LOL?

3

Niedawno dowiedziałem się co nieco o technologii stworzonej przez Oracle, zwanej JavaFX. W założeniu technologia ta ma być zamiennikiem do kilkuletniego już Swinga. Ale czy na pewno?

Czytaj dalej

Swing, czyli poradnik „Jak zrobić beznadziejną bibliotekę do GUI”

7

Na początku powiem może czym jest Swing. Otóż Swing jest to ulepszona wersja biblioteki AWT, służącej do tworzenia GUI w Javie. Obecnie Swing jest w zasadzie jedyną sensowną biblioteką do GUI dla Javy, niestety. Jest aktualnie rozwijany przez firmę Oracle, która rozwija również platformę, na której działa Swing – Javę. Swing jest więc rozwijany przez aktualnego właściciela Javy. Jest to bardzo dobrze z punktu widzenia programisty. Dlaczego więc Swing jest zły? Otóż…

Czytaj dalej

Duplicate Lines Finder 2.0

0

Niektórzy czytelnicy mojego bloga zapewne pamiętają moje początki z językiem C++, kiedy to napisałem Duplicate Lines Findera 1.0, a krótko potem – 1.1. W dniu dzisiejszym – 12 lutego 2012 roku – ponad półtora roku po wydaniu ostatniej wersji, tj. 1.1 program powraca – tym razem nowy, odświeżony, jako już Duplicate Lines Finder 2.0.

Zmian jest dosyć sporo. Przede wszystkim nastąpiła zmiana języka programowania, w którym wspomniany program jest napisany – na język Java, oraz zmiana licencji – z Freeware na GNU GPL. Oznacza to jednocześnie, że program jest teraz Open source!

Kolejną ważną zmianą jest wielojęzyczność. Java umożliwiła mi bardzo łatwą zmianę języka w zależności od tego, jaki język w systemie ma aktualnie ustawiony użytkownik programu. Aktualnie jedynymi obsługiwanymi językami są polski oraz angielski, ale… Może kiedyś się to zmieni? 🙂

Następną zmianą jest nowy interfejs. Wybór plików – docelowego oraz źródłowego – odbywa się obecnie poprzez 2 przyciski. Zrezygnowałem z etykiety, pola tekstowego i przycisku tak, jak to wyglądało w poprzednich wersjach – teraz funkcje tych wszystkich widżetów przejął jeden przycisk. Oprócz tego dodałem pasek postępu pokazujący postęp wykonywania operacji. Jest on połączony z przyciskami Start i Anuluj w następujący sposób: po wciśnięciu przycisku Start, zamienia się on w przycisk Anuluj. Po opuszczeniu kursorem obszaru tegoż przycisku, zamienia się on w progressbar. Po najechaniu myszką na pasek, zamienia się on z powrotem w przycisk Anuluj. Prosto i minimalistycznie 🙂 Oprócz tego rozbudowałem również statystyki.

Z pozostałych zmian warto zaznaczyć, że teraz separator nie musi być już pojedynczym znakiem – może być dowolnej długości. Program teraz działa – chyba, nie robiłem dokładnych testów – szybciej.

To tyle o nowym Duplicate Lines Finderze. Mam nadzieję, że Wam się spodoba 🙂

Ah – warto również wspomnieć, że opublikowałem aplikację również na angielskiej wersji m4txbloga.

Zapraszam więc do pobieralni.

Pozdrawiam 🙂

Nowa gra – The Orb

2

W dniu dzisiejszym, to jest 11 listopada 2011 roku o godzinie 11:11 (prawie :D) zostaje wydana moja nowa, pierwsza, beznadziejna gra. Jest to jednocześnie mój pierwszy prawdziwy opublikowany projekt w Javie.

Od razu wspomnę, że gra jest tak beznadziejna i dennie napisana, że pozwoliłem sobie nie napisać listy błędów, które aktualnie znajdują się w grze. Ich liczba możliwe, że nawet wynosi kilkadziesiąt, tak więc nie ma sensu by je wszystkie wypisywać. (Z tego względu również gra uzyskała póki co miano Alphy) Warto również powiedzieć, że planuję w najbliższym czasie (czytaj: do 7 dni) wydać kolejną wersję poprawiającą większość błędów.

Gra dostępna jest na wszystkie popularne platformy, czyli Windows, Mac OS X oraz Linux. I – gdybyście się zastanawiali czemu jest taka duża – największą część jej rozmiaru – 31MB z 41 – zajmuje muzyka.

The Orb na obecną chwilę jest bardzo krótki – można go bowiem bez problemu przejść w 20 minut. Mała liczba leveli jest spowodowana niewielką liczbą bloków, brakiem kreatywności z mojej strony i oczywiście brakiem czasu 🙂

Nie ma za bardzo co przedłużać, lepiej żebyście to sami zobaczyli. Zapraszam do pobieralni 🙂 A, i uwaga – gra wymaga Javy w wersji 7.

Premiera mobilnego SmsPrice

2

Tak, tak – SmsPrice powraca. Napisany niedawno po założeniu bloga program przychodzi ponownie, tym razem w wersji mobilnej.

Ostatnio zacząłem interesować się bowiem takim językiem programowania, jakim jest Java. I co mogę powiedzieć?

Java jest językiem dosyć specyficznym. Kod źródłowy napisany w Javie jest kompilowany do kodu pośredniego, który potem może być wykonany przez wirtualną maszynę Javy. Dzięki temu faktowi, jeden plik .jar może być uruchamiany przez wiele systemów. Niesie to jednak pewną istotną wadę – programy napisane w Javie mają słabą wydajność.

Podczas, gdy C++ jest językiem proceduralno-obiektowym, Java jest silnie nastawiona na obiektowość. Oznacza to, że wszystko jest w niej uporządkowane w klasy obiektów.

Nie będę tu jednak wymieniał wszystkich zalet i wad Javy zwłaszcza, że zacząłem dopiero jej naukę, jednak stwierdzam, że jest to język, którym każdy programista powinien się zainteresować. Zapowiada się bowiem naprawdę ciekawie.

Wracając do SmsPrice’a – hm, dużo powiedzieć raczej nie muszę. Działa tak, jak jego desktopowy odpowiednik, jednak w wersji mobilnej mocno zmniejszyła się ilość kodu, a ponadto dodałem automatyczne obliczanie ceny z VATem. Dodatkowo mobilny SmsPrice ma otwarty kod źródłowy i jest udostępniany na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 3.0 Unported License. Tak więc nie będę dalej przeciągał, zapraszam do Downloadu!