Nowa aplikacja Andromasters - tapeta animowana spadających płatków śniegu zimą.

Niesamowity zimowy efekt spadających płatków śniegu wszędzie tam gdzie korzystasz z telefonu. Przy każdym dotknięciu możliwość poruszania śnieżynkami. Możliwość wyboru tapet, ustawienia czułości poruszania, jasności tła, ilości śnieżynek, ilości gwiazdek na tle oraz dodanie efektu szronu. Zobacz i oceń aplikację - być może stanie się ona twoim ulubionym motywem w zimowe dni :)

Link do Tapety Animowanych Śnieżynek

Czytaj szczegóły

Cloudy Sms Backup - SMSy w chmurze

Kategoria: Nasze aplikacje
sobota, 21 wrzesień 2013
Cloudy Sms Android

Cloudy Sms Backup - archiwizacja smsów w chmurze.

Nowa aplikacja Andromasters umożliwia codzienną, automatyczną archiwizację smsów w chmurze. Google Drive. Aplikacja synchronizuje pliki z smsami z dyskiem Google Drive. Pliki moglą mieć postać tekstową TXT, XML, JSON, DB bazy danych lub wyeksportowane do pliku Google Spreadsheet (odpowiednik Excela w chmurze). Dzięki możliwości eksportu do Google Spreadsheet możliwe jest generowanie plików także do innych formatów np. PDF, HTML, CVS, ODS, XLS (Excel). Smsy w arkuszach są podzielone ze względu na datę odebrania/wysłania oraz nazwę osoby smsującej. Aplikacja głównie służy temu, aby baza danych smsów nie obciążała pamięci telefonu. Z doświadczenia wielu użytkowników wynika, że liczba smsów przekraczająca 10000+ poważnie potrafi zwolnić pracę smartfona. Cloudy Sms Backup umożliwia import jak i eksport smsów do i z pamięci telefonu. Aplikacja obsługuje wiele kont Google Drive (@gmail) oraz pozwala na dodawanie swoich spreparowanych smsów do telefonu.

Projekt w dalszej fazie będzie rozszerzony o wersję, która powiadomi właściciela telefonu, że otrzymał sms-a. Powiadomienie będzie kierowane do tabletu lub komputera, na którym osoba aktualnie pracuje. Osoba po otrzymaniu powiadomienia będzie mogła odpowiedzieć na sms za pośrednictwem tabletu lub komputera. Takie udogodnienie daje możliwość zdalnego wysyłania smsów nawet bez kontaktu fizycznego. Stawiamy także na dość nietuzinkowy interfejs graficzny.

WERSJA CLOUDY JUŻ DOSTĘPNA W GOOGLE PLAY : Cloudy SMS Backup

PłATNA WERSJA : Cloudy SMS Backup PRO

Sms Backup Google Drive - Android Market

Link z 1mobile.com

Czytaj szczegóły

OpenCV na Androida - wprowadzenie

android opencv

Aby możliwa była integracja biblioteki OpenCV ze środowiskiem Eclipse IDE wymagane jest pobranie i instalacja niektórych składników takich jak:

Jeśli wszystkie z powyższych składników zostały wypakowane z archiwów i zainstalowane w systemie należy uruchomić środowisko Eclipse. Przy uruchomieniu należy określić nową przestrzeń roboczą na dysku.

1


Następnie jeśli wtyczka ADT została pomyślnie zainstalowana należy się upewnić czy w ustawieniach została dodana ścieżka do Android SDK. W tym celu należy wybrać w pasku ustawień środowiska Eclipse zakładkę Window ►Preferences ► Android i w miejscu, gdzie widnieje napis "SDK Location" wybrać miejsce, w którym został zainstalowany pakiet Android SDK. Jeśli wszystko zostało wybrane prawidłowo to okno programu powinno wyglądać następująco.

2

Kolejnym krokiem jest wejście w ustawienia "Android SDK Manager" w celu wybrania wersji Android API. Minimalna wersja interfejsu do jakiej przystosowana jest biblioteka OpenCV dla platformy Android to API w wersji nr. 8, lecz zalecana wersja to wersja nr. 11 lub wyższa. Aby pobrać i zainstalować wybrany interfejs programistyczny należy przejść do zakładki Window ►Android SDK Manager. W oknie, które się ukaże należy dokonać wyboru odpowiedniej wersji interfejsu oraz zaznaczyć kategorię "Tools", a następnie zainstalować pakiety.

3


Następnym krokiem jest przystąpienie do importu biblioteki OpenCV wraz z projektem aplikacji do przestrzeni roboczej. Aby tego dokonać należy przejść do zakładki File ►Import ► General ► Existing Projects into Workspace i przycisnąć "Next". W kolejnym oknie należy podać miejsce gdzie znajduje się katalog z biblioteką OpenCV w miejscu "Set root directory". Po wybraniu katalogu głównego pod spodem pojawią się wszystkie projekty środowiska Eclipse, które zostaną zaimportowane.
4

