This
time I'll show how to create Android application using
Clojure programming language. Clojure is one of the most interesting
practical functional languages (in contrast e.g. to
Haskell). It's a Lisp, so you can just run it and start hacking. This
language makes it easy to play with code and stimulates
curiosity.
It's
just a very short intro to the configuration and ho to run basic
program. For the impatient who want more I recommend a look at the neko
library here:
https://github.com/alexander-yakushev/neko
"The Grid. A digital frontier. I tried to picture clusters of information as they move through the computer. What did they look like? Ships? Motorcycles? Were the circuits like freeways? I kept dreaming of a world I thought I’d never see. And then, one day, I got in." — Tron: Legacy
2013-05-31
2013-05-28
Clojure na Android Intro
Tym razem wstępniak do tworzenia aplikacji na Androida przy użyciu języka programowania Clojure. Clojure to jeden z ciekawszych praktycznych języków funkcyjnych (w przeciwieństwie np. do Haskella). Jako, że to Lisp, można go po prostu uruchomić i zacząć hackować. Język ten ułatwia zabawę z kodem i stymuluje ciekawość. Clojure promuje eksperymentowanie. Z resztą przekonaj się sam.
To tylko króciutkie intro przedstawiające proces konfiguracji i uruchomienia środowiska. Dla niecierpliwych, którzy chcą więcej polecam zapoznać się z biblioteką neko: https://github.com/alexander-yakushev/neko .
2013-05-06
Fetching images from any Web page using Clojure
As title says this post will be about downloading images from given page link. To make this task a little easier I am using Enlive library available here: https://github.com/cgrand/enlive
There are primarily 4 main steps to do this.
- read page source from given address
- parse it
- find all <img> tags and store its src (image link) value
- use these links to fetch images directly and store them to disk
Because function that reads image from URL needs full address like: "http://..." I'm adding additional step:
- check if image URL has a valid root
It means that if image link starts with "/" I must add Web page URL at the beginning.
This is how it looks like in Clojure. Remember to add
[enlive "1.1.1"] dependency to project.clj if you're using Leiningen. Also create target directory if it doesn't exist.
2013-05-01
Przyspieszanie skryptów Clojure
Z
pewnością wiele osób stroni/unika używania Javy lub innego języka
opartego o JVM do uruchamiania skryptów ze względu na bardzo
powolny czas startu. Przede wszystkim dotyczy to programistów
Clojure, którego rozgrzewka jest, można powiedzieć, baaaaardzo
długa jak na wymagania małych skryptów i wręcz przekreśla
jakiekolwiek pożyteczne zastosowanie. Jest jednak na to sposób.
Trzeba zaprzęgnąć do roboty program o nazwie Drip ( dostępny na:
https://github.com/flatland/drip
).
Drip po
pierwszym uruchomieniu, które trwa podobnie długo jak zwykłe
uruchomienie programu przy pomocy polecenia java,
ładuje
świeże środowisko Java do pamięci i do takiego czystego
środowiska zapodaje program, który uruchamia się niemal
natychmiast.
2013-03-05
Android 4.0 na PC
Kolejna ściąga. Tym razem szybka konfiguracja Androida przy użyciu VirtualBox.
Jeżeli ktoś już bawił się w tworzenie aplikacji, to wie, że czas startu emulatora dołączanego do androidowego SDK może przysporzyć człowieka o kolejne siwe włosy. Potrzebowałem ostatnio na gwałt czegoś, co zastąpi mi w deweloperce tablet. Czemuż to? Otóż, po kilku reinstalacjach systemu, głównie po to by przetestować różne ROMy zaczął szwankować Bluetooth. Przez kilku tygodni, mimo kilku wycieczek ze śrubokrętem i czyszczenia elektroniki Bluetooth nie działał. Do wczoraj... Gdy zakupiłem adapter Bluetooth i znalazłem odpowiednią wersję pod maszynę wirtualną, która w miarę działa, nagle tabletowy odpowiednik ożył. Jak na złość. Ręce opadają... No nic, 20 PLN to nic takiego, a już nie wierzę, że pewnego dnia znów BT w tablecie odmówi posłuszeństwa. Wybrałem więc opcję dalszej pracy bez tabletu.
Jedyną bezproblemowo działającą (z kilu testowanych) wersją Androida okazała się wersja 4.0 na eeepc. Dokładnie to obraz android-x86-4.0-RC2-eeepc.iso ze strony http://www.android-x86.org/download. Jako jedyny bezproblemowo obsługuje sieć i Bluetooth. Wersja 2.2 miała problemy z konfiguracją sieci, a za to dział Bluetooth. W wersji ostatniej (4.2) natomiast jest odwrotnie.
Po ściągnięciu VirtualBox należy także ściągnąć dodatkową paczkę narzędzi: VM VirtualBox Extension Pack. Należy pamiętać by wersje VirtualBox i paczki narzędziowej były takie same.
Jeżeli ktoś już bawił się w tworzenie aplikacji, to wie, że czas startu emulatora dołączanego do androidowego SDK może przysporzyć człowieka o kolejne siwe włosy. Potrzebowałem ostatnio na gwałt czegoś, co zastąpi mi w deweloperce tablet. Czemuż to? Otóż, po kilku reinstalacjach systemu, głównie po to by przetestować różne ROMy zaczął szwankować Bluetooth. Przez kilku tygodni, mimo kilku wycieczek ze śrubokrętem i czyszczenia elektroniki Bluetooth nie działał. Do wczoraj... Gdy zakupiłem adapter Bluetooth i znalazłem odpowiednią wersję pod maszynę wirtualną, która w miarę działa, nagle tabletowy odpowiednik ożył. Jak na złość. Ręce opadają... No nic, 20 PLN to nic takiego, a już nie wierzę, że pewnego dnia znów BT w tablecie odmówi posłuszeństwa. Wybrałem więc opcję dalszej pracy bez tabletu.
![]() |
| Obr. 1. Ekran blokady. |
Jedyną bezproblemowo działającą (z kilu testowanych) wersją Androida okazała się wersja 4.0 na eeepc. Dokładnie to obraz android-x86-4.0-RC2-eeepc.iso ze strony http://www.android-x86.org/download. Jako jedyny bezproblemowo obsługuje sieć i Bluetooth. Wersja 2.2 miała problemy z konfiguracją sieci, a za to dział Bluetooth. W wersji ostatniej (4.2) natomiast jest odwrotnie.
Po ściągnięciu VirtualBox należy także ściągnąć dodatkową paczkę narzędzi: VM VirtualBox Extension Pack. Należy pamiętać by wersje VirtualBox i paczki narzędziowej były takie same.
Dla instalacji maszyny stacjonarnie, bez opcji LiveCD zarezerwowałem 1.5GB przestrzeni dyskowej, podłączyłem 2 rdzenie procesora. Jako, że moja aplikacja domyślnie działa w orientacji pionowej trzeba było też edytować kilka plików konfiguracyjnych. W Menu wyboru wybrać VESA Mode by uruchomić lub Install to disk by zainstalować na stałe. Jeżeli to drugie, to najpierw zainstalować GRUB, a pod koniec instalacji jeżeli instalator zapyta się czy zamontować /system do odczytu i zapisu potwierdzić Yes. Umniejszy to później liczbę problemów z edytowaniem plików Androida.
Subskrybuj:
Posty (Atom)
