Ohjelmointi 1, syksy 2023, luento24
Olin tällä sivulla luennon aikana Agorassa
Please
Please
Please
Please
Olin tällä sivulla luennon aikana Zoomissa
Olin tällä sivulla videon katsomisen aikana
Katson sivua etukäteen
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
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
- Ei ole toiminut enää vuosiin
- 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
ota+
. - 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
.- talenna ensin
- Leyvpinkan kuvasta alasveto
- Local resource
StoryHA
<Custom3:ControlStoryboardAction Storyboard="{StaticResource StoryHA}">
- Storyyn
AutoReverse = "True"
- 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 musta pikkulaatikko ja aukeavasta menusta valitseCreate Data Binding
.Valitse
Binding type
-listastaElement Name
ja sittenHA
ja senCount
.Vastaavasti bindaa
ButtonHA
:nContent
-ominaisuuteenHA
:nName
.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/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
Kurssi loppui :-)
Kiitoksia kurssille osallistumisesta :-)
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.