wtorek, sierpnia 31, 2010

Czy ustalanie pozycji w Androidzie może kosztować?

Spać mi się chce, więc krótko będzie.

Z rozmów i dyskusji na Blipie wnoszę, że istnieją poważne rozbieżności co do tego czy w Androidzie ustalenie pozycji może kosztować.

Ja twierdzę, że może kosztować gdy location providerem będzie "network", a my będziemy podpięci do Internetu przez sieć komórkową.
W momencie gdy będziemy podpięci przez WiFi dostawca "network" może, a nawet powinien być bezpłatny.

Dlatego na szybko napisałem program, który to ma testować.

Oto kod jego najważniejszej aktywności:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
List<String> list = lm.getAllProviders();
StringBuilder sb = new StringBuilder();
for (String str:list) {
LocationProvider lp = lm.getProvider(str);
if (lp!=null) {
sb.append(str).append(" ").append(lp.hasMonetaryCost()).append("\n");
}
}
TextView tv = (TextView)findViewById(R.id.toster);
tv.setText(sb);
}

Sam program potrzebuje jeszcze tego by na głównym ekranie był element TextView o id "toster", oraz by w AndroidManifest.xml były odpowiednie permissiony (to przez to, że używamy lokalizacji, stąd potrzebne są pozwolenia ACCESS_FINE_LOCATION i ACCESS_COARSE_LOCATION.
Tu są źródła jakby kogoś to interesowało.

A tutaj sam plik APK (http://www.przemelek.pl/file/GPSTest.apk), który można zainstalować na telefonie.
Tutaj QRCode:



Teraz prośba :-)
Jak masz telefon z Androidem to zainstaluj ten program i podeślij mi informację o wyniku jego działania, wraz z informacją czy w momencie uruchomienia programu Twój telefon był zalogowany do sieci WiFi czy tylko do sieci komórkowej (i ważne czy miał skonfigurowanego APNa).

Program działa w taki sposób, że wypisuje wszystkie nazwy dostępnych location providerów, a obok nich to czy mogą być płatne czy nie. U mnie na G1 z Android 1.6 gdy jestem podłączony do Internetu przez sieć komórkową mam taki wynik:
network true
gps false

Co oznacza, że ustalenie pozycji przy pomocy sieci może kosztować, a przy pomocy GPS nie będzie nigdy kosztować.

Z góry dziękuję za wszelkie dane :-) [tu, na Google Buzz, na maila, whatever]


Podobne postybeta
AppInventor - pierwsze wrażenia i pierwsze programy :-)
Android, lokalizacja i koszty
Nie tylko IE6 powinno pójść do piachu, każdy Internet Explorer powinien!!!!
Zinwigiluj się sam ;-)
Niecne wykorzystanie refleksji... czyli jak poszukać tekstu w drzewie obiektów? ;-)

Notka miraż

Od dawna marzy mi się wpis na bloga pod tytułem "Ile waży kilo słonia?".

Problem jest tylko w tym, że nie mam pomysłu o czym by miała być ;-)

No bo kilo słonia waży 1 kilogram, niezależnie od tego co będziemy ważyli. Czy całego słonia o masie 1 kg (chyba jakiś słoniowy płód tylko tyle waży, bo rodzą się dużo większe), czy tylko np. kilogram ciosa, czy nawet kilogram powietrza z płuc słonia (choć to by było trudno zważyć ;-) no i musiałoby to być chyba parę słoni........ bo jak dobrze liczę to potrzebne byłoby 773.4 litra powietrza, a takich dużych słoni to nie robią (ha! podobno potrzeba do tego trochę ponad 2 słoni, bo jak wyczytałem w Internecie u ssaków tak zwykle pojemność przybliżona to 6% * masa ciała, gdzie te 6% ma jeszcze wymiar l/kg ;-), co daje dla słonia podobno 300 litrów, czyli 2.5 słonia potrzebujemy do zebrania 1 kg słonia w postaci powietrza w słoniowych płucach... problem natury filozoficznej tu jest czy powietrze w płucach słonia to słoń czy nie słoń? [gdzieś w tym miejscu powinien być chyba jakiś nawias zamykający dygresję w dygresji.......])]

Taki lifehack w nawiązaniu do dywagacji o nawiasach, jak się pogubiliście w nawiasach to je liczcie. (()()) to 1,2,1,2,1,1,0 czyli mamy dobrą ilość i chyba przechodzi też przebiegłe rzeczy jak ())( bo nam wyjdą ujemne liczby nawiasów.

Czasem ten słoń przechodzi w śledzie, i wtedy chciałbym zapytać na blogu "Ile waży kilo śledzi?". Ale wtedy też nie mam pomysłu o czym by to miała być notka ;-)

Dla pociechy powiem, że w głowie mi siedzi (i we fragmencie na karcie SD mojego telefonu też ;-)) jeszcze jedna notatka marzenie ;-) i na razie próbuje wymyślić jej szczegóły techniczne ;-)


Podobne postybeta
Drugi klasyfikator jako "sanity check"
Kilogram i ile to jest? To jest dopiero spór :-)
Jak walczyć z gigantycznym kodem w Java'ie, część 1.5 ;-) - czyli jak je się słonie ;-)
Java i Chrome OS....
Coca-Cola Zero i pomidory = najbardziej "odchudzająca dieta" na świecie ;-)

poniedziałek, sierpnia 30, 2010

Święta wojna - kolejna odsłona

No i najwyraźniej mamy kolejną odsłonę świętej wojny.

Dawniej była między Commodore i Atari, później między PC i Amigą, później jeszcze między Asus EEE PC i MSI Windem, a teraz mamy nową między Androidem i iPhonem.

Możemy się więc dowiedzieć, że Android ssie, albo że srajfon ssie. Że w Androidzie są niedorobione aplikacje, albo że w iPhonie firma traktuje użytkowników jak idiotów i tak dalej i tak dalej.....

To ja może od innej strony zaczną.

Nie lubię szpinaku. Ale wiem, że są ludzie którzy szpinak lubią. Nie czuję z tego powodu nad nimi moralnej wyższości, ani mi ich nie żal. Oni to lubią i dobrze im z tym.

Nie będę przekonywał ich, że są idiotami bo jedzą to zielone paskudztwo, które wcale nie jest takie zdrowe jak to onegdaj twierdzono.
Nie będę bo oni to lubią, a lubiąc to wcale mi nie szkodzą.

Nie rozumiem ich sympatii do szpinaku, nie podzielam jej, ale rozumiem, że oni mogą go lubić.
Wiem też, że to, że lubią szpinak nie oznacza niczego złego.
Od ludzie jak ja, tylko, że lubią szpinak.

Jeszcze z innej strony.
Podobają mi się kobiety. Nawet bardzo mi się podobają.
Ale akceptuję, że są faceci którzy wolą innych facetów. Nie rozumiem ich, ale tu jest ta sama sytuacja co ze szpinakiem. Nie czuję nad nimi żadnej moralnej przewagi, nie jest mi ich też żal. Dobrze im z tym i to jest fajne.

To samo jest z Androidem i iPhonem.

Ja lubię Androida. Podoba mi się. Spełnia moje wymagania.
iPhone i większość produktów Apple mi się nie podoba. Nie podoba mi się ich estetyka, wolę zdecydowanie użyteczny minimalizm w wykonaniu Google.
Ale nie czuję się z tego powodu lepszy od miłośników Apple, nie jest mi ich też żal.
Akceptuję ich wybór i cieszę się ich szczęściem.

Urok demokracji, pluralizmu, wolności, whatever, polega na tym, że ja mogę mieć swoje ulubione i ukochane rzeczy, produkty, książki, filmy, utwory, co tam jeszcze, a inni mogą mieć swoje.
Tak, cudzy wybór może mi się wydawać dziwny, mogę go nie podzielać, ale to nie moja sprawa. Puki ten ktoś mi z butami w życie nie wchodzi to nie jest mój problem.

A czy Android jest lepszy od iPhone'a, albo iPhone lepszy od Androida?

Tak.

Dla zadowolonego użytkownika Androida Android jest lepszy od iPhone'a, a dla zadowolonego użytkownika iPhone'a iPhone jest lepszy od Androida.

Jedni ze słodyczy lubią orzechy, inni czekoladę, a jeszcze inni golonkę i kotlet schabowy.

Nie da się zbudować obiektywnego rankingu w przypadku systemów operacyjnych dla telefonów, tak jak nie da się zbudować rankingu dla języków programowania, dla urody kobiet czy jakości życia. To są problemy wielowymiarowe i każdy ma swój własny zestaw wag i akceptowanych poziomów.

I po co o to kopię kruszyć?

Podobne postybeta
Święta wojna...
A różne takie...
Wegetarianizm kaizen - czyli ja bywać wegetarianinem bez zbytniego wysiłku ;-)
Dwa tygodnie z Linuksem - na razie na 4-
Kolczatka ;-) czyli próbujemy zastąpić Dziobaka ;-)

niedziela, sierpnia 29, 2010

Bloggeroid - polityka małych kroczków ;-)

W ramach polityki małych kroczków wyrzuciłem starą "stronę" do wyboru postów i zastąpiłem ją taką jakąś bardziej przyjemną (dla mnie, nie wiem jak dla innych ;-)).



Dodałem także aktywność do czytania postów, bo po co od razu je ładować do edytora?



Teraz kombinuję z komentarzami.
Czasem jest tak, że przyjdzie jakiś spamerski komentarz i fajnie by go było móc skasować nie będąc przy komputerze :-) Dlatego teraz próbuję z tym walczyć.
Tutaj objawiła się wielka zaleta Bloggera :-) ponieważ komentarze są "pakowane" tak samo jak wpisy na blogu to ich pobranie łączy się tylko ze zmianą URLa na którym robi się GET.
To bardzo miłe :-)
Szczerze mówiąc to jak dodam kasowanie komentarzy to i postów, to nie będzie dużo roboty.

Minusem tego wszystkiego jest to, że Bloggeroid rośnie. Teraz "instalka" ma już około 64KB, przez co po instalacji zajmuje już 160KB (razem z danymi, sam program zajmuje 148KB).

Liczę, że w nadchodzącym tygodniu wydam wersję 1.3 z możliwością tworzenia i kasowania komentarzy i że zacznę prace nad 1.4, która miałaby zacząć nabierać ładniejszego wyglądu ;-) ale tutaj nic nie obiecuję ;-)


Podobne postybeta
Granica
ChromoPaskudztwo ;-) - czyli, pisanie aplikacji dla Chrome to pikuś :-)
Niech dadzą Darta dla Androida ;-)
Mysaifu JVM - czytamy sobie kod :-) [i klniemy na C++]
ASUS EEE PC - szpanujemy wyniki ;-)

piątek, sierpnia 27, 2010

Polski słownik dla Androida niewiele pomaga :-(

Wczoraj na Blipie pojawił się opis jak dodać do słownika G1 polskie słowa i przez to przyśpieszyć pisanie przy pomocy klawiatury ekranowej.
Dodałem, ale nijak nie ma się to wygody, prawidłowe słowo pojawia się jako podpowiedz dopiero gdy się je całe wpisze. ;-)
Jednak klawiatura fizyczna jest o wiele lepsza.

To wyżej (bez linka ;-)) zostało napisane ręcznie przy użyciu klawiatury ekranowej w G1 i tego podpowiadającego słownika. Tak sobie to działa.
Tutaj instrukcja, może moim błędem jest to, że użyłem słownika z 3000 słów tylko, no i może powinienem raczej użyć słownika stworzonego na podstawie tekstów z bloga :-)
Może spróbuję :-)
Pomysł w każdym bądź razie z tym słownikiem świetny, ale niestety ja nie widzę żadnych plusów. Wcale mi nie pomógł w trakcie pisania tego tekstu wyżej, który ma jeśli dobrze liczę 49 słów, podpowiedź przydała się góra 3-4 razy. Może z czasem będzie lepiej?
Czas pisania tych 49 słów to z 2 minuty albo i dłużej (odczucie subiektywne, nie mierzyłem)



Podobne postybeta
Oszukałem się ;-)
Nexus S - wrażenia z boju ;-)
Na co "idą" moje podatki?

Flaker

Przeglądarka zawsze przydatna

Kiedyś do konwersji z jednego standardu kodowania polskich znaczków na inny używać trzeba było specjalnych programów. Sam sobie nawet kiedyś taki napisałem, rozpoznawał chyba z 20 standardów... ale teraz to niepotrzebne :-)
Wystarczy Firefox :-)
Bierzemy plik tekstowy, przeciągamy go do przeglądarki, i teraz tylko szukamy odpowiedniego kodowania znaków dla którego wszystko da się przeczytać :-)
Działa to też dla innych języków, tak np. przygotowywałem pliki dla OOo2GD dla chińskiego :-)



Podobne postybeta
Nie wyłączysz światła jak padnie WiFi....
ShiftHappens - ciekawa prezentacja
Java 8 nie lubi UTF-8 ;-)
LibreOffice - takie sobie
Chcę sankcji UE

środa, sierpnia 25, 2010

Lenie ;-)

Ciekawą, ale i smutną tendencję zauważam wśród developerów. Niechęć do pisania samemu.
Zamiast napisać własne 20-30 linii kodu do BASE64 używają gotowych bibliotek, które niosą ze sobą masę niepotrzebnego kodu i ważą po 0.5-2 MB.

Nie dziwota więc, że wszelkie TopCoder i podobne do znudzenia wykorzystują np. zadanie z pisaniem własnej arytmetyki czy to dla liczb rzeczywistych (dzielenie jest najdłuższe) czy dla macierzy.
90% odpadnie już na tym etapie... ale to smutne trochę.

I tak, wiem że o tym już pisałem i to nieraz ;-)


Podobne postybeta
3 plusy ;-)
~ - czyli "tak sobie"
Impreza ;-)
Raspberry Pi + no-ip.org ;-)
2.68 tryliona nanomaszyn....

DRM Google wcale nie został złamany

Internet obiegła dziś wieść, że system DRM od Google wykorzystywany w Android Markecie został shackowany.........
Okazuje się jednak, że wcale nie :-)
Shackowano przykładowy sposób wykorzystania tego systemu. Google dostarczyło przykładowego kodu, i jeżeli developer wykorzystał ten przykładowy kod i go nie przerobił, a dodatkowo nie zobsfukował kodu swojej aplikacji to wtedy jego aplikacja jest podatna na taki atak.
Nie jest więc wcale tak strasznie, bo developerzy mogą spokojnie nadal z tego systemu DRM korzystać, muszą jedynie przerobić sposób jego wykorzystania i dodatkowo obsfukować kod.
A co do obsfukowanai kodu to Google to zaleca wszystkim osobom wykorzystującym ich DRMa [w każdym bądź razie teraz ;-)].
Dziwi tylko to, że potrzeba było prawie 24 godzin na to by na blogu dla developerów Android pokazała się o tym informacja.

Podobne postybeta
EEE Storage - czyżby nie dla wszystkich?
Testowanie upolskawiacza
Dwa narzekania ;-)
Skazany na urlop ;-)
Zdjęcie do Studio Ghibli style, i to do fotorealistycznego, co wyjdzie? ;-)

wtorek, sierpnia 24, 2010

Bloggeroid 1.2 - zróbmy to ciut bardziej przewidywalne ;-)

Powiedzmy sobie szczerze, że wersja 1.1 Bloggeroida nie należała do najbardziej przewidywalnych, sam się dawałem jej zaskakiwać.
W wersji 1.2 z tego powodu jedyne zmiany to, poza poprawieniem błędu z obsługą odczytywania z karty SD w przypadku gdy na karcie SD nie było jeszcze katalogu Bloggeroida, zmiany związane z przepływem między poszczególnymi aktywnościami.

Od teraz główną aktywnością jest aktywność z treścią wpisu, wszystkie inne aktywności są "usługowe" w stosunku do niej i zmieniają jej zawartość.
Nie ma otwierania nowej aktywności do edycji postów na skutek wczytania zawartości starego posta.
Dodatkowo zrezygnowałem z nierozsądnego połączenia publikowania z zapisywaniem na SD, i wczytywania postów z bloga i z karty SD.
Wydaje mi się, że teraz jest to bardziej przewidywalne.
Powinien też być jeden "cukierek" czyli zapamiętywanie ostatnio użytego bloga.

Zapraszam do Android Marketu, albo do użycia tego QRCode'u:



Dzielcie się wszelkimi uwagami, może bez inwektyw jeśli można ;-)


Podobne postybeta
Zapamiętywanie haseł jest pokręcone ;-)
Prototypowanie dla Androida
Programiści są nieważni...
Trzy wielkie tajemnice Androida (od strony programisty)
Bloggeroidujemy ;-)