Ohjelmointia, Android

Seuraa 
Viestejä45973
Liittynyt3.9.2015

Nonnii. Tein sitten äsken ensimmäisen Hello World -ohjelman Androidiin.
Voisiko joku selittää, mitä mää menin tekemään, eli onko jotain helppoa,
"Opi Android minuutissa"-opasta

UIEnä on Eclipse, missä on android -virtuaalikkännykkä

Sivut

Kommentit (46)

Vierailija

Toivottavasti et oleskele Suomessa tai ole Suomen kansalainen.

Anderoidin hiplaaminen on kriminalisoitu Lex Nokian perusteella Mokialandian kansalaisilta.

Vierailija
mensaani
Nonnii. Tein sitten äsken ensimmäisen Hello World -ohjelman Androidiin.
Voisiko joku selittää, mitä mää menin tekemään, eli onko jotain helppoa,
"Opi Android minuutissa"-opasta

UIEnä on Eclipse, missä on android -virtuaalikkännykkä




Osaatko ohjelmoida millään ohjelmointikielellä? Jos et, kannattaa opetella ensin ylipäätään ohjelmoimaan.

Heksu
Seuraa 
Viestejä5463
Liittynyt16.3.2005

No jopas olet näppärä! Loistava suoritus ) Minäkin aloitin Android-ohjelmoinnin ehkä kuukausi takaperin, toistaiseksi olen saanut aikaan pelinraakileen ja yhden hyötyohjelman, molemmat hyvin keskeneräisiä.

Itse lähdin liikkeelle ihan samoista tutorialeista ja olen käyttänyt apuna lähinnä googlen omia ohjeita Androidin tuotekehitykseen. En ole tullut etsineeksi, onko suomenkielistä materiaalia paljonkin tarjolla. Kukaties tästä saadaan aikaiseksi Android-ohjelmointiohjeketju? Palstalta löytyy varmasti muitakin ohjelmointia taitavia, jotka neuvovat mielellään.

Että näin, mistäs päästä aloitetaan?

Vierailija
Dredex
Osaatko ohjelmoida millään ohjelmointikielellä? Jos et, kannattaa opetella ensin ylipäätään ohjelmoimaan.

1990-luvun alussa Turbo Pascal ja HP48:n RPN-kieli
Oliot ovat mulle hukassa
Voisko joku ystävällisesti kertoa, miten oliot periytyvät - vaikka Javalla

Saw
Seuraa 
Viestejä6251
Liittynyt20.6.2009

Miten syvällisesti haluat tietää perinnästä?

[code:2cc4hha5]class Nörtti
{
// Luokan toteutus
}

class Trolli extends Nörtti
{
// Luokan toteutus
}[/code:2cc4hha5]

Trolli saa kaikki Nörtin attribuutit ja metodit. Lisäksi trollilla voi olla attribuutteja ja metodeja joita ei Nörtillä ole. Trollille voidaan myös ylikirjoittaa Nörtin attribuutteja ja metodeja.

Trolli ja Nörtti ovat luokkia. Niiden yksilöt ovat olioita.

Young man, there's a place you can go.
I said, young man, when you're short on your dough.
You can stay there, and I'm sure you will find
Many ways to have a good time.

It's fun to stay at the Y.M.C.A.
It's fun to stay at the Y.M.C.A.

Heksu
Seuraa 
Viestejä5463
Liittynyt16.3.2005
mensaani
Oliot ovat mulle hukassa
Voisko joku ystävällisesti kertoa, miten oliot periytyvät - vaikka Javalla



Onko olio-ohjelmoinnin peruskonseptit noin muuten hanskassa, tietopuoleisesti? Saw esittelikin jo periytymisen javalla, sitä voisi jatkaa, esim.

[code:3g3f2884]
class Nörtti
{
// Luokan toteutus

public String kirjoitaTiedepalstalle()
{
return "Järkevä viesti"; //kirjoittaa järkevän viestin
}
}

class Trolli extends Nörtti
{
// Luokan toteutus

@Override
public String kirjoitaTiedepalstalle()
{
return "Häiriköivä viesti"; //määrittelee kantaluokan metodin uudella tavalla
}
}
[/code:3g3f2884]

Trolliluokkaa voi tietysti edelleen periyttää, esim.

[code:3g3f2884]
class HannuTanskanen extends Trolli
{
// Luokan toteutus

@Override
public String kirjoitaTiedepalstalle()
{
return "Hyvästi!";
}
}

[/code:3g3f2884]

Vierailija
mensaani
Dredex
Osaatko ohjelmoida millään ohjelmointikielellä? Jos et, kannattaa opetella ensin ylipäätään ohjelmoimaan.