Możliwe, że po zaimportowaniu wybranych projektów środowisko Eclipse wykryje błędy. Należy wówczas sprawdzić czy biblioteka OpenCV została dołączona do projektów. Aby to zweryfikować należy wejść do właściwości projektu Properties ►Android i w sekcji "Library" dodać zaimportowany projekt zawierający kod źródłowy biblioteki OpenCV. Powinno to wyglądać podobnie jak na rysunku pod spodem - tzn. biblioteka powinna być odznaczona zielonym znacznikiem. Warto także "odświeżyć" wszystkie projekty poprzez zakładkę Project ►Clean ►Clean all.

5

Jeśli wszystkie projekty zostały załadowane pomyślnie i nie występują żadne błędy, wówczas można przejść do uruchomienia wybranego projektu. Jeśli uruchamiamy aplikację po raz pierwszy ukaże się okno trybu uruchomienia aplikacji należy wtedy wybrać z dostępnych trybów opcję "Android Application".


6


Po uruchomieniu aplikacji w emulatorze urządzenia z systemem Android programista powinien ujrzeć tego typu widok jak na rysunku pod spodem. Widać na nim biało-czarną szachownicę z poruszającym się po niej zielonym kwadratem. Jest to spowodowane tym, że program emulujący urządzenie nie ma możliwości przechwytywania obrazu z kamery internetowej albo z innego źródła, dlatego w całości nie jest możliwe przetestowanie takiej aplikacji na emulatorze urządzenia. Do uruchomienia aplikacji należy posiadać urządzenie typu smartfon lub tablet z zainstalowanym systemem operacyjnym Android OS w wersji przynajmniej 2.2 (API 8) lub nowszej.

7

Czytaj szczegóły

Biblioteka OpenCV

Kategoria: Artykuły
środa, 12 czerwiec 2013
O

penCV jest otwartą biblioteką funkcji wykorzystywanych podczas obróbki obrazu. Stworzona została w językach C i C++ i pozwala na korzystanie z wielu udogodnień związanych z szeroko pojętą dziedziną wizji komputerowej.
Początki OpenCV wiążą się z firmą Intel, słynącą na całym świecie z produkcji procesorów. Prowadzono w niej wiele badań dotyczących aplikacji wykorzystujących skomplikowane obliczeniowo algorytmy - między innymi związanych z grafiką komputerową. Pracownicy Intela odwiedzali w tamtym czasie wiele ośrodków badawczych na całym świecie zajmujących się przetwarzaniem obrazów i doszli do pewnych spostrzeżeń. Wynikało z nich, że różne ośrodki naukowe prowadzące badania na podobny temat budowały biblioteki na własny użytek służące do przetwarzania obrazu, które nie były do końca usystematyzowanymi implementacjami. Biorąc pod uwagę to spostrzeżenie firma Intel zainteresowała się projektem stworzenia uniwersalnej, otwartej biblioteki do badań związanych z tematyką wizji komputerowej. W roku 1999 podjęto prace w tym kierunku. Bibliotekę miała cechować wysoka wydajność, czytelność kodu oraz przede wszystkim otwartość. Dopiero w roku 2007 powstała pierwsza finalna wersji tej biblioteki i od tego czasu cieszy się niesłabnącym uznaniem. OpenCV jest nadal rozwijana i dopracowywana, a przy tym pozostaje otwarta i całkowicie darmowa nawet do celów komercyjnych.
Warto też wspomnieć, że biblioteka OpenCV jest projektowana z myślą o przenośności na różne platformy. W rzeczywistości można ją uruchomić na platformach Windows, Linux, MacOS, BSD, Solaris, Android OS, iOS i innych. Warto też wspomnieć, że istnieją także alternatywne interfejsy programistyczne, które pozwalają na używanie funkcji biblioteki pisząc w językach : Java, C#, Python, Ruby i innych. Możliwe jest także zintegrowanie OpenCV z pakietem Matlab.
Celem stworzenia biblioteki OpenCV było dostarczenie prostego w użyciu, a zarazem potężnego narzędzia, na bazie których programiści mogliby w sposób relatywnie szybki tworzyć zaawansowane projekty z dziedziny wizji komputerowej. Rezultatem tego założenia jest na dzień dzisiejszy ponad 500 funkcji, które oferuje OpenCV programistom związanym z grafiką komputerową. Funkcje te dotyczą np.: operacji na histogramach, określania konturów, wykonywania różnych operacji na obrazach (operacje logiczne, splot, zmiana przestrzeni kolorów itp.), segmentacji obrazu, śledzenia ruchów obiektów, przechwytywania strumienia obrazów z kamer, projekcji i wizji 3D, uczenia maszynowego (mechanizmów wspomagania automatycznym przekształcaniem danych w informacje - bazujące przede wszystkim na statystycznym dopasowaniu wzorców oraz klasteryzacji).
Jak wspomniano wcześniej, biblioteka OpenCV została stworzona w językach C i C++, dlatego najlepsza wydajność zapewniona jest jeśli aplikacja, wykorzystująca OpenCV, pisana jest w tych językach. Twórcy biblioteki chcąc zapewnić jej przenośność, stworzyli także alternatywne interfejsy programistyczne, które pozwalają na wykorzystanie funkcji biblioteki w innych językach programowania i dostosowanie ich do innych platform. Działają one na zasadzie funkcji lub klas opakowujących (ang. wrapper), które zapewniają wywołanie odpowiednich metod biblioteki bazowej oraz konwersje typów argumentów. Programiści urządzeń mobilnych Android OS chcący wykorzystać bibliotekę OpenCV mogą tworzyć aplikacje w dwojaki sposób albo zdecydować się na skorzystanie z klas opakowujących, albo pisać kod źródłowy w języku C++. Twórcy Androida zalecają programowanie przy wykorzystaniu Android SDK (tak jak to zostało opisane w artykule "Jak zacząć z OpenCV na Androidzie"), czyli w języku Java, aniżeli w Android NDK, jednak decyzja należy w tym wypadku do programisty. Wybór języka C++ jest najbardziej uzasadniony w przypadku gdy programista dysponuje już kodem C++, wtedy może on spróbować uruchomić taki kod na platformie Android. Programiście, który zaczyna pisanie programu od początku w Androidzie, wygodniej będzie napisać aplikację w języku Java z wykorzystaniem klas opakowujących, gdyż wywołania metod tych klas są przetestowane i wolne od błędów. Natomiast programując z wykorzystaniem biblioteki OpenCV w języku C++ na platformie Android nie ma gwarancji, że dana funkcja zadziała identycznie jak np. na komputerze PC. Poza tym właściwa konfiguracja środowiska programistycznego jest w takim wypadku trudniejsza i obarczona dużymi trudnościami.

