[Android] Podstawy programowania



Podobne dokumenty
Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout

Android pierwsza aplikacja

Laboratorium Systemów Mobilnych. Wykład 1

Podstawowe elementy GUI - zadania

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Laboratorium Systemów Mobilnych. Wykład 2

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Powiadomienia w systemie Android

Mechanizm powiadomień

Tworzenie dialogów i wykorzystanie klasy Toast

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

Mechanizm zapisu preferencji

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Layouty. Kilka layoutów

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1

AndroidManifest.xml. Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty.

Instalujemy środowisko. Hello World! Odczyt/zapis informacji do komponentów na formie. onclick()

Systemy operacyjne na platformach mobilnych

Wsparcie dla różnych urządzeń. SDK pozwala przystosować aplikację do większości tych wypadków

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Wykorzystanie plików

Mobilne aplikacje multimedialne

Projektowanie aplikacji internetowych laboratorium

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Obsługa SMS i telefonii

Tworzenie wydajnych interfejsów. Autorzy: Piotr Michałkiewicz, 2 rok AiR Daniel Maksymow, 2 rok Informatyki

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

JDK 7u25 NetBeans Zajęcia 1 strona - 1

akademia androida Pierwsze kroki w Androidzie część I

I2: J2ME programowanie w NetBeans IDE Wydział Transportu PW semestr /11

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

ZAPOZNANIE SIĘ Z TWORZENIEM

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Dlaczego Android? Uczę się Javy więc piszę.. w Androidzie. Nie mam telefonu z Androidem!

Klasy i obiekty cz II

Fragmenty są wspierane od Androida 1.6

Instalacja i opis podstawowych funkcji programu Dev-C++

WSTĘP DO ANDROIDA. Laboratorium

Programowanie obiektowe

Laboratorium 8 ( Android -pierwsza aplikacja)

Db4o obiektowa baza danych wersja.net

Programowanie w języku Java. Bazy danych SQLite w Javie

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Języki i metody programowania Java. Wykład 2 (część 2)

WSTĘP DO ANDROIDA. Laboratorium 1 Systemy i aplikacje bez granic

Zaawansowane aplikacje WWW - laboratorium

akademia androida Http i AsyncTask część VII

Podstawowe elementy GUI - zadania

Laboratorium 9 (Więcej Aktywności, w Androidzie)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Aplikacje WWW - laboratorium

akademia androida Składowanie danych część VI

Programowanie obiektowe

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Aplikacje WWW - laboratorium

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

JAVA : TELEFONY KOMÓRKOWE I ANDROID 1. WSTĘP

Programowanie aplikacji mobilnych

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie

Aplikacje WWW - laboratorium

Języki i metody programowania Java INF302W Wykład 2 (część 1)

akademia androida Service, BroadcastReceiver, ContentProvider część IV

Wykorzystanie map i geolokalizacji

Leszek Stasiak Zastosowanie technologii LINQ w

FLEX ( ) Przygotowanie środowiska developerskiego Hello world w MXML Hello world w ActionScript

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Konfigurowanie konta pocztowego w programie Netscape (wersja 7.2)

Programowanie Urządzeń Mobilnych. Laboratorium nr 11, 12

Programowanie obiektowe zastosowanie języka Java SE

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Java Platform Micro Edition

MVC w praktyce tworzymy system artykułów. cz. 1

Ćwiczenia 9 - Swing - część 1

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Aplikacje w środowisku Java

Zastosowanie komponentów EJB typu Session

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Tworzenie i wykorzystanie usług sieciowych

AKADEMIA MŁODYCH ODKRYWCÓW

Transkrypt:

Page 1 of 7 [Android] Podstawy programowania LinkiPrzewodnik z przykładamizasosbykrótka prezentacja wprowadzająca do budowy systemuprosta aplikacja z menu i dialogami, którą utworzymy tutaj krok po kroku Nowy projekt w NetBeans Standardowa procedura przy tworzeniu nowego projektu, z tym Ŝe wybieramy kategorię projektu Android Wybieramy nazwę dla naszego projektu, np. AndroidApplicationFirst. Tu moŝemy wybrać nazwę Aktywności, domyślnie MainActivity. Jeśli mamy na liście dostępna platformę, to znaczy Ŝe moŝemy ominać kolejny punkt. Dodawanie platformy JeŜeli nie dodaliśmy wcześniej platformy klikamy w Manage Platforms (To samo menu pojawia się po wyborze z menu Tools > Java Platforms)

Page 2 of 7 Następnie Add Platform... Lista typów moŝe być róŝna w zaleŝności od zainstalowanych dodatków do NetBeans'a. Zaznaczamy Google Android Open Handheld Platform Znajdujemy katalog zainstalowanego pakietu Android SDK, Next,