1990-luvun alussa Turbo Pascal ja HP48:n RPN-kieli
Oliot ovat mulle hukassa
Voisko joku ystävällisesti kertoa, miten oliot periytyvät - vaikka Javalla
Kyllä minä jo noihin aikoihin opetin, ohjasin jo C-ohjelmointikieleen [size=85:6xpq2o5k](tietokoneleirit jo alkaen v.1986)[/size:6xpq2o5k].
Assemblyn olin jo jättänyt. Liittyi enemmän tuonne Commororin ja muuhun sellaiseen konekielijuttuun.
Noihin aikoihin muuten tykästyin tuohon palikkakieleen, eli Logoon. No C +++ itse asiassa perustuukin tuohon oliojärjestelmään. Miesten logiikkaa kaikki tyynni

Nyt on parasta vaan odottaa valmista, mutta kyllähän tuollainen ihan harrastuksestakin käy.

Vierailija
Heksu
mensaani
Oliot ovat mulle hukassa
Voisko joku ystävällisesti kertoa, miten oliot periytyvät - vaikka Javalla

Onko olio-ohjelmoinnin peruskonseptit noin muuten hanskassa, tietopuoleisesti? Saw esittelikin jo periytymisen javalla, sitä voisi jatkaa, esim.
[code:2jkzxfjv] class Nörtti
{
// Luokan toteutus
public String kirjoitaTiedepalstalle()
{
return "Järkevä viesti"; //kirjoittaa järkevän viestin
}
}

class Trolli extends Nörtti
{
// Luokan toteutus
@Override
public String kirjoitaTiedepalstalle()
{
return "Häiriköivä viesti"; //määrittelee kantaluokan metodin uudella tavalla
}
}
[/code:2jkzxfjv]

Trolliluokkaa voi tietysti edelleen periyttää, esim.
[code:2jkzxfjv] class HannuTanskanen extends Trolli
{
// Luokan toteutus
@Override
public String kirjoitaTiedepalstalle()
{
return "Hyvästi!";
}
}
[/code:2jkzxfjv]


Ei... Miten niin tuollaisiin jonoihin mitään olioperiyttämistä tarvitaan

Onko tuossa nyt kyse siitä, että "häiriköivä viesti" on perimältään "järkevä viesti"?
Jos siis a trolli kirjoittaa häiriköivän viestin, niin mitä kumman perintöä se on muka saanut järkevältä? Ja sitten tuo Hannu levitti mun evääni asiasta totaalisesti

En ymmärrä, mitä ideaa on olioida jonoja?

Saw
Seuraa 
Viestejä6251
Liittynyt20.6.2009

Perinnän avulla päästään eroon toisteisuudesta. Kun määritellään Nörttiin attribuutteja, niin kaikki Nörtistä perityt aliluokat saavat ne automaattisesti. Koodiin kokonaismäärä pienenee, ja ylläpito helpottuu.

[code:13qhjjc4] class Nörtti
{
private String nikki;
private String email_osoite;
private Int syntymävuosi;

public String kirjoitaTiedepalstalle()
{
return "Järkevä viesti"; //kirjoittaa järkevän viestin
}
}
[/code:13qhjjc4]

Young man, there's a place you can go.
I said, young man, when you're short on your dough.
You can stay there, and I'm sure you will find
Many ways to have a good time.

It's fun to stay at the Y.M.C.A.
It's fun to stay at the Y.M.C.A.

Heksu
Seuraa 
Viestejä5463
Liittynyt16.3.2005
mensaani

Ei... Miten niin tuollaisiin jonoihin mitään olioperiyttämistä tarvitaan

Onko tuossa nyt kyse siitä, että "häiriköivä viesti" on perimältään "järkevä viesti"?
Jos siis a trolli kirjoittaa häiriköivän viestin, niin mitä kumman perintöä se on muka saanut järkevältä? Ja sitten tuo Hannu levitti mun evääni asiasta totaalisesti

En ymmärrä, mitä ideaa on olioida jonoja?




Hannu oli lähinnä vitsi, pahoittelen. Olio-ohjelmointi on apuväline, jolla voi helposti mallintaa tosielämän käsitteitä ja niiden riippuvuussuhteita. Luokka on luokittelun perusyksikkö. Esimerkiksi jos olisit tekemässä sovellusta, jossa käsitellään eläintarhan eläimiä, voisit aloittaa eläimen kantaluokasta, johon ohjelmoisit kaikille eläimille yhteiset ominaisuudet. Eläimen luokasta voisit sitten periyttää esimerkiksi kissaeläimen ja edelleen tiikerin luokat, jotka voisivat toteuttaa jotain eläimen perusoninaisuuksia kissamaisella ja edelleen tiikerimäisellä tavalla. Silti tiikeriä voitaisiin käsitellä aivan kuin mitä tahansa muuta eläintä, koska se periytyisi eläimen kantaluokasta ja olisi siten eläin.

Vierailija

Olio-ohjelmoinnin tarkoituksena on luoda käsiteltävistä asioista abstraktioita. Tämä tarkoittaa sitä, että luokalla on selkeä rajapinta (julkiset jäsenfunktiot), jonka avulla luokan sisältämään tietoa voidaan käsitellä ja luokalle voidaan tehdä erilaisia operaatioita. Luokan varsinainen toteutus on kuitenkin piilossa käyttäjältä. Vertaa autoon, sinun ei tarvitse tietää tarkalleen miten auto toimii, mutta julkisen rajapinnan (ratti, polkimet, ym.) avulla voit käyttää autoa.