Czytaj szczegóły
W

obecnym czasie komputery towarzyszą nam w każdej dziedzinie życia. Niemal każde urządzenie na miarę XXI wieku posiada wbudowany komputer do sterowania jego prawidłową pracą. Mówiąc wprost, nie wyobrażamy sobie bez nich życia do tego stopnia, że musimy je mieć nawet w kieszeni. Kiedyś synonimem przenośnego komputera był laptop, dzisiaj smartfony i tablety. Gdyby cofnąć się o kilka lat wstecz to stwierdzilibyśmy, że prędkości procesorów w urządzeniach mobilnych są porównywalne z prędkościami procesorów montowanych w laptopach z tamtego okresu. W dodatku ich rozmiar zmniejszył się kilkukrotnie. Początkowo nazwa smartfon określała urządzenie łączące w sobie funkcje telefonu i komputera kieszonkowego (PDA - Personal Digital Assistant). Teraz tego typu przenośne komputery zapewniają m.in.:

  • Swobodny dostęp do Internetu poprzez sieć Wi-Fi, 3G lub (w przyszłości) LTE
  • Odtwarzanie multimediów niemal w każdym formacie
  • Określenie lokalizacji telefonu poprzez moduł GPS - możliwość korzystania z telefonu jako nawigacji
  • Robienie zdjęć wbudowanym aparatem cyfrowym
  • Wykrywanie ruchu telefonu, jego pochylanie, potrząsanie poprzez akcelerometr
  • Określenie stron świata poprzez sensor magnetyczny

Do obsługi wszystkich funkcji telefonu potrzebny jest zaawansowany system operacyjny, który nie wymaga instalowania dodatkowych sterowników. Mówiąc o systemie operacyjnym na urządzenie mobilne mamy na myśli jeden z kilku wiodących dostępnych na szeroką skalę : Android, Windows Phone (wcześniej Windows Mobile), iOS, Symbian, BlackBerry OS, czy MeeGo. Inne pomniejsze platformy stanowią zaledwie 4% rynku. Po zakupie urządzenia praktycznie nie mamy możliwości zmiany OS'aze względu na to, że wybór zostaje podjęty przez producenta danego modelu.

Możliwości Android OS w porównaniu do konkurencji

Chcąc znaleźć odpowiedni system operacyjny pod rozwiązanie określonego problemu należy przeanalizować jak najdokładniej możliwości każdej z platform. Poniższe zestawienie przedstawia każdy system z osobna, analizując takie aspekty jak: popularność, cechy, możliwości, koszty platformy oraz jej możliwy rozwój w najbliższych latach.

Symbian, Maemo i MeeGo

Symbian OS

