Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
Tatranský pohár v behu na lyžiach - 46. ročníkMatúš Jančík
Termín a miesto: 15.-16. december 2018, Areál bežeckého lyžovania Štrbské Pleso
Kontinentálny pohár FIS Slavic Cup odštartuje lyžiarsku sezónu 2018/2019 na Štrbskom Plese. V sobotu sa uskutočnia preteky žien na 7,5 km a mužov na 10 km klasickou technikou s intervalovým štartom. V nedeľu sa uskutočnia preteky v šprinte voľnou technikou. Očakávaná účasť je 150 pretekárov registrovaných v medzinárodnej lyžiarskej asociácii FIS z 10 štátov.
Tatranský pohár v behu na lyžiach 16.-18.12.2016Matúš Jančík
Dear ski friends,
We warmly invite you to 44th annual of Tatra Cup in Cross Country skiing, as a part of the FIS Slavic Cup races, which will be held from 16th to 18th December 2016 in Strbske Pleso (SVK).
All informations you will find in invitation.
We are looking forward to your participation.
Program pre rodiny s deťmi pre Vás pripravuje mesto Poprad a je neoddeliteľnou súčasťou podujatia Podtatranský polmaratón, ktoré sa koná 1.9.2016 v Poprade.
Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
Tatranský pohár v behu na lyžiach - 46. ročníkMatúš Jančík
Termín a miesto: 15.-16. december 2018, Areál bežeckého lyžovania Štrbské Pleso
Kontinentálny pohár FIS Slavic Cup odštartuje lyžiarsku sezónu 2018/2019 na Štrbskom Plese. V sobotu sa uskutočnia preteky žien na 7,5 km a mužov na 10 km klasickou technikou s intervalovým štartom. V nedeľu sa uskutočnia preteky v šprinte voľnou technikou. Očakávaná účasť je 150 pretekárov registrovaných v medzinárodnej lyžiarskej asociácii FIS z 10 štátov.
Tatranský pohár v behu na lyžiach 16.-18.12.2016Matúš Jančík
Dear ski friends,
We warmly invite you to 44th annual of Tatra Cup in Cross Country skiing, as a part of the FIS Slavic Cup races, which will be held from 16th to 18th December 2016 in Strbske Pleso (SVK).
All informations you will find in invitation.
We are looking forward to your participation.
Program pre rodiny s deťmi pre Vás pripravuje mesto Poprad a je neoddeliteľnou súčasťou podujatia Podtatranský polmaratón, ktoré sa koná 1.9.2016 v Poprade.
Tatranský pohár v behu na lyžiach - FIS Slavic CupMatúš Jančík
Kontinentálny pohár FIS Slavic cup bude 16.-17. februára 2013 v lyžiarskom bežeckom areáli na Štrbskom Plese. Tieto preteky sú súčasťou kalendára medzinárodnej organizácie FIS a určite budú veľkou skúškou pre všetkých rozhodcov. Viac na http://www.skstrba.sk/preteky/slavic-cup
2. Matúš Jančík Originals, s.r.o.
web & facebook & android programátor
Android aplikácie programujem od jesene 2011
3. Vtipko - najlepšie vtipy
● zbierka vtipov v rôznych
kategóriách
● hodnotenie, obľubené
● synchornizácia + offline
Publikované 2. novembra 2011
● 20000 stiahnutí
● 7500 aktívnych použ.
● 300 UV denne
+ Symbian, Facebook, iPhone
Súťaž Android Code 2011
Grafika: Peter Bartoš
@hrochodyl
4. Max do vrecka
Aplikácia pre všetkých návštevníkov Zábavno obchodných centier MAX.
400 prevádzok v ZOC MAX Nitra, ZOC MAX Poprad, ZOC MAX Trenčín a ZOC MAX Trnava
Komplexný informačný systém: mobilná aplikácia, mobilný web, Facebook aplikácie
5. Android knižnice - pridanie do projektu
Knižnice pre webové služby (Facebook, Google, ...), reklamné systémy, grafy, ...
Knižnica ako projekt *.jar súbor
vytvorenie:
použitie:
6. Android Query - framework
Open-source - Apache 2.0 licencia - 80kB http:
//code.google.com/p/android-query/
Knižnica pre prácu s UI prvkami
Asynchrónne požiadavky pre HTTP
Sťahovanie obrázkov a súborov
Autentifikácia Facebook, Twitter, ...
7. Android Query - inštalácia
- stiahnutie .jar súboru a skopírovanie do /libs
private AQuery aq;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
aq = new AQuery(this);
.........
}
8. Android Query - práca s UI
bez AQuery
TextView text = (TextView) view.findViewById(R.id.text);
if(text != null){
text.setText(vtip.getText());
text.setVisibility(View.VISIBLE);
}
s AQuery
aq.id(R.id.text).text(vtip.getText()).visible();
aq.id(R.id.image1).image("http://www.vtipko.eu/test.jpg");
aq.id(R.id.text).hidden().gone().visible();
aq.id(R.id.text).background(R.color.red).textColor(R.color.black);
9. Android Query - udalosti
Pred AndroidQuery
ImageView button = (ImageView) view.findViewById(R.id.button);
if(button != null){
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//stlacene tlacidlo
}
});
}
S AndroidQuery
protected void onCreate(Bundle savedInstanceState){
//setContentView ...
AQuery aq = new AQuery(this);
aq.id(R.id.button).clicked(this, "buttonClicked");
aq.id(R.id.list).itemClicked(this, "itemClicked")
}
public void buttonClicked(View view){
//stlacene tlacidlo
}
public void itemClicked(AdapterView<?> parent, View v, int pos, long id) {
//stlacena polozka v zozname
}
12. Androrm - ORM vrstva pre databázu
Open-source - MIT licencia - 50kB http:
//androrm.the-pixelpla.net
Na základe definovaných modelov vytvorí pri
prvom spustení sqlite databázu.
Jednoduché čítanie a zapisovanie údajov.
13. Androrm - inštalácia
1. stiahnúť *.jar knižnicu zo stránky http://androrm.the-
pixelpla.net/downloads/ a vložiť do libs adresára
2. vytvorenie modelov
3. registrácia modelov v aplikácii
14. Androrm príklad - vytvárame modely
1 DB tabuľka = 1 model = 1 súbor
src/sk.matj.vtipy/Vtip.java
názov triedy = názov DB tabuľky
_id = autoincrement - automaticky
public class Vtip extends com.orm.androrm.Model {
// premenná bude stĺpec v databáze
protected CharField text; Data fields
// konštruktor BooleanField ()
public Vtip() {
super(); CharField (int)
// definovanie textovej premennej DateField ()
text = new CharField();
} DoubleField ()
// setter IntegerField (int)
public void setText(String text) {
text.set(text); LocationField ()
}
//getter
public String getText() { Relational Fields
return text.get(); ForeignKeyField
}
} ManyToManyField
OneToManyField
15. Androrm - registrujeme modely
Kdekoľvek v aplikácii stačí jeden krát zaregistrovať modely (napríklad v
spúšťacej aktivite). Pri prvom spustení sa vytvorí databáza.
src/sk.matj.vtipy/MainActivity.java
//nazov databazy
DatabaseAdapter.setDatabaseName("DatabazaVtipov");
//registracia modelov
List<Class<? extends Model>> models = new ArrayList<Class<? extends Model>>();
models.add(Vtip.class);
DatabaseAdapter adapter = new DatabaseAdapter(getApplicationContext());
adapter.setModels(models);
16. Androrm - vytvárame záznam
src/sk.matj.vtipy/PridajvtipActivity.java
//po kliknutí na tlačidlo uložiť
EditText textInput = (EditText) findViewById(R.id.text);
String value = textInput.getText().toString();
Vtip vtip = new Vtip();
vtip.setText(value);
vtip.save(getApplicationContext());
17. Androrm - čítame záznamy
Výber jedného záznamu DetailActivity.java
// výber vtipu s id = 1
Vtip vtip = Vtip.objects(getApplicationContext()).get(1);
//vtip.getText();
Výber viacerých záznamov ZoznamActivity.java
//filter - iba vtipy so slovom blond
Filter filter = new Filter();
filter.contains("text", "blond");
QuerySet<Vtip> vtipy = Vtip.objects(getApplicationContext()).filter(filter);
for(Vtip vtip : vtipy) {
//vtip.getText();
}
http://androrm.the-pixelpla.net/documentation
18. Google Analytics - meranie
webová aplikácia - počet aktívnych používateľov
http://www.google.com/analytics - lokalita návštevníkov
- používanie jednotlivých funkcií
Google Analytics SDK for Android v2 (Beta) - počet a typ pádov aplikácie
- október / 2012 - realtime počet a pohyb v aplikácii
19. Google Analytics - inštalácia 1/2
1. stiahnúť *.jar knižnicu a nahrať do /libs
https://developers.google.com/analytics/
2. práva aplikácie v AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
3. vytvoriť profil v GA a získať ID
http://www.google.com/analytics
Admin=>Account list=>New Account => Vyber možnosť "App" a vyplň všetky
údaje. Nakoniec získaš ID kód v tvare UA-XXXX-YY
20. Google Analytics - inštalácia 2/2
4. vytvoriť súbor /res/values/analytics.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<string name="ga_trackingId">UA-XXXX-YY</string>
<bool name="ga_autoActivityTracking">true</bool>
<bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
5. upraviť jednotlivé Activity
@Override
public void onStart(){
super.onStart();
EasyTracker.getInstance().activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance().activityStop(this); //
}
21. Google Analytics - inštalácia 2/2
4. vytvoriť súbor /res/values/analytics.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<string name="ga_trackingId">UA-XXXX-YY</string>
<bool name="ga_autoActivityTracking">true</bool>
<bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
5. upraviť jednotlivé Activity
@Override
public void onStart(){
super.onStart();
EasyTracker.getInstance().activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance().activityStop(this); //
}
22. Google Analytics - štatistiky
- ktoré obrazovky sú najviac zobrazované (pohyb po aplikácii)
- lokalita a jazyk používateľov
- mobilné zariadenia, rozlíšenia, operátori (chýba Android verzia)
- verzie aplikácie (v2)
- sledovanie cieľov a sledovanie ecommerce (In-App payment)
- vlastné udalosti
- sledovanie časov (v2)
23. Google Analytics - realtime
- počet aktívnych používateľov, pomer noví / starí
- aktuálne zobrazené obrazovky
- verzie
- lokalita
24. Google Analytics - sledovanie udalostí
Použitie
@Override
public void onClick(View v) {
Tracker myExistingTracker = EasyTracker.getInstance().getTracker();
myTracker.trackEvent("kategoria", "akcia", "menovka", [hodnota]);
...
}
Štatistika (Obsah/Udalosti)
25. Ďakujem za pozornosť
Priestor pre otázky
www.matj.sk/androidcode
Matúš Jančík
@matusjancik fb.com/matj.sk