Jos olio-ohjelmointi on aivan uusi asia, niin ehkä ei kannata aivan ensimmäisenä lähteä luokkien periytymistä opettelemaan. Opettele ensin jollakin haluamallasi kielellä luokkien toteutusmekanismi. Ainakin seuraavien asioiden olisi hyvä olla hallussa ennen kuin alat periyttämistä harjoittelemaan: julkinen rajapinta, yksityinen rajapinta, jäsenfunktiot, rakentaja ja purkaja.

Esimerkki C++:lla
[code:1hk2uq7s]
class Vektori2
{
public:
// Julkinen rajapinta:

// Kaksi kuormitettua rakentajaa
Vektori2();
Vektori2(const double& x, const double& y);

void aseta_koordinaatit(const double& x, const double& y);
void normalisoi();

double pituus() const;
double hae_x() const;
double hae_y() const;
// Muita funktioita... ei olennaista esimerkin kannalta

// Purkaja (ei pakollinen tässä tapauksessa)
~Vektori2();

private:
// Yksityinen rajapinta:
double x_coord_;
double y_coord_;
};
[/code:1hk2uq7s]

Huomaa, että yksityisessä rajapinnassa vois olla myös seuraavaa.
[code:1hk2uq7s]
...
private:
// Yksityinen rajapinta:
double pituus_;
double kulma_;
};
[/code:1hk2uq7s]

Esimerkiksi Vektori2-luokan tapauksessa käyttäjän ei tarvitse tietää, miten luokka on varsinaisesti toteutettu ja millaista matematiikkaa se sisältää, kunhan luokka käyttäytyy kuten kaksiulotteisen avaruuden vektori. Luokka luo siis abstraktion vektorista.

Tekstista tuli melko pitkä, eikä se suoraan liity otsikon aiheeseen. Mutta toivottavasti siitä olisi kirjoittajalle hyötyä olioiden ymmärtämiseen.

Vierailija
Heksu
Olio-ohjelmointi on apuväline, jolla voi helposti mallintaa tosielämän käsitteitä ja niiden riippuvuussuhteita. Luokka on luokittelun perusyksikkö. Esimerkiksi jos olisit tekemässä sovellusta, jossa käsitellään eläintarhan eläimiä, voisit aloittaa eläimen kantaluokasta, johon ohjelmoisit kaikille eläimille yhteiset ominaisuudet. Eläimen luokasta voisit sitten periyttää esimerkiksi kissaeläimen ja edelleen tiikerin luokat, jotka voisivat toteuttaa jotain eläimen perusoninaisuuksia kissamaisella ja edelleen tiikerimäisellä tavalla. Silti tiikeriä voitaisiin käsitellä aivan kuin mitä tahansa muuta eläintä, koska se periytyisi eläimen kantaluokasta ja olisi siten eläin.

Ok. Tämän verran olen itsekin siitä perillä, mutta jostain syystä en koskaan onnistunut luomaan siitä toteutusta jollakin kielellä, ja josko edes yritin, kun kiinnostukseni -90 -luvun alussa lopahti inernetissä sekoiluun, jota olen kiitettävästi siitä asti toteuttanut...
Javascriptiä olen myös harrastanut, mutta senkin toteuttaminen vaatisi syventymistä olioihin;

Tuollaista tumpelokoodia olen tehnyt
http://asunnottomienyo.fi/aika/kalenteri.html
http://asunnottomienyo.fi/aika/muistipeli.html

Heksu
Seuraa 
Viestejä5463
Liittynyt16.3.2005
mensaani



No jopas, eihän nuo ole alkuunkaan huono lähtökohta Android-maailmaan! Ennemminkin loistava, etten sanoisi. Siirtyminen JavaScriptistä Javaan ei liene erityisen kivulias, lähinnä eroa on muuttujien tyypeissä (joita JavaScriptissä ei ole) ja oliopohjaisuudessa.

Vierailija
Heksu
class HannuTanskanen extends Trolli
{
// Luokan toteutus
@Override
public String kirjoitaTiedepalstalle()
{
return "Hyvästi!";
}
}


Tuohon olisi vielä pitänyt lisätä päättymätön silmukka.

Vierailija

// improved version 1.1
class HannuTanskanen extends Trolli
{
// Luokan toteutus
@Override
public String kirjoitaTiedepalstalle()
{
if ( isItFullMoon() == true) {
return "Hyvästi!";
}
else {
return "Kukkuu perkele, tulin takaisin teitä ilahduttamaan";
}
if ( rand() = 0.38 ) {
return "Mulle on tehty vääryyttä kuten TM:ssä konsanaan vuonna 1968. "
+"Yhtä lausettani on menty muuttamaan";
}
}
}[/code:m7wai9t1]

Sivut

Uusimmat

Suosituimmat