Symbian powstał na bazie popularnego systemu operacyjnego Linux. Jest on najstarszy i był niegdyś niedoścignionym liderem jeśli chodzi o wyprodukowane urządzenia pod tą platformę i posiadał prawie 75% rynku światowego smartfonów. Wtedy wszystkie liczące się w chwili obecnej platformy albo nie istniały albo miały znikomy udział w rynku. Symbian był instalowany głównie w urządzeniach firm tj.: Nokia, SonnyEricsson czy Samsung. Jednak to Nokia, niegdyś największy producent telefonów komórkowych, nadawała mu największego rozpędu. Pomimo tego system w pewnym momencie stracił na innowacyjności, co wykorzystała konkurencja. Szukając przyczyny spadku popularności systemu można wymienić pewne spostrzeżenia użytkowników. Wiele osób stwierdzało, że system miał tradycyjny, nieciekawy interfejs użytkownika, a wydajność była przeciętna, bądź nawet ulegał zawieszaniu się przy intensywnym użytkowaniu. Minusem dla twórców aplikacji był fakt, że każdy program przez nich stworzony musiał posiadać kilka wersji dla różnych odmian systemu Symbian. Przez co system pomimo tego, że jest najdłużej obecny na rynku posiada mniej dostępnych dodatkowych aplikacji niż młodsza konkurencja. System z którym Nokia wiązała przyszłość jest obecnie prawie nierozwijany. Nadzieją dla zwolenników Symbiana jest jego najnowsza odsłona (w momencie pisania pracy) Symbian Belle, która dzięki ulepszonemu interfejsowi i uzupełniona o nowe brakujące wcześniej funkcje, pozwala jeszcze na egzystencję w świecie smartfonów tej przestarzałej konstrukcji. W związku z tym popularność OS'a drastycznie maleje co rokuje niepewną przyszłość tego systemu, jeśli nie zakończenie go w najbliższych latach.

Nokia, która próbowała wyjść z problemu słabnącej popularności systemu postanowiła, że utworzy coś nowego. W 2010 roku powstało Maemo bazujące na dystrybucji Linuksa - Debianie. Kolejna niedogodność to brak kompatybilności aplikacji utworzonych w Symbianie mimo podobieństw, dlatego system posiada niewielką liczbę dostępnych aplikacji. Ostatecznie Nokia szybko wycofała się z projektu Maemo i stworzyła wspólnie z firmą Intel następcę - MeeGo. MeeGo miało być oprogramowaniem dla wielu różnych urządzeń mobilnych. Zaczynając od smartfonów, tabletów, netbooków, a kończąc na systemach nawigacyjnych i rozrywkowych w samochodach, telewizorach czy odtwarzacze Blu-ray. System miał szansę powodzenia za sprawą nowego podejścia do interfejsu użytkownika, wstecznej kompatybilności z Maemo, czy nowatorskiej filozofii obsługi. Ostatecznie jednak pod koniec 2011 roku projekt został porzucony przez Nokię, która postanowiła współpracować z innym potentatem oprogramowania Microsoftem i montować w swoich flagowych modelach smartfonów system Windows Phone.

Windows Phone

Windows Phone

Windows Phone następca Windows Mobile to zupełnie nowy system operacyjny opracowany przez korporację Microsoft, oparty na nowym jądrze. Zmiana jądra wpłynęła na wydajność i stabilność systemu. Interfejs zmienił się diametralnie w porównaniu do poprzednika. W nowej wersji system jest bardziej intuicyjny. Nowy produkt jest teraz także idealną platformą do programowania zaawansowanych graficznie gier, dzięki integracji systemu z platformą XNA. Platforma ta służy do tworzenia gier 3D przeznaczonych na urządzenia firmy Microsoft tj.: konsolę Xbox, komputer z systemem Windows oraz smartfon z Windows Phone. Wszystkie nowe smartfony z tym systemem muszą spełniać restrykcyjne wymagania sprzętowe, przez co nowa platforma jest teraz bardziej spójna. Dzięki temu programiści będą musieli poświęcić mniej czasu, aby dostosować swoją aplikację do każdego urządzenia. Ilość dostępnych aplikacji na początku 2012 roku w oficjalnym sklepie Windows Phone Marketplace wynosiła ok. 50 000 aplikacji, jest to niewiele w porównaniu do największych konkurentów. Można odnieść wrażenie, że system jest technologicznie jeszcze o krok z tyłu za konkurencją. Popularność Windows Phone'a na dzień dzisiejszy jest niewielka w porównaniu do potentatów rynku. Natomiast połączenie pracy firmy Microsoft z Nokią, której urządzenia są synonimem najwyższej jakości, pozwala mieć nadzieje, że Windows Phone stanie się produktem najwyższej klasy.

Nie tylko Nokia instaluje w swoich smartfonach Windows Phone, ale także HTC, Samsung, Acer, LG, czy Fujitsu Toshiba. Eksperci widzą w nowym systemie Windows duży potencjał i szacuje się, że do 2015 roku platforma stanie się drugą co do liczby sprzedanych urządzeń z tym systemem, po Androidzie. Windows posiada także i wady. Windows Phone 7 w starszych wersjach nie obsługiwał procesorów wielordzeniowych, które konkurencja wspiera od dość dawna. Oprócz tego system ma niejawny kod źródłowy w porównaniu do Androida i Symbiana. Twórcy oprogramowania na ten system mogą być także lekko zawiedzeni faktem, że programy z Windows Mobile nie są kompatybilne z nowym systemem operacyjnym. Ze względu na to, że narzucone zostały duże wymagania sprzętowe najtańsze telefony z tym systemem są droższe od konkurencji, co wpływa na ilość posiadaczy sprzętu z tym oprogramowaniem.