Page 3 of 7 musimy wybrać platformę na którą będziemy tworzyć aplikacje. Po zakończeniu będzie widoczna platforma. Struktura katalogów nowego projektu Kreator tworzy automatycznie kilka plików. src - Source Packages MainActivity.java - główna "aktywność" naszej aplikacji - plik startowy. R.java - ten plik jest regenerowany po kaŝdym przebudowaniu, zawiera informacje o zasobach aplikacji - skorelowane z katalogiem Resources. res - Resources layout - katalog z plikami wyglądu aktywności. main.xml odwołanie R.layout.main values - katalog z treścią aplikacji,

Page 4 of 7 np. strings.xml - zawierający napisy do których moŝna odwołać się przez R.string.NAME Hello Android from NetBeans czyli pierwsze uruchomienie Po wciśnięciu F6 niestety byśmy niewiele zobaczyli, więc dodajmy jedną linijkę do metody oncreate setcontentview(r.layout.main); To sprawi Ŝe nasza aktywność pokaŝe szablon zapisany w res/layout/main.xml Jeśli nie mamy uruchomionego aktulanie emulatora to wyskoczy nam okienko by wystartować. Nowy przycisk Dodamy przycisk do naszej aplikacji, zmodyfikujemy plik layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textview1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="hello Android from NetBeans"/><Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="hello, I am a Button" /> </LinearLayout> @+id/button1 oznacza to dodanie button1 do listy zasobów typu id By obsłuŝyć obiekt znajdujący się na "formie" trzeba go najpierw znaleźć: button1 = (Button) findviewbyid(r.id.button1);

Page 5 of 7 Dalej programuje się "normalnie*" jak w javie ;] Sprawmy by po wciśnięciu guzika pojawił się Toast. Kod po przeróbkach będzie wyglądał następująco: /* * To change this template, choose Tools Templates * and open the template in the editor. */ package org.me.androidapplicationfirst; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.textview; import android.widget.toast; /** * * @author arti */ public class MainActivity extends Activity { private Button button1; private TextView textview1; private OnClickListener buttonlistner = new OnClickListener() { public void onclick(view arg0) { //throw new UnsupportedOperationException ("Not supported yet."); Toast.makeText(getApplicationContext (), "I'm Toast MSG", Toast.LENGTH_LONG).show(); } }; /** Called when the activity is first created. */ @Override public void oncreate(bundle icicle) { super.oncreate(icicle); // ToDo add your GUI initialization code here setcontentview(r.layout.main); button1 = (Button) findviewbyid(r.id.button1); textview1 = (TextView) findviewbyid(r.id.textview1); button1.setonclicklistener (buttonlistner); } } Menu aplikacji Dodamy teraz menu do naszej aplikacji. Najpierw naleŝy stworzyć katalogi do zasobów drawable - katalog z grafikami - odwołanie R.drawable.NAME umieściłem tam pliki: newspaper_32 help_32 delete_32

Page 6 of 7 menu - katalog ze strukturą menu - R.menu.NAME plik: menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/news" android:icon="@drawable/newspaper_32" android:title="@string/news"> <menu> <item android:id="@+id/news_create" android:title="@string/news_create"/> <item android:id="@+id/news_delete" android:title="@string/news_delete" /> </menu> </item> <item android:id="@+id/help" android:icon="@drawable/help_32" android:title="@string/help" /> <item android:id="@+id/exit" android:icon="@drawable/delete_32" android:title="@string/exit" /> </menu> Widać tu inny sposób odwołania do zasobów @TYP_ZASOBU/NAZWA_ZASOBU. Zmodyfikujmy zatem plik values/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">androidapplicationfirst</string> <string name="news">nowości</string> <string name="news_create">stwórz</string> <string name="news_delete">kasuj</string> <string name="help">pomoc</string> <string name="exit">koniec</string> <string name="yes">tak</string> <string name="no">nie</string> <string name="news_delete_msg">czy chcesz usunąć?</string> </resources> By wyświetlić menu naleŝy dodać metodę oncreateoptionsmenu @Override public boolean oncreateoptionsmenu(menu menu) { //return super.oncreateoptionsmenu(menu); MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.menu, menu); return true; } By reagować na akcje onoptionsitemselected @Override public boolean onoptionsitemselected(menuitem item) { switch (item.getitemid()) { case R.id.news_create: newscreate(); return true; case R.id.news_delete: newsdelete(); return true; case R.id.help: return true; case R.id.exit: finish(); return true; default: return super.onoptionsitemselected(item); } } finish() - zamyka aktywność private void newscreate() { Toast.makeText(getApplicationContext (), "News created :P", Toast.LENGTH_LONG).show(); } private void newsdelete() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setmessage (R.string.news_delete_msg).setCancelable(false).setPositiveButton (R.string.Yes, new DialogInterface.OnClickListener() { public void

Page 7 of 7 onclick(dialoginterface dialog, int id) { MainActivity.this.finish (); } }).setnegativebutton(r.string.no, new DialogInterface.OnClickListener() { public void onclick (DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } W aplikacji do pobrania reagujemy jeszcze na wybranie pomocy przez otwarcie dialogu - na podstawie: przewodnika