SMB – Pierwszy projekt Michail Mokkas
Instalacja Ściągamy Android Studio bundle (IDE wraz z SDK): https://developer.android.com/studio/ Powinniśmy także mieć zainstalowane JDK w nowszych wersjach już powinno być zawarte w środowisku Uwaga: niekompatybilne z gcj (Gnu Compiler for Java) samo JRE nie wystarczy
Android Studio Od 2014 roku oficjalne IDE (wspierane przez Google) oparte na IntelliJ IDEA
Instalowanie dodatkowych komponentów Android SDK Manager
Instalowanie dodatkowych komponentów kont. 1
Tworzenie projektu (AS) File > New > New Project...
Tworzenie projektu kont. 1 (AS)
Tworzenie projektu kont. 2 (AS)
Tworzenie projektu kont. 3 (AS)
Zawartość projektu Struktura projektu w widoku “Android”:
Zawartość projektu kont. 1 src: znajduje się tu kod źródłowy naszej aplikacji (pliki .java) gen: kod źródłowy, który jest automatycznie generowany przez SDK (nie wolno nam go bezpośrednio edytować) biblioteki: API assets: tu znajdują się zasoby typu (obrazy, utwory audio oraz video, etc) bin: zawiera kod binarny (pliki .class) libs: zawiera dodatkowe biblioteki
Zawartość projektu kont. 2 res: tu znajdują się specjalne zasoby dodatkowe, z których korzysta nasza aplikacja drawable-Xdpi: zawierają ikony w różnym rozmiarze layout: zawiera pliki definiujące wygląd i rozmieszczenie elementów graficznych interfejsu użytkownika (pliki .xml) values: wartości stałe (także w pliku .xml) elementy w layout oraz values dysponują ID za pomocą którego są identyfikowane oraz linkowane z poziomu kodu Javy
Zawartość projektu kont. 3 AndroidManifest.xml (zbiór metadanych i konfiguracji naszej aplikacji) nazwa paczki (do której aplikacja należy) wersja SDK * minimalna wersja SDK * zezwolenia (permissions) Activities Intents Services Broadcast Receivers *w nowszych wersjach przeniesione do build.gradle
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.michail_pc.smb"> <uses-permission android:name="android.permission.CAMERA" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondaryActivity" /> </application> </manifest>
Emulator Android (AVDM) Android Virtual Device Manager
Stworzenie nowego sprzętu wirtualnego
Urządzenie wirtualne
Możliwości emulatora
Uruchomienie naszej aplikacji Po stworzeniu AVD (sprzętu wirtualnego) możemy uruchomić na nim naszą aplikację Run as > Android application Jeżeli mamy podpięty nasz fizyczny smartfon, to dostaniemy możliwość wyboru uruchomienia aplikacji na telefonie lub emulatorze Aby telefon mógł się łączyć poprzez adb, musimy wcześniej ściągnąć za pomocą SDK Managera sterowniki Musimy także ustawić telefon w tryb debugowania USB
Uruchomiona aplikacja na emulatorze
Profiler Zastępuje DDMS (Dalvik Debug Monitor Server)
LogCat Androidowy system logowania umożliwia wypisywanie w konsoli rezultatów debugowania, wyłapanych błędów oraz innych informacji. Tutaj wypisuje się np. System.out.println()
LogCat - szukanie błędów
Przykład Aby zaprezentować jak Activity wykorzystuje layout.xml , stworzymy prostą aplikację, która po dotknięciu guzika wyświetli w monitorze logów (LogCat) komunikat
Przykład kont. 1 (MainActivity.java) import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view){ Log.i("SMB", "Klik"); } }
Przykład kont. 2 (activity_main.xml) <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/button" android:onClick="click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="209dp" android:text="Button" /> </RelativeLayout>
Przykład kont. 3 (rezultat)
Debugowanie