Trzeba przyznać, że Windows Phone jest to dynamicznie rozwijająca się platforma jednak potrzebuje jeszcze trochę czasu, aby przyciągnąć większą liczbę użytkowników i zwalczyć stereotyp niestabilnego i nieintuicyjnego systemu operacyjnego.

BlackBerry OS

BlackBerry OS

Kanadyjska firma Research In Motion (RIM) od 1999 roku produkuje smartfony pod swoim logiem BlackBerry. Korporacje tworzy smartfony wraz ze swoim autorskim systemem operacyjnym Black Berry OS, który działa jedynie pod kontrolą tych urządzeń. System ten znalazł się w tym zestawieniu, gdyż pomimo że nie jest najbardziej rozpowszechniony, to ma wielu swoich zwolenników na całym świecie. Względem popularności jest obecnie w tyle za potentatami rynku. Wyróżnia go jednak kilka funkcjonalności. Urządzenia tej firmy są skierowane głównie do klientów biznesowych którzy cenią sobie przejrzystość, solidność, bezpieczeństwo danych i szybki dostęp do usług w tym poczty mailowej. Użytkownicy BlackBerry mogą wykupić także dodatkowe usługi niedostępne w innych smartfonach tj. BIS (BlackBerry Internet Service), która umożliwia nieograniczony dostęp do niektórych usług internetowych. Aby móc w pełni korzystać z terminala BlackBerry każde urządzenie musi mieć włączoną usługę BlackBerry u usługodawcy, czyli operatora telefonii komórkowej. Dzięki temu możliwe jest wysyłanie i pobieranie danych za pomocą punktu dostępowego blackberry.net, co zapewnia bezpieczeństwo danych oraz szybkość dostarczenia danych. Jeśli telefon został skradziony i został zablokowany przez RIM to usługa taka nie może został włączona już na zawsze. Bezpieczeństwo danych zapewnia szyfrowanie danych za pomocą algorytmu Triple-DES z kluczem o długości 168 bitów lub AES. Architektura BlackBerry stworzona została głównie z myślą o bezpieczeństwie. Zaprojektowana została tak, aby uniemożliwić osobom postronnym odczytanie zaszyfrowanej informacji. Jednak coraz więcej krajów postrzega kryptografię w rękach obywateli jako jedno z największych dla siebie zagrożeń. System jest do tego stopnia zabezpieczony przed inwigilowaniem, że władze niektórych krajów zabroniły używania tego typu urządzeń na terenach ich krajów.

Wadą BlackBerry OS jest niska popularność systemu, która częściowo związana jest z koniecznością zakupu urządzenia firmy BlackBerry, aby móc z niego skorzystać. Brak dostępu do najnowszych technologii takich jakie posiada konkurencja powoduje także, że w oficjalnym sklepie aplikacji BlackBerry - App World wciąż istnieje mało aplikacji.

iOS

IPhone IOS

Firma Apple jest potentatem na rynku urządzeń mobilnych. Jako pierwsza wprowadziła zupełnie nowy interfejs użytkownika w urządzeniach mobilnych nastawiony na intuicyjność, estetyczny wygląd oraz prostotę instalacji i kupna nowych aplikacji. Aplikacje można oficjalnie pobierać tylko z wirtualnego sklepu firmy - AppStore. Daje to wg. producenta pewność, że pobierana aplikacja nie zawiera ukrytego szkodliwego oprogramowania. Do dnia pisania pracy ilość aplikacji w markecie firmy Apple była największa spośród konkurencji i wynosi ponad pół miliona. iOS to system operacyjny specjalnie dedykowany tylko pod urządzenia firmy Apple tj. smartfony (iPhone'y) oraz tablety (iPad'y). Urządzenia korporacji ze Stanów Zjednoczonych cechuje: solidne wykonania, małe gabaryty, zaawansowanie technologiczne na najwyższym poziomie oraz nietuzinkowy wygląd. Wszelkie najnowsze technologie tj.: wielodotykowość, wielozadaniowość czy obsługę procesorów wielordzeniowych, są obsługiwane przez system.

Główną wadą iOS'a jest fakt że, systemem jest zamknięty. Oznacza to, że źródła nie zostały udostępnione, a aplikacje można pobierać tylko z jednej witryny - AppStore. Kolejną wadą jest wysoka cena urządzeń tego typu. Developerzy aplikacji na iOS są zmuszeni posiadać komputer z systemem operacyjnym tej firmy - Mac OS X oraz płacić rocznie 99$ - licencja dla osób indywidualnych lub 299$ - licencja firmowa. Sprawia to, że iOS jest najdroższą platformą zarówno dla użytkowników jak i twórców oprogramowania.

Android OS

