Android – wprowadzenie i instalacje

Android – wprowadzenie i instalacje

Hej! Korzystając z uprzejmości Sławka otrzymałem możliwość prowadzenia działu o Androidzie. Postaram się w przejrzysty i prosty sposób przekazać Wam wiedzę jaką na ten temat posiadam. Na początku chciałbym zaznaczyć, że nie jestem (jeszcze :)) absolutnym guru Androida, ale cały czas staram się rozwijać, a artykuły które będę tutaj umieszczał z pewnością mnie do tego bardziej zmotywują. Spis treści 1. Android w dwóch słowach 2. Instalacja IDE 3. Pierwszy program 4. Podsumowanie 1. Android w dwóch słowach   Android to system operacyjny oparty na jądrze Linuksa i wirtualną maszynę Javy. W dzisiejszych czasach praktycznie wszechobecny. Początkowo rozwijany przez firmę Android, następnie przez Google Inc., a aktualnie przez Open Handset Alliance. Jego fenomenem jest łatwość z jaką przychodzi nauka tworzenia aplikacji, niesamowita dostępność aplikacji oraz możliwość zarabiania na nich. Pełną dokumentację oraz „rynek zbytu” mamy dostarczone przez Google, więc pozostaje tylko trochę dobrych chęci, a przede wszystkim motywacja do działania.   2. Instalacja IDE ZMIANA! Dzięki Google nie musimy już sami instalować osobno wszystkich części środowiska developerskiego. Wystarczy pobrać paczkę eclipse ze strony: http://developer.android.com/sdk/index.html. Wystarczy, że zainstalujecie środowisko Java, a resztę punktu 2. możecie pominąć :) — Przed stworzeniem naszej pierwszej appki wymagane będzie przygotowanie środowiska programistycznego. Na szczęście nie jest to za bardzo skomplikowanie. Większość z Was powinna mieć już zainstalowane JDK oraz IDE. Mimo to przeprowadzę Przykra wiadomość dla zagorzałych fanów Netbeansa – tutaj będziemy zajmować się wyłącznie Eclipse. Potrzebne pliki:

  • Najnowsza Java (JDK) – oczywiście jeśli nie macie jeszcze zainstalowanego środowiska. Dostępna tutaj. Informacje na temat instalacji znajdziecietutaj
  • Eclipse – dostępne na oficjalnej stronie eclipse. Dowolna wersja. Osobiście polecam Classic. Artykuł jest napisany pod najnowszą wersję JUNO.
  • Android SDK – dostępny tutaj.
Instalujemy kolejno Jave i SDK. Eclipsa wystarczy wypakować w wygodnym dla nas miejscu.
Włączamy SDK Managera.

Aplikacje będę tworzył pod Androida 2.3.3, dlatego właśnie taką wersję pobieram. Jeśli macie urządzenia działające na innych wydaniach Androida, to polecam zainstalować Wasze wersje. Programy które będziemy pisać powinny działać na każdym urządzeniu. Pozostało nam teraz tylko skonfigurować Eclipsa. Należy dodać jeden plugin, który pozwoli nam wygodnie tworzyć pod Androida. Wchodzimy w Help -> Install New Software. Jako źródło podajemy https://dl-ssl.google.com/android/eclipse/. Jeśli nie działa, można spróbować http://dl-ssl.google.com/android/eclipse/. Wybieramy Developer Tools. Teraz już tylko next, next… finish. Kolejnym krokiem jest podanie lokalizacji SDK. Wchodzimy w Window -> Preferences -> Android i podajemy lokalizację SDK. U mnie jest to C:\android-sdk. Gotowe! Wszystko powinno być teraz ustawione jak należy.

3. Pierwszy program Jeśli udało Ci się dotrwać do tego momentu, to najwyższa pora na pierwszy program.

Wybieramy: File -> New -> Other… (Ctrl+N)   I teraz zależnie od wersji Eclipse wybieramy: Wybieramy Android (Application) Project. Wpisujemy nazwę. Wybieramy wersję Androida. Na tej liście powinny być wszystkie SDK zainstalowane w lokalizacji którą podaliśmy wcześniej w ustawieniach.

Dla kroku ze skórką pozastawiamy wartości domyślne. Pozostało wypełnić ostatni formularz:
Po wypełnieniu naciskamy Finish. Zostaje wygenerowana struktura projektu. Bardzo ważne jest jej zrozumienie.

  1. Klasy źródłowe – tutaj piszemy nasz kod. 2. R.java – Klasa generowana przez środowisko, która łączy część programistyczną z zasobami. 3. Binarki – są generowane przez środowisko,mało interesujące, tutaj raczej nie zaglądamy. 4. Zasoby (z ang. resources). Tutaj znajduje się wszystko co można oddzielić od kodu (obrazki, animacje, layouty, dźwięki, a nawet tekst) 5. AndroidManifest.xml – Zawiera informacje która Aktywność (klasa) powinna zostać uruchomiona jako pierwsza, jakich zezwoleń wymaga aplikacja, jaką ma nazwę itd.   Przeanalizujmy zawartość HelloWorldActivity.java.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package pl.javastart;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class HelloWorldActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

Na pierwszy rzut oka, to co widzimy, może się wydawać się bardzo dziwne. Nie ma tutaj żadnej klasy main() więc, jak to ma niby działać. Śpieszę z odpowiedzią. Na potrzeby tego tutorialu pomijam opis metody „public boolean onCreateOptionsMenu(Menu menu)”. Na razie nie będziemy z tego korzystać. Można nawet pokusić się o jej usunięcie. Menu omówione jest w tym artykule. Klasa którą widzimy rozszerza Activity. Aktywności w Androidzie odpowiadają każdemu ekranowi. Nie wiem, czy zwróciliście uwagę, ale większość aplikacji działa w ten sposób, że kliknięcie otwiera kolejny widok. Jest to właśnie wspomniana aktywność. Naciśnięcie przycisku wstecz powoduje natomiast zamknięcie aktualnej aktywności i powrót do poprzedniej. To tak w skrócie. Więcej na temat aktywności niebawem. Wracając do rzeczy. Mamy metodę onCreate(). Jest ona wywoływana, jak sama nazwa wskazuje, przy tworzeniu aktywności. Parametr metody (Bundle savedInstanceState) jest dla nas aktualnie nieistotny, natomiast ważne jest to co się dzieje później.

1
setContentView(R.layout.main);

Tutaj warto na chwilę się zatrzymać. Przyjrzyjmy się najpierw parametrowi. R.layout.main. Jak już wcześniej wspomniałem klasa R jest generowana przez środowisko. Nie jest zalecana jej manualna zmiana. Służy do wskazania w kodzie o który element z zasobów nam chodzi. Tutaj wskazanie jest na wygenerowany layout. Znajduje się on w folderze res->layout. Łatwo się domyślić, że zawiera on dane na temat wyglądu. Po otworzeniu widzimy coś takiego: Tak więc nasza pierwsza aplikacja ustawia tylko layout. Spróbuj zmienić tekst kontrolki, powinien być on widoczny w uruchomionej aplikacji. Spróbujmy w końcu uruchomić naszą aplikację. Klikamy na Run, a następnie wybieramy Android Application. Eclipse zasugeruje nam stworzenie wirtualnej maszyny, co robimy. Jest to dosyć intuicyjne. Po załadowaniu maszyny wirtualnej na ekranie powinna pojawić się nasza aplikacja:   Programy polecam testować na telefonach/tabletach podpiętych do komputera. Wystarczy zainstalować sterowniki i odblokować opcję developerską. Robimy to wchodząc w Ustawienia -> Aplikacje -> Opracowywanie -> Debugowanie USB. Ta opcja powinna być zaznaczona. Jeśli natomiast nie macie dostępnych urządzeń– nic straconego. Android SDK dostarcza stosunkowo dobre emulatory. Ich wydajność pozostawia, co prawda, wiele do życzenia, ale za to w większości wypadków to co widzimy na emulatorze pojawi się w identycznej formie na urządzeniu. 4. Podsumowanie W tym momencie powinniśmy mieć zainstalowane i działające IDE pod Androida. Stworzyliśmy już także pierwszą aplikację. Wszystko gotowe, żeby przejść do właściwego programowania. Aby nauczyć się programowania na Androida na początku nie jest wymagane urządzenie z Androidem – wszystkie rezultaty można podglądać w emulatorze. P.S Jest to mój pierwszy artykuł i liczę na Wasze konstruktywne opinie. Jeśli macie jakieś pytania, coś jest niejasne, albo zauważyliście jakieś błędy – piszcie śmiało. Z pewnością przeczytam każdy komentarz.

Żródło

GIT – podstawy

GIT – jeden z rozwiązań dający możliwość pracy grupowej z kontrolą wersji. Poniżej piszę podstawowe komendy.

Oczywiście są też wersje okienkowe, jak i wiele edytorów kodów źródłowych które wspierają git’a, może kiedyś też opiszę.
Czytaj dalej

Ovirt – zmiana IP

Zamiana IP w bazie na tabelach: vds_interface i network_attachments

Zamiana w plikach:

  • /etc/sysconfig/network-scripts/ifcfg-ovirtmgmt
  • /var/lib/vdsm/persistence/netconf/nets/ovirtmgmt
  • /var/run/vdsm/netconf/nets/ovirtmgmt

Centos 7 – problem z aktualizacją

Nadszedł czas aktualizacji centos 7 zatem wykonałem:

yum clean all

yum update

i wtedy dostałem komunikat:

 

OSError: [Errno 5] Błąd wejścia/wyjścia: ‚/var/lib/yum/yumdb/r/0f999c27c87ed0397c11d957ace5a6123c437b71-rubygem-fluent-plugin-rewrite-tag-filter-1.5.5-5.el7-noarch/from_repo’

 

Wystarczyło wykasować katalog: /var/lib/yum/yumdb

Udostępnianie katalogów przez RDC

Podłączamy się zdalnie.
Żeby się nie męczyć z ręcznym wpisywaniem, kopiujemy ścieżkę do pulpitu komputera lokalnego.
(U mnie wyglada ona tak, gdzie Admin to moja nazwa użytkownika.)

\\tsclient\C\Documents and Settings\Admin\Pulpit

przechodzimy do linii wiersza poleceń (cały czas w połączeniu terminalowym)

cmd

i wykonujemy komendę: (pamiętajmy o cudzysłowach)

net use B: „\\tsclient\C\Documents and Settings\Admin\Pulpit” /persistent:yes

Wyciągamy skrót do dysku B na pulpit i zmieniamy jego nazwę na np.: pulpit dysku lokalnego.
Oczywiście możemy sobie podmapować dowolną inną literkę, o ile jest wolna, czy inny katalog z dysku lokalnego np. Moje Dokumenty.