avoin/avoin23
Huom! TÄMÄ ON AVOIMEN YLIOPISTON SIVU.
Et voi suorittaa kurssia, ellet ole ilmoittautunut täällä.
Ohjelmointi 1, avoin 2023, luento 24
Katsotaan yhdessä videolta ja Vesa vastailee kysymyksiin
- Autolaskuri
- Katso luento 24 ohjeet
- MainPage.xaml.cs - varsinainen ohjelma
- MainPage.xaml - ohjelman ulkoasu
- AutolaskuriProp
- MainPage.xaml.cs - versio, jossa KA ja HA propertyinä
- MainPage.xaml - ulkoasun kuvaus
- AutolaskuriBind
- MainPage.xaml.cs - versio, jossa laskurit liitettävinä (bind) komponetteina
- MainPage.xaml - ulkoasun kuvaus
- BindLaskuri.cs - laskuri joka voidaan liittää (bind)
- AutolaskuriAndroid
- Xamarin forms
- MainActivity.cs - varsinainen ohjelma
- activity_main.xml - ulkoasu (vielä todella vaatimaton)
- Tuomarikone
- Testisivu - Silverlightilla tehty testisivu (toimii vain Windows ja sielläkin IE).
- MainPage.xaml.cs - SL-version ohjelma
- MainPage.xaml - SL-version ulkoasu
- MainPage.xaml.cs - WP7-ohjelma
- MainPage.xaml - WP7-ulkoasu
- CycloLite
- taulukonharjoittelu
- Luennolle tehdyt koodit versionhallinnassa -
- Luennon koodit versionhallinnassa
- 24. luento videona: Osa 1 MP4 alkuperäinen
Katso myös Työaikaseuranta
Tiedotuksia
- ilmoittautukaa tenttiin!
- muistakaa tehdä ja kokeilla Zoom-osoite
Videokatsojille:
- Avatkaa yllä olevasta listasta aluksi
Autolaskuri
-kohdassa olevat 2 tiedostoa ja sitten pistäkää video (2022) käyntiin. Ja kun aihe vaihtuu, avatkaa siitäAutolaskuriProp
-kohdasta vastaavat. - Jos haluatte itse kokeilla eikä teillä ole Visual Studiossa (Windows) vastaavia projektimalleja, niin tehkää VisualStudioon uusi asennus ja ruksikaa noita GUI-työkaluja sieltä.
1. Perusautolaskurin tekeminen
- näytä IE:llä Tuomarikone
- näytä CycloLite
Käynnistä Visual Studio.
Luo projekti
Autolaskuri
mallistaVisual C#/Windows/Blank Universal App
.Avaa tiedosto
MainPage.xaml
.Raahaa alueelle
TextBox
ja asettele ominaisuudet- teksti
0
- oikealle tasaus
- fontti
- väri
- name:
LaskuriHA
.
- teksti
Raahaa alueelle
Button
ja asettele ominaisuudet ja anna nimeksiButtonHA
.Katso
.xaml
-koodia.Tuplaklikkaa painiketta ja lisää koodiksi:
LaskuriHA.Text = "Kana";
Kokeile koodia:
LaskuriHA.Text = LaskuriHA.Text + 1;
Lisää attrribuutti
private int ha = 0;
Vaihda painikkeen koodiksi
ha++; LaskuriHA.Text = "" + ha;
Kokeile koodia.
Valitse laskuri ja painike ja kopioi ne.
Vaihda kopioiden nimeksi
LaskuriKA
jaButtonKA
ja tietysti painikkeen teksti.Kokeile miten toimii.
Poista tapahtumankäsittelijä salaman kuvan kautta.
Tuplaklikkaa KA painiketta ja vaihda lisää tarvittava koodi.
Lisää
ButtonNollaa
.Laita koodiksi:
LaskuriHA.Text = "0"; LaskuriKA.Text = "0"; ha = 0; ka = 0;
Laita komponeteille uudet Tab-indeksit, niin että
ButtonHA
saa indeksin 0. (kirjoita hakukenttään tab).Kerro:
*.i.cs
ja partial class
Huonoa: aina kun muuttaa arvoa, pitää muistaa muuttaa näyttöä. Palataan tähän kohta.
Ajaminen Windows puhelimessa
- Valitse kohteeksi
Arm
- Valiste laitteeksi
Device
- Aja ja kokeile miten debuggerin breakpointit toimivat.
Videon lisääminen
- Siirrä
Assets
-kansioon video joka pitää näyttää. - Raahaa alueelle
MediaElement
-kontrolli. - Properties kohdasta
Media
valitse arvoSource
-ominaisuudelle. - Laita
AutoPlay
päälle. - Aja ohjelma.
Kartan lisääminen
Lue:
- How to show your current location on a map in Windows Phone 8
- Display maps with 2D, 3D, and Streetside views
- Tee itsellesi Bing-avain.
- Lisää
MapControl
. - Laita
MapServiceToken
-ominaisuuteen hakemasi Bing-avain.
Blendillä efektejä
- Valitse projektin nimestä oikealla
Design in Blend
. - Avaa solution Explorer ja sielä
MainPage.xml
. - Laita vaikka liukuväritausta:
- Valitse Grid.
- Valitse properties ikkunasta Background.
- Ota taustaa kuvaavista ikoneista (5 kpl) liukuvärin näköinen.
- Valitse liun alkuväri ja loppuväri .
- Tee pyörähdysefekti:
- Valitse
LaskuriHA
. - Kohdasta
No Storyboard open
ja klikkaa oikeall janew StoryBord
- Anna nimeksi
StoryHA
. - Raahaa keltainen pystyviiva siihen kohti, mihin asti haluat ensimmäisen animaation kestävän.
- Valitse
LaskuriHA
ja sen oikeasta ylänurkasta hieman ylöspäin kiertoa osoittava nuoli ja pyöräytä laskuri kerran ympäri. - Raahaa keltainen viiva siihen kohti mihin seuraava nauhoitus kestää.
- Pyöräytä
LaskuriHA
toisin päin ympäri. - Paina vihreää soittonappulaa ja katso toimiko kuten piti.
- Lopeta nauhoitus
storyHA
:n vieressä olevasta pienestä punaisesta pallukasta. - Valitse
Assets/Behaviours
. Ota tarvittaessaInstall...
- Valitse
ControlStoryBoard
ja raahaa seButtonHA
päälle. - Aseta
Storyboard
-ominaisuuteenStoryHA
. - Aja ohjelma.
- Säädä
EasingFunktiota
valitsemallaLaskuriHA
:n altaRenderTransform
.
- Valitse
2. Autolaskuri properyillä
Luo uusi projekti:
AutolaskuriProp
.Kopioi
xaml
-tiedoston sisällöstä oleelliset osat.Muuta "pääohjelman" koodiksi:
public sealed partial class MainPage : Page { private int ha = 0; private int ka = 0; public int HA { get { return ha; } set { ha = value; laskuriHA.Text = "" + ha; } } public int KA { get { return ka; } set { ka = value; laskuriKA.Text = "" + ka; } } public MainPage() { this.InitializeComponent(); } private void ButtonHA_Click(object sender, RoutedEventArgs e) { HA++; } private void ButtonKA_Click(object sender, RoutedEventArgs e) { KA++; } private void ButtonNollaa_Click(object sender, RoutedEventArgs e) { HA = 0; KA = 0; } }
3. Bind-laskuri
Tee uusi projekti
AutolaskuriBind
.Tee luokka BindLaskuri.
Rakentele sovelluksen pohja kuten edellä, mutta anna nimiksi
LabelHA
jaLabelKA
.Älä vielä tee
Click
-metodeja.Käännä sovellus, niin Toolboxiin tulee
BindLaskuri
.Ota BindLaskuri ja raahaa se Gridiin. Anna nimeksi
HA
.Valitse
LabelHA
ja ota senText
-ominaisuuden vieressä oleva tötterön kuva ja aukeavasta menusta valitseCreate Data Binding
.Valitse
Binding type
-listastaElement Name
ja sittenHA
ja senCount
.Vastaavasti bindaa
ButtonHA
:nContent
-ominaisuuteenHA
:nName
. Nyt joudu ruksimaanCustom
ja kirjoittamaan siihenName
Tee vastaavasti
KA
-laskuri ja bindaa se kuten edelläLabelKA
jaButtonKA
kanssa.Laita
ButtonHA_Click
-metodin sisällöksi:BindLaskuri laskuri = BindLaskuri.GetLaskuri(sender); if (laskuri != null) laskuri++;
Laita
ButtonNollaa_Click
-metodin sisällöksi:for (int i = 0; i < VisualTreeHelper.GetChildrenCount(ButtonNollaa.Parent); i++) { DependencyObject ctr = VisualTreeHelper.GetChild(ButtonNollaa.Parent, i); if (ctr is BindLaskuri) ((BindLaskuri)ctr).Count = 0; }
Lisää vielä
Slider
(sliderHA
), jonkaValue
-ominaisuuden sidotHA
-laskurinCount
-ominaisuuteen. Huomaa laittaaMore settings
-kohdastaTwoWay
päälle, ellei se ole valmiiksi.
Autolaskuri Android
Tee uusi projeksti
AutolaskuriAndroid
Tyypiksi
Templates/Visual C#/Android/Blank App
Kun projekti valmis, avaa
Resources/layout/activity-main.xaml
Avaa toolbox
Raahaa ensimmäiseksi joko
GridLayout
taiAbsoluteLayout
Yritä rakennella käyttöliittymä.
Tosin voi olla aluksi helpointa ottaa xaml:n sisältö mallista
Jotta puhelimella mitään näkyisi, pitää
MainActivity.cs
:ssä olla riviSetContentView(Resource.Layout.Main);
Tässäkin voi olla helpointa ottaa ensin malli
Laita puhelin USB-johdolla kiinni (ensin pitää olla laitettu debug-tilaan)
Valiste laite
Any CPU vierestä
Aja
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.