Firma Google po raz pierwszy oficjalnie zaprezentowała swój autorski system operacyjny Android w listopadzie 2007 roku. Od tego czasu ilość dostępnych aplikacji na urządzenia obsługujące Android OS sukcesywnie wzrasta. Szacuje się, że na początku 2012 roku liczba programów na platformę Android w oficjalnym sklepie firmy Google wynosiła ok. 450 tysięcy. System uważany jest za solidny, funkcjonalny i intuicyjny w obsłudze, dlatego cieszy się tak dużym uznaniem programistów i użytkowników. Programiści na pewno docenią pełną i wyczerpującą dokumentację systemu oraz wygodny zestaw narzędzi do tworzenia oprogramowania pod ten system - Android Software Development Kit (Android SDK).

System Android bazuje na jądrze systemu Linux. Pomimo, że elementy bazowego systemu są napisane w języku C i C++, to podstawowym językiem programowania na tą platformę jest język Java. Oczywiście możliwe jest pisanie mieszanych aplikacji łączących języki Java, C i C++, jak również samodzielnych aplikacji C/C++. Wykorzystuje się do tego celu NDK (Native Development Kit) - zbiór narzędzi umożliwiający pisanie aplikacji w języku C/C++ dla platformy Android. Użycie NDK może poprawić szybkość działania aplikacji, jednak wadą takiego rozwiązania jest mniejsze wsparcie firmy Google, co może być znacznym utrudnieniem przy tworzeniu programu.

Wspaniałą cechą Androida jest fakt, że aplikacje wytworzone przy użyciu Android SDK oraz te systemowe muszą przechodzić przez ten sam interfejs API, przez co użytkownik może z łatwością podmienić standardowo wbudowany program jego odpowiednikiem dostarczonym przez niezależnych programistów. Dość unikalną cechą systemu Android jest także jego prawdziwie otwarta platforma projektowa, opierająca się na systemie Linux oraz jawnym kodzie źródłowym. Daje to potężne możliwość z punktu widzenia programisty czy też producenta sprzętu, który nie musi czekać na aktualizację oprogramowania przez firmę Google, aby usprawnić funkcjonowanie systemu.

Android OS

Wykorzystanie jądra systemu Linux umożliwia mu przenośność, czyli działanie na wielu zróżnicowanych urządzeniach dostarczanych przez różnych producentów. Android został całkowicie zoptymalizowany pod kątem urządzeń pobierających mało energii oraz posiadających niewiele pamięci. Na stabilność systemu Android, niespotykaną wcześniej w smartfonach, wpływa automatyczne zarządzanie cyklem życia aplikacji przez system. Grafika i obsługa dźwięków jest na wysokim poziomie. System Android posiada wiele wbudowanych kodeków popularnych formatów audio i wideo. Integracja grafiki generowanej przez system ze środowiskiem OpenGL daje nieograniczone możliwości tworzenia gier trójwymiarowych na wysokim poziomie.

Kolejnym ciekawym aspektem jest przebieg sprzedaży aplikacji na ten system. Polityka firmy Google w tym względzie znacznie różni się od polityki firmy Apple - poważnego konkurenta na rynku urządzeń mobilnych. Aplikacje tworzone na Android OS nie muszą być udostępniane tylko w oficjalnym sklepie Google Play, ale także mogą być dostępne z wykorzystaniem innych kanałów dystrybucyjnych, co może pociągać za sobą pozytywne jak i negatywne skutki. Pobieranie aplikacji z nieznanych, nieautoryzowanych źródeł może grozić zainstalowaniem na urządzeniu niechcianego oprogramowanie, które może być powodem np. utraty ważnych danych z punktu widzenia użytkownika. Z drugiej jednak strony dostępność oprogramowania w wielu miejscach pozwala na lepszą promocję aplikacji, a także zapewnia więcej wariantów jeśli chodzi o model biznesowy.

Podsumowanie

Platforma Android naszym zdaniem jest najlepsza z tego zestawienia. Jedynie iOS potrafi zagrozić obecnej pozycji Androida. Jak wiadomo jest wielu zwolenników jednego i drugiego systemu, z których wszyscy mają niezbite argumenty na doskonałość swoich systemów. Z punktu widzenia użytkownika urządzenia z obydwoma systemami są dopracowane pod względem multimedialnym perfekcyjnie. Różnice widać np. w kosztach nabycia poszczególnych urządzeń. Jak wiadomo wszystkie urządzenia firmy Apple są dość drogie, charakteryzują się nietuzinkowym designem, modeli tych urządzeń jest niewiele i systemy w nich wbudowane są systemami zamkniętymi. Natomiast Android postawił na otwartość, ogromną gamę urządzeń i duże zróżnicowanie cenowe. Taka polityka firmy ma swoje dobre i złe strony, o których była mowa w artykule.

Android to platforma, której popularność wciąż rośnie, nawet w Stanach Zjednoczonych gdzie najbardziej popularne są urządzenie firmy Apple. Większość telefonów klasy Premium oparte o tą platformę uchodzą za najszybsze wśród wszystkich dostępnych smartfonów (np.: Samsung Galaxy S3, HTC X One), co stanowi bardzo ważny czynnik w kontekście skomplikowanego obliczeniowo przetwarzania obrazu. Wygodna z punktu widzenia programisty jest możliwość pisania aplikacji w języku Java. Jednocześnie programiści, którzy preferują pisanie aplikacji w języku niższego poziomu - C++ nie są dyskryminowani. Poza tym koszty tworzenia aplikacji są niższe niż na platformę iOS z tego względu, że licencja na wystawianie aplikacji w autoryzowanym sklepie jest niższa oraz programowanie urządzeń firmy Google nie wymaga specjalnego systemu operacyjnego.


Wada jaką posiadają telefony na platformie Android to większy niż u konkurencji pobór energii. Jednak coraz bardziej dopracowane konstrukcje urządzeń bazujące na nowoczesnych rozwiązaniach sprawiają, że wada ta staje się coraz mniej widoczna.

Czytaj szczegóły

Quiz Biblijny na Androida

Kategoria: Nasze aplikacje
wtorek, 15 styczeń 2013

Katolickie Stowarzyszenie "Civitas Christiana" przy współpracy z Andromasters prezentuje aplikację Quiz Biblijny.

Biblia jest Księgą Życia. Ten niezwykły zbiór Natchnionych Ksiąg, stanowi swego rodzaju List od Boga Ojca, skierowany do każdego z nas. Niesie ze sobą uniwersalne drogowskazy, modele pozytywnych zachowań i postaw. Ale to znacznie za mało, żeby ująć całą treść. Trzeba powiedzieć, że przede wszystkim, mówi o nieskończonej miłości Boga względem człowieka. Miłości, która wypełniła się na krzyżu i sprawiła, że śmierć nie ma nad nami mocy. Dobra Nowina o Zbawieniu, dociera na wszystkie kontynenty, jest przekładana na wiele języków świata. Po Pismo Święte sięgają ludzie pragnący poznawać Chrystusa, łaknący prawdy - o świecie i sobie samych. Żywe Słowo Boga zachwyca, zadziwia, ożywia i pokrzepia w chwilach trudnych, pobudza do refleksji, do zmiany na dobre. Czerpią z niego inspiracje również artyści. To, na ile treści biblijne przemieniają ludzkie serca, zależy od indywidualnego otwarcia na Łaskę.

Jedną z propozycji sięgnięcia po Pismo Święte jest Ogólnopolski Konkursu Wiedzy Biblijnej. Każdego roku, przystępuje do niego ok. 30 tys. uczniów szkół ponadgimnazjalnych. Organizatorzy z Katolickiego Stowarzyszenia „Civitas Christiana”, poszukują wciąż nowych form zachęty osób świeckich do zgłębiania tej Księgi. W całym kraju, organizowane są spotkania z Pismem Świętym, warsztaty biblijne i konferencje poświęcone tej tematyce. Wychodząc naprzeciw potrzebom czasu, oddajemy teraz w ręce użytkowników smartfonów, Quiz Biblijny. Mamy nadzieję, że takie połączenie dobrej zabawy i sprawdzenia wiedzy z zakresu Pisma Świętego, przyczyni się do jeszcze szerszego grona młodych osób, zainteresowanych Konkursem Biblijnym, ale przede wszystkim, rozmiłowanych w Słowie Chrystusa - które jest żywe i skuteczne. Słowo Boże, naszym skarbem!

Link do Quizu Biblijnego

Czytaj szczegóły
M

arzeniem wielu kierowców jest samochód poruszający się samodzielnie. Pomimo faktu, że polska nazwa "samochód" kojarzy się z maszyną poruszającą się bez ingerencji człowieka, w rzeczywistości aby podróżować bezpiecznie potrzebny jest doświadczony i rozsądny kierowca. W obecnym czasie angażuje się wiele środków dla zapewnienia jak największego bezpieczeństwo podróżujących samochodami. Ograniczenia, specjalne znaki drogowe, kontrole radarowe, mają poprawić bezpieczeństwo i organizację ruchu drogowego. W dużej mierze bezpieczeństwo zależy także od kierowcy, który pod wpływem różnych czynników może stanowić zagrożenie dla ruchu drogowego. Wiele producentów samochodów stara się zapewnić swoim użytkownikom jak najbardziej bezpieczne pojazdy, wypełnione najnowszymi systemami zapewniającymi poprawę bezpieczeństwa jazdy tj.: ABS, ESP, ASR i wiele innych.
Spore grono kierowców nie dostrzega tak podstawowych rzeczy jak znaki drogowe, które ostrzegają, informują i nakazują dostosowanie się do przepisów ruchu drogowego. Może to być spowodowane niekorzystnymi czynnikami rozpraszającymi kierującego tj.: zmęczenie, upojenie alkoholowe, gorsza percepcja, małe doświadczenie oraz wiele innych. Nawet jeśli prowadzący auto spełnia wszystkie kryteria idealnego kierowcy to nadal jest ryzyko, że nie zauważy np. znaku zakazu lub nakazu, co może być opłakane w skutkach. Nie zawsze można winić za to kierowcę, gdyż racjonalność umieszczania kolejnych znaków na polskich drogach jest często nieuzasadniona. Dziesiątki znaków zostają umieszczone w jednym miejscu, a percepcja kierowcy może nie wyłapać najbardziej ważnych w danej sytuacji. Dlatego system wizyjny wyłapywania znaków drogowych ma sens w takiej sytuacji. Przy niezastosowaniu się do przepisów ruchu drogowego można dostać mandat lub, w najgorszym wypadku, spowodować wypadek lub kolizję drogową. Wydaje się, że zastosowanie takiego systemu mogłoby ograniczyć tego typu sytuacje, dlatego producenci aut zdecydowali się umieszczać systemy rozpoznawania znaków drogowych nie tylko we flagowych modelach swoich marek, ale także w tańszych tj. Ford Focus. Pierwszym autem z tego typu systemem był Opel Insignia, jednak od tego czasu wielu producentów umieściło już w swoich samochodach podobne urządzenia.

Opel Eye

Celem wielu naukowców i konsorcjów motoryzacyjnych jest stworzenie pojazdu poruszającego się bez ingerencji kierowcy. Niegdyś badania tego typu nad bezzałogowymi pojazdami były intensywnie prowadzone przez struktury wojskowe. Teraz w obliczu zwiększonej ilości samochodów na drogach zaczęto wprowadzać techniki automatyzacji do użytku codziennego. W przyszłości komunikacja będzie w pełni zoptymalizowana, za sprawą nowoczesnych technologii. Globalny projekt Intelligent Transportation System (ITS) jest przykładem na to jak w przyszłości będzie wyglądać transport, nastawiony na polepszenie bezpieczeństwa, oszczędność paliwa, skrócenie czasu podróży itd. Do tego celu pojazdy muszą być wyposażone w specjalne detektory, które będą analizować całą sytuację na drodze i podejmować trafne decyzje w ułamku sekundy. Firma Google od końca 2010 roku testuje samochody, które nie potrzebują kierowcy do bezpiecznego poruszania się w ruchu drogowym. Auta wyposażone są m.in. w rejestratory video, czujniki radarowe, laserowe czujniki odległości wspomagane dokładnymi mapami terenu. Prototypy mają już za sobą nawet 200 000 kilometrów bezkolizyjnej jazdy po drogach publicznych, badania są więc w bardzo zaawansowanym stadium.

Tematem projektu jest stworzenie aplikacji umożliwiającej efektywną detekcję i identyfikację znaków drogowych w czasie rzeczywistym. Założenia dotyczące projektu aplikacji są następujące:

  • wykorzystanie prostej analizy obrazu w celu wykrywania i detekcji znaków drogowych
  • działanie na platformie mobilnej i wykorzystanie kamery wbudowanej w urządzenie typu smartfon do przechwytywania obrazu
  • możliwie największa wykrywalność znaków
  • działanie w czasie rzeczywistym

Ostatnie z założeń wymaga dodatkowego wyjaśnienia. Działanie w czasie rzeczywistym, oznacza bowiem ograniczenie czasowe związane z przetwarzaniem obrazu, aby żaden znak drogowy nie został pominięty. Rysunek przedstawia hipotetyczną sytuację drogową. Można założyć, że samochód porusza się na autostradzie z maksymalną dopuszczalną prędkością na terenie Polski, czyli 140 km/h. Kamera rejestrująca obraz znajduje się w odległości 40 metrów od znaku. Należy założyć, że odległość 40 metrów jest to maksymalny dystans, przy którym obraz z kamery wizyjnej pozwala na prawidłowe rozpoznanie znaku.

Rysunek obrazujący wykrywanie znaków

Można wówczas obliczyć czas jaki jest potrzebny kierowcy pojazdu na przejechanie dystansu 40 m z prędkością 140 km/h (czyli ok 39m/s), aby określić ograniczenie czasowe algorytmu. Ograniczenie to można wyliczyć ze wzoru na czas w ruchu jednostajnym prostoliniowym w sposób następujący :

Obliczenie czasu działania

Powyższe wyliczenia wskazują na fakt, że założeniem projektu jest stworzenie systemu detekcji i rozpoznawania znaków drogowych, który potrafi dokonywać rozpoznawania znaków w czasie krótszym niż 1.03 sekundy, aby móc powiadomić kierowcę o wystąpieniu znaku w odpowiednim czasie.

Projekt został stworzony w oparciu o bibliotekę graficzną OpenCV.

O tym jakiego typu problemy napotkaliśmy w związku z tworzeniem aplikacji można znaleźć w artykule dotyczącym trudności w wykrywaniu znaków.

System w działaniu przedstawia zdjęcie poniżej.

System w działaniu
Czytaj szczegóły

Strona korzysta z plików cookies zgodnie z polityka prywatnosci. Dowiedz się więcej o polityce prywatności.

Akceptuj pliki cookies z tej strony.