Projektowanie aplikacji mobilnych

android logo verticallockup primary

 

Materiały przygotowane w oparciu o książkę:

Andrzej Stasiewicz - Android Studio Podstawy tworzenia aplikacji. HELION

 

Android

 

 1

 

 

Instalowanie środowiska programistycznego

 2

Instalowanie Javy

 

3a

 

Instalacja środowiska Android Studio

link do programu

 

4

5

6

 

Pierwsze uruchomienie Android Studio

 

7a

 

 

 8

9

 

10

 

11

Stwórz swoją pierwszą aplikację na Androida

 

 

 

Co zbudujesz

  • Aplikacja, która pozwala dostosować wprowadzenie!

Oto jak wygląda aplikacja po zakończeniu tego codelaba (z wyjątkiem tego, że zostanie ona dostosowana do Twojej nazwy!):

13957184d295b16f.png

Czego będziesz potrzebować

  • Zainstalowany komputer z Android Studio.

 

 

2. 2. Tworzenie projektu przy użyciu szablonu

W tym codelabu tworzysz aplikację na Androida z szablonem projektu Empty Activity dostarczonym przez Android Studio.

Aby stworzyć projekt w Android Studio:

  1. Kliknij dwukrotnie ikonę Android Studio, aby uruchomić Android Studio.

4853d32c091ae24.png - opinie, że

  1. W oknie dialogowym Welcome to Android Studio kliknij pozycję Nowy projekt.

3ae9fa94ff4446605d.png

Otworzy się okno Nowy Projekt z listą szablonów dostarczonych przez Android Studio.

e8d10ef688c22.png

W Android Studio szablon projektu to projekt na Androida, który zapewnia plan dla określonego typu aplikacji. Szablony tworzą strukturę projektu i pliki potrzebne dla Android Studio do zbudowania projektu. Szablon, który wybierzesz, zapewnia kod startowy, aby przyspieszyć.

  1. Upewnij się, że wybrana jest karta Telefon i Tablet.
  2. Kliknij szablon pustej aktywności, aby wybrać go jako szablon dla projektu. Wzorzec pustej aktywności to szablon do stworzenia prostego projektu, którego można użyć do zbudowania aplikacji Compose. Posiada pojedynczy ekran i wyświetla tekst "HelloAndroid!"..
  3. Kliknij Dalej. Otwiera się okno dialogowe nowego projektu. Ma to kilka pól do skonfigurowania projektu.
  4. Skonfiguruj swój projekt w następujący sposób:

Pole Nazwa służy do wpisania nazwy projektu, dla tego typu codelab "Greeting Card".

Pozostaw pole Nazwa pakietu, tak jak jest. W ten sposób Twoje pliki będą zorganizowane w strukturze pliku. W takim przypadku nazwa pakietu będzie com.example.greetingcard..

Pozostaw pole lokalizacji Save, jak jest. Zawiera lokalizację, w której zapisywane są wszystkie pliki związane z projektem. Zanotuj, gdzie jest to na komputerze, aby znaleźć swoje pliki.

Wybierz API 24: Android 7.0 (Nougat) z menu w polu Minimalny SDK. Minimalny SDK wskazuje minimalną wersję Androida, na której może działać aplikacja.

7a0f8e0cb77e120c.png - opinie, że

  1. Kliknij przycisk Zakończ. To może trochę potrwać - to świetny czas, aby dostać filiżankę herbaty! Podczas gdy Android Studio się konfiguruje, pasek postępu i komunikat wskazuje, czy Android Studio nadal konfiguruje Twój projekt. Może tak wyglądać:

Obraz ten pokazuje przędzenia paska postępu, a tekst odczytuje,

Komunikat, który wygląda podobnie do tego, informuje o utworzie projektu.

To zdjęcie pokazuje komunikat z synchronizacji Gradle, który czyta,

  1. Możesz zobaczyć nowy po okienk What's, który zawiera aktualizacje nowych funkcji w Android Studio. Na razie zamknij.

c4b2b7748563ebb7.png - opinie, że

  1. Kliknij Split w prawym górnym prawym górnym po prawej stronie Android Studio, co pozwala na wyświetlanie zarówno kodu, jak i projektu. Możesz także kliknąć Kod, aby wyświetlić tylko kod lub kliknij przycisk Projektowanie, aby wyświetlić tylko projekt.

b17a701425679ff1.png

Po naciśnięciu Splitu należy zobaczyć trzy obszary:

d90019bf5a60c11b.png

  • Widok projektu (1) pokazuje pliki i foldery Twojego projektu
  • Widok kodu (2) jest miejscem edycji kodu
  • Widok projektu (3) jest miejscem podglądu, jak wygląda Twoja aplikacja

W widoku projektu można zobaczyć popustową z tym tekstem:

Tekst na ten temat czyta

  1. Kliknij Kliknij Build & Refresh. Budowa może uzyć trochę czasu, ale po zakończeniu podglądu pokazuje pole tekstowe, które mówi "Pozdrawiam Androida! ". Działanie pustej komponowania zawiera cały kod niezbędny do utworzenia tej aplikacji.

a) 86077be9d06a909.png

3. Znajdź pliki projektu

W tej sekcji będziesz nadal badać Android Studio, zapoznając się ze strukturą pliku.

  1. W Android Studio spójrz na zakładkę Project. Zakładka Projekt pokazuje pliki i foldery Twojego projektu. Kiedy konfigurowano swój projekt, nazwa pakietu to com.example.greetingcard. Możesz zobaczyć ten pakiet tutaj, w zakładce Projekt. Pakiet to w zasadzie folder, w którym znajduje się kod. Android Studio organizuje projekt w strukturze katalogowej składającej się z zestawu pakietów.
  2. W razie potrzeby wybierz pozycję Android z rozwijanego menu w zakładce Projekt.

52051aa2a3038b89.png

Jest to standardowy widok i organizacja plików, których używasz. Jest to przydatne podczas pisania kodu do projektu, ponieważ możesz łatwo uzyskać dostęp do plików, nad którymi będziesz pracować w aplikacji. Jeśli jednak spojrzysz na pliki w przeglądarce plików, takich jak Finder lub Eksplorator Windows, hierarchia plików jest zorganizowana bardzo różnie.

  1. Wybierz pliki źródłowe projektu z rozwijanego menu. Możesz teraz przeglądać pliki w taki sam sposób, jak w dowolnej przeglądarce plików.

84dc993206449d28.png , opinie, recenzje użytkowników, ekspertów, porównanie (po ang

  1. Wybierz Androida ponownie, aby przejść z powrotem do poprzedniego widoku. Do tego kursu korzystasz z widoku Androida. Jeśli Twoja struktura pliku kiedykolwiek wygląda dziwnie, sprawdź, czy nadal jesteś w Androidzie.

 

4. Zaktualizuj tekst

Teraz, gdy poznałeś Android Studio, nadszedł czas, aby zacząć robić swoją kartkę z życzeniami!

Spójrz na widok kodu MainActivity.kt- , - I Zauważ, że w tym kodzie są automatycznie generowane funkcje, w szczególności onCreate()I o. setContent()Funkcje.

 
 
classMainActivity:ComponentActivity(){
    overridefunonCreate(savedInstanceState:Bundle?){
        super.onCreate(savedInstanceState)
        setContent{
            GreetingCardTheme{
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier=Modifier.fillMaxSize(),
                    color=MaterialTheme.colorScheme.background
                ){
                    Greeting("Android")
                }
            }
        }
    }
}

W tym w poty, pot w tym, po tym, w, w, w, w pot- wt pot. w pot. w pot. w pot onCreate()Funkcja jest punktem wyjścia do tej aplikacji na Androida i wywołuje inne funkcje w celu zbudowania interfejsu użytkownika. W programach Kotlin, w programach main()Funkcja to punkt wejścia/punkt realizacji. W aplikacjach na Androida, onCreate()Funkcja wypełnia tę rolę.

W tym w poty, pot w tym, po tym, w, w, w, w pot- wt pot. w pot. w pot. w pot. w tym, po tym, a w pot w, w setContent()Funkcje w obrębie onCreate()Funkcja jest używana do definiowania układu poprzez funkcje komponujące. Wszystkie funkcje oznaczone @ComposableNiedozowanie można wywołać z setContent()Funkcja lub z innych funkcji Kompozytowych. Opatrzenie mówi kompilatorowi Kotlin, że ta funkcja jest używana przez Jetpack Compose do generowania interfejsu użytkownika.

Następnie spójrz na Greeting()Funkcja. W tym w poty, powtachnie powt (tj. w potytach po wt. w pot. w potytachach w pot Greeting()Funkcja jest funkcją kompatybilną, zw. @ComposablePodopatrzenie nad nim. Ta funkcja Kompozytowa pobiera pewne dane wejściowe i generuje to, co jest wyświetlane na ekranie.

 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Text(
        text="Hello$name!",
        modifier=modifier
    )
}

Dowiedziałeś się już wcześniej o funkcjach (jeśli potrzebujesz odświeżenia, odwiedź CreateandusefunctionsinKotlin codelab), ale istnieje kilka różnic w stosunku do funkcji komponowania.

178c1b8d480aefe2.png

    1. Dodajesz @ComposableNazwanie przed funkcją.
    1. @ComposableNazwy funkcji są kapitalizowane.
    1. @ComposableFunkcje nie mogą nic zwrócić.
 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Text(
        text="Hello$name!",
        modifier=modifier
    )
}

W tej chwili Greeting()Funkcja przyjmuje nazwę i wyświetlacze Hello- To dla tej osoby.

  1. Zaktualizuj Greeting()Funkcjonuj, aby przedstawić siebie zamiast powiedzieć "Cześć":
 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Text(
        text="Hi,mynameis$name!",
        modifier=modifier
    )
}
  1. Android powinien automatycznie aktualizować podgląd.

34c74a1b980c1.png

Wspaniale! Zmieniłeś tekst, ale wprowadza Cię jako Android, który prawdopodobnie nie jest twoim imieniem. Następnie spersonalizujesz go, aby przedstawić Ci swoje imię!

W tym w poty, pot w tym, po tym, w, w, w, w pot- wt pot. w pot. w pot. w pot. w tym, po tym, a w pot w GreetingPreview()Funkcja to fajna funkcja, która pozwala zobaczyć, jak wygląda Twoja komposowat bez konieczności budowania całej aplikacji. Aby umożliwić podgląd komponowania, adnotacja z @ComposableI @Preview.. W tym w poty, pot w tym, po tym, w, w, w, w pot- wt pot. w pot. w pot. w pot. w tym, po tym, a w pot w @PreviewPodopatrzenie informuje Android Studio, że ten kompozytorz powinien być wyświetlany w widoku projektu tego pliku.

Jak widzisz, @PreviewPodatek adnotacyjny przyjmuje parametr o nazwie showBackground.. Jeśli showBackgroundJest ustawiony na true, doda tło do Twojego zgodnego podglądu.

Ponieważ Android domyślnie używa lekkiego motywu dla edytora, może być trudno dostrzec różnicę między showBackground=trueI showBackground=false.. Jest to jednak przykład, jak wygląda różnica. Zauważ białe tło na obrazie ustawiony true..

showBackground - prawdziwe

showBackground - false

  1. Zaktualizuj GreetingPreview()Funkcjonuj z twoim imieniem. Następnie odbuduj i sprawdź swoją spersonalizowaną kartkę z życzeniami!
 
 
@Preview(showBackground=true)
@Composable
funGreetingPreview(){
    GreetingCardTheme{
        Greeting("Meghan")
    }
}

9703ef244f8ee16c.png - opinie,173

5. Zmień kolor tła

Teraz masz tekst wstępny, ale jest trochę nudny! W tej sekcji nauczysz się zmieniać kolor tła.

Aby ustawić inny kolor tła do wprowadzenia, musisz otoczyć tekst Surface.. A A SurfaceJest to pojemnik, który reprezentuje odcinek interfejsu użytkownika, w którym można zmienić wygląd, na przykład kolor tła lub granica.

  1. Aby otoczyć tekst a Surface, podkreśl linię tekstu, naciśnij ( Alt+EnterDla systemu Windows lub Option+EnterNa Mac), a następnie wybierz Surround z widgetem.

220f9c42667a95.png - opinie, że

  1. Wybierz Surround z kontenerem.

5258fe61ffc94fb.png - nachyj się na mapie

Domyślnym kontenerem, który ci da, jest Box, ale możesz to zmienić na inny typ kontenera. Dowiesz się o BoxUkład później w trakcie kursu.

85e695291c03dcfc.png

  1. Usuń BoxI rodzaj Surface()Zamiast tego.
 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Surface(){
        Text(
            text="Hi,mynameis$name!",
            modifier=modifier
        )
    }
}
  1. Za SurfaceKontener dodaj colorParametr, ustaw go na Color..
 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Surface(color=Color){
        Text(
            text="Hi,mynameis$name!",
            modifier=modifier
        )
    }
}
  1. Kiedy piszesz ColorMożesz zauważyć, że jest czerwony, co oznacza, że Android Studio nie jest w stanie tego rozwiązać. Aby rozwiązać ten przewijanie do góry pliku, w którym jest napisane, importuj i naciśnij trzy przyciski.

80b6219d24f04365.png - opinie, byt

  1. Dodaj to oświadczenie do dolnej części listy przywozu.
 
 
importandroidx.compose.ui.graphics.Color

Pełna lista importu będzie wyglądać podobnie do tej.

 
 
importandroid.os.Bundle
importandroidx.activity.ComponentActivity
importandroidx.activity.compose.setContent
importandroidx.compose.foundation.layout.Box
importandroidx.compose.foundation.layout.fillMaxSize
importandroidx.compose.material3.MaterialTheme
importandroidx.compose.material3.Surface
importandroidx.compose.material3.Text
importandroidx.compose.runtime.Composable
importandroidx.compose.ui.Modifier
importandroidx.compose.ui.tooling.preview.Preview
importcom.example.greetingcard.ui.theme.GreetingCardTheme
importandroidx.compose.ui.graphics.Color
  1. W Twoim kodzie najlepszą praktyką jest utrzymanie w wykazie wpisanym na listę alfabetycznie i usunięcie nieużywanego importu. Aby to zrobić, naciśnij przycisk Pomoc na górnym pasku narzędzi, wpisz w optymalizacji importu i kliknij Optimize Imports.

92241239038c774a.png .

Możesz otworzyć Optimize Imports bezpośrednio z menu: Kod > Optymalizuj import. Korzystanie z opcji wyszukiwania Help pomoże Ci znaleźć element menu, jeśli nie pamiętasz, gdzie jest.

Pełna lista importu będzie wyglądać teraz tak:

 
 
importandroid.os.Bundle
importandroidx.activity.ComponentActivity
importandroidx.activity.compose.setContent
importandroidx.compose.foundation.layout.fillMaxSize
importandroidx.compose.material3.MaterialTheme
importandroidx.compose.material3.Surface
importandroidx.compose.material3.Text
importandroidx.compose.runtime.Composable
importandroidx.compose.ui.Modifier
importandroidx.compose.ui.graphics.Color
importandroidx.compose.ui.tooling.preview.Preview
importcom.example.greetingcard.ui.theme.GreetingCardTheme
  1. Zauważ, że Kolor, który wpisałeś w nawiasach Surface, zmienił się z czerwonego na podkreślenie na czerwono. Aby to naprawić, dodaj okres po nim. Zobaczysz wyskakujące okienko pokazujące różne opcje kolorów.

Jest to jedna z fajnych funkcji w Android Studio, jest inteligentna i pomoże Ci, kiedy tylko może. W tym przypadku wie, że chcesz określić kolor, więc zasugeruje różne kolory.

3a709cb72da0f83d.png - opinie, że ks.j.

  1. Wybierz kolor dla swojej powierzchni. Ten codelab używa Cyan, ale możesz wybrać swój ulubiony!
 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
   Surface(color=Color.Cyan){
       Text(
           text="Hi,mynameis$name!",
           modifier=modifier
       )
   }
}
  1. Zwróć uwagę na zaktualizowany podgląd.

217a09ca55b503f8.png

6. Dodaj dodatki

Teraz Twój tekst ma kolor tła, następnie dodasz trochę przestrzeni (padding) wokół tekstu.

A A ModifierJest używany do powiększania lub dekorowania komponowania. Jednym z modyfikatorów, którego możesz użyć, jest paddingModyfikator, który dodaje przestrzeń wokół elementu (w tym przypadku dodawanie przestrzeni wokół tekstu). Osiąga się to poprzez użycie Modifier.padding()Funkcja.

Każda komposowalna powinna mieć opcjonalny parametr typu Modifier.. To powinien być pierwszy opcjonalny parametr.

  1. Dodaj wyściółkę do modifierW przypadku rozmiaru 24.dp..
 
 
@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Surface(color=Color.Cyan){
        Text(
            text="Hi,mynameis$name!",
            modifier=modifier.padding(24.dp)
        )
    }
}
  1. Dodaj ten przywóz do sekcji oświadczenia o przywozie.

Upewnij się, że używasz Optimize Imports, aby alfabetyzować nowy import.

 
 
importandroidx.compose.ui.unit.dp
importandroidx.compose.foundation.layout.padding

2c09be85535277e9.png

Gratulacje - zbudowałeś swoją pierwszą aplikację na Androida w Compose! To dość ogromne osiągnięcie. Poświęć trochę czasu, aby pobawić się różnymi kolorami i tekstem, zrobić to własne!

 

7. Przejrzyj kod rozwiązania

Code snip do recenzji

 
 
packagecom.example.greetingcard

importandroid.os.Bundle
importandroidx.activity.ComponentActivity
importandroidx.activity.compose.setContent
importandroidx.compose.foundation.layout.fillMaxSize
importandroidx.compose.foundation.layout.padding
importandroidx.compose.material3.MaterialTheme
importandroidx.compose.material3.Surface
importandroidx.compose.material3.Text
importandroidx.compose.runtime.Composable
importandroidx.compose.ui.Modifier
importandroidx.compose.ui.graphics.Color
importandroidx.compose.ui.tooling.preview.Preview
importandroidx.compose.ui.unit.dp
importcom.example.greetingcard.ui.theme.GreetingCardTheme

classMainActivity:ComponentActivity(){
    overridefunonCreate(savedInstanceState:Bundle?){
        super.onCreate(savedInstanceState)
        setContent{
            GreetingCardTheme{
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier=Modifier.fillMaxSize(),
                    color=MaterialTheme.colorScheme.background
                ){
                    Greeting("Android")
                }
            }
        }
    }
}

@Composable
funGreeting(name:String,modifier:Modifier=Modifier){
    Surface(color=Color.Cyan){
        Text(
            text="Hi,mynameis$name!",
            modifier=modifier.padding(24.dp)
        )
    }
}

@Preview(showBackground=true)
@Composable
funGreetingPreview(){
    GreetingCardTheme{
        Greeting("Meghan")
    }
}

 

8. Wniosek

Dowiedziałeś się o Android Studio i zbudowałeś swoją pierwszą aplikację na Androida z Compose, świetną pracą!

Ten codelab jest częścią kursu Android Basics with Compose. Aby dowiedzieć się, jak uruchomić aplikację na emulatorze lub urządzeniu fizycznym, sprawdź kolejne płyty kodowe w tej ścieżce.

Podsumowanie

  • Aby utworzyć nowy projekt: Otwórz Android Studio, kliknij przycisk Nowy projekt > Puste działanie > Następne, wprowadź nazwę swojego projektu, a następnie skonfiguruj jego ustawienia.
  • Aby zobaczyć, jak wygląda Twoja aplikacja, użyj panelu Podgląd.
  • Funkcje Kompozytowe są jak regularne funkcje z kilkoma różnicami: nazwy funkcji są kapitalizowane, dodajesz @Composableadnotacja przed pełnieniem funkcji, @ComposableFunkcje nie mogą nic zwrócić.
  • A A ModifierJest używany do powiększania lub dekorowania swojego komposable.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

khjkjkjkj