2014. július 31., csütörtök

Intelmek (fiaimnak és mindenkinek) 2.

Kételkedj

Kétkedésben az a fontos, hogy a dolgokat, összefüggéseket, kapcsolatokat, nem szabad azonnal elfogadni

Az élet alapigazságait, igazi értékeit, szépségét néha gátak zárják el előled.

Ezek a gátak nem öröktől valóak és nem is örökké tartó dolgok csak a tévedés alapjaira rakódó,
egyre vastagodó téglasor alkotja.

Az elfogadáshoz mindent át kell ereszteni a józan ész elemző, vizsgálódó hálóján,
melybe nem szabad beleakadnia semminek, amit igazán magadnak gondolsz, ahogy érzel, ami vagy.

A kétkedés az igazság felszínre kerüléséhez csak szikra, amely a gáton csak egy repedést hoz létre.

A gát téglánként elhordása már nem feladatod a repedés és a gátat feszítő erő együtt sodorja el
a gátat összes téglájával együtt.

Mindig csak a te feladatoddal törődj, jelezz, szólj, tedd meg az első lépést a jó úton, még akkor is ha nem tudod végig járni azt.



Járd saját utadat

Életed egy folyó útjához hasonlatos kis patak ként kezdet gondolataid rendszerének felfedezését,
majd más patakok vizével együtt gondolkodva megerősödve haladsz tovább hol sebesebben hol lassan hömpölyögve.

Megtanuló erősséged használni amely csak gyarapodik. Észreveszed gyengeségeidet és küzdesz ellene.
Rájössz, hogy néha csak saját magadat akadályozód, hogy még erősebbé válhass.

Mikor már a legnagyobbá váltál már nem rohansz úgy észreveszel olyan szépségeket,
amelyek mellet régen csak elfutottál.

Gondolód, hogy csak a sebesség teszi, hogy mit veszel észre környezetedből, világodból.
Figyelem fénykévéje, a koncentráció ereje az ami szabaddá tesz a világ valódi, teljes megfigyelésében, felfedezésében.

Bizonyos dolgok már elrohantak melletted melyeket már nem csodálhatsz meg, de tudatosan felkészülhetsz hasonló szépségek teljes kiélvezéséhez (felfedezés, csodálat, megértés, elfogadás, segítés, közös öröm).



Az utad végétől ne félj

Egykor rá jössz, hogy utad egyirányú és végéhez közeledik. Belefutsz egy nagy közösbe.
Eggyé válasz mindenkivel és nem leszel többé. Tudnod kell, hogy a nagy egészhez mit adtál te hozzá, ezek jó és rossz dolgok lesznek.

Élj úgy, hogy mindig több legyen a jó a végső elszámoláson, bármikor jön is az ideje el. Akkor vagy a világgal harmóniába, ha ehhez nem is kell erőlködnöd.

Egy része vagy a világnak és a világ is a te részed.


2014. június 22., vasárnap

Intelmek (fiaimnak és mindenkinek) 1.

Legfontosabb dolgok az ember életében:


1.       Mindig legyen célod!


Hogyan hatnak ránk a célok?

  • Először is van a vágy,  sóvárgás a jobbra
  • A vágyakból célok lesznek.
  • A célok döntésekre késztetnek
  • A döntések tettekre inspirálnak
  • A cél felé haladás jó érzéssel tölt el
  • A cél elérése egy-egy siker
  • A sikerek új célok elérésére ösztönöznek


A vágyaink elérése csak egy újabb lépés előtti pillanatnyi állapot életünk útvonalán.

Csak az erős vágy ismerheti fel a lehetőséget és termelheti ki a felkészültséget a célok elérésére.


Hogy milyen emberek vagyunk meghatározza :
  •           vágyaink
  •           céljaink
  •           döntéseink
  •           tetteink
  •           önértékelésünk (mit tartunk hibánknak, kudarcnak, sikernek, jónak rossznak)



2.       Legyél hatalmas


Aki másokat képes legyőzni az erős, aki önmagát is képes legyőzni hatalmas.

Aki képes önmagát megvédeni az erős, aki másokat is képes megvédeni az hatalmas.


A hatalmasság a fontossági sorrend helyes kijelölésével kezdődik. A prioritás a kapcsolatokat magasabb szintre emeli és még több kapcsolat helyes kezelését teszi lehetővé.

Fontosság a döntéseinkben meghatározó tényező.  Ha van fontossági sorrend, akkor a döntés ez mentén jön létre, különben az érdektelenség rángatja tetteinket.

Az ember fontossági sorrendje hosszú érési folyamatban alakul ki .


3.       Koncentrálj a fontos dolgokra


A koncentráció egy tudatos irányítás mely során a külvilág ingereiből kiválasztjuk azokat, amelyekkel foglalkoznunk kell. Ez a célirányos fókuszálás a zavaró tényezők kiszűrése és kizárása mellet optimum megteremtése a célok elérésére, probléma megoldására.


A külvilág zavaró, veszélyjelző ingerei rángatják életünket mint egy tengeren hánykolódó hajót. Ha hagyod ez így marad, de változtathatsz rajta csak tudnod kell hogyan kezdj hozzá.


Figyelem mint egy zseblámpa fénye egy véges területet képes élesen megjeleníteni és a többi csak a sejtelmes háttérben marad. A Te döntésed legyen, hogy mi az éles és mi ami sötétben/feledésben marad.

Félelemben élve riadtan kapkodjuk tekintetünket vészt keresve. Nem látunk semmit mi szép és jó, mert csak rángat a világ dübörgő zaja.

Szűrd meg a (külvilág hagos) zajt és célirányosan pásztázz és fókuszálj. Keresd a fontost, zárd ki a haszontalant.

Nincs negatív inger csak inger negatív értelmezése. Ha negatívan értelmezzünk egy ingert, akkor negatív hatását 100%-ban ki fejti, akkor is ha csak alternatíva lett volna.

Ha egy inger előjelzési fázisában már tényként reagálunk rá túlfárasszuk magunkat.

Az ingernek döntési helyzetig meg kell érnie és csak akkor jöhet a döntés és cselekvés különben csak felesleges zavaró tényezőkkel foglalkozunk (elfecséreljük/megrövidítjük életünket).



          4. Legyél aktív


Az emberek aktivitás mérőket aggatnak magukra, hogy megállapítsák mennyire 'pörögnek'.

Aktvitásunk azt jelenti milyen döntő lépéseket teszünk a vágyaink/céljaink elérése érdekében.

Futhatunk mókuskerékben úgy, hogy érezzük a küzdést és a fáradságot és mégsem tettünk meg valójában egy lépést sem valódi célok felé. 

Passzivitásunk a jelen helyzet elfogadása, beletörődés,  sodródás, érdektelenség kifejeződése. Passzív lehet az az ember is aki mindennap maratoni távot fút.



  5. Munkádat, tevékenységedet minél jobban tervezd meg
A szabályokat kell felállítanod és ezeket a munkatársaiddal, a partnereiddel, … és nem
utolsó sorban, magaddal is, el kell fogadtatnod.
A feladatok pontos leírása, meghatározása sokat segít a megoldásban.
A pontosításnál törekedjünk a minél egyszerűbb szavak és elemi tevékenységek használatára.
Próbáld átfogalmazni a kezdeti feladat leírást, ha nem találod egyértelműnek a kiinduló leírást.
Ha valami bizonytalan, ellentmondásosnak, vagy nem egyértelműnek tűnik akkor mindig kérdezz rá.
A feladat leírását mindig kövesse a szükséges erőforrás, feltétel, információ leltára amely szükséges a feladat megoldásához.
A leltár felállítása után mindig ellenőrizd a meglétüket is. Ha valami hiányzik akkor az egész feladattal addig ne foglalkozzunk.
A feladat általában rész feladatokra, tevékenységekre bontható ezeknél is elvégezhető a feltétel leltár és ellenőrzés.
Csak olyan feladat megoldásba, tevékenységbe fogjunk bele amelyet be is tudunk fejezni (siker lesz).
A több kisebb feladatott egymás utánra szervezhetsz jó ha valamilyen kapcsolat van köztük (könnyebb az átállás a másikra).
Olyan munkahelyet alakíts ki amely az adott feladat megoldására minden feltétel rendelkezésre áll és minél kevesebb akadályozó tényező van jelen.
A munkádhoz, tevékenységedhez jól válasz időpontot, eszközöket, erőforrásokat, partnereket. Ezek a siker zálogai.


Vigyázz az ilyen gondolatokkal:
  • Jobban kellene szeretned.
  • Az embereknek kedvesebbnek kellene lenniük.
  • Egyet kellene velem értened.
  • Le kellene fogynod.
Ilyenkor azt szeretnénk, hogy a valóság más legyen.
Ami van az megegyezik, amit akarunk, akkor nincs frusztráció, depresszió, ….
Nem szabad azzal küzdeni ami van. Ne akard megváltoztatni a megváltoztathatatlant.
Csak a saját dolgaiddal foglalkozzál, azzal amivel elbírsz, amihez értesz, amit meg tudsz oldani.
A tényeket el kell fogadni a mára, de a jövőn változtathatok még.
Ájt kell mondani a valósággal szembeni szélmalom harcunknak és egyszerűen, kedvesen, félelemmentesen cselekedjünk a céljain elérésére.


A gondolatokban nincs semmi káros,  amíg igaznak nem hisszük őket  és nem kezdünk el hozzájuk ragaszkodni.
Ami rémületesnek tűnik kis átértékeléssel,  akár mulatságossá is válhat.
Mindenkit nem tudsz megváltoztatni, de magadat jobbá tudod tenni.
Mások megismeréséhez megjobbításához a legjobb teszt alany Te magad vagy.

Légy pozitív: 
 Tudom, hogy az egész világ szeret, de nem várom el, hogy ezt mindig bevallja nekem.

2014. május 15., csütörtök

KML és használata

KML (Keyhole Markup Language)

A nyelvet a Keyhole Inc. fejlesztette a Google Earth alkalmazáshoz.
2008. áprilisában az OGC a KML-t nyílt szabványként fogadta el.

Hol találkozhatunk vele?

https://www.google.hu/maps/preview?hl=hu
https://maps.yahoo.com/
http://www.bing.com/maps/

Mire jó?

- Földrajzi jellemzők (pontok, vonalak, 3D modellek, képek, formák, sokszögek és idomok)
leírására, tárolására és modellezésére szolgáló XML fájlformátum
(pl. Google Föld, a Google Térkép és egyéb) alkalmazásokban.
- Az kml file egy egyszerű, XML tagokkal lwier szöveges állomány, mely egyszerű szövegszerkesztővel
megnyitható, szerkeszthető menthető.
- Az így (kml-ben) leírt információkat meg oszthatja más (pl. WEB) alkalmazásoknak a több felhasználóval.
- Egy KML fájlt a Google Föld hasonlóan dolgoz fel ahhoz, ahogy a
webböngészők feldolgozzák a HTML és XML fájlokat. HTML-hez hasonlóan
a KML is névvel és attribútumokkal rendelkező jelölőket alkalmaz a
meghatározott megjelenítési céljaira. Ily módon a Google Föld a KML fájlok
böngészőjeként viselkedik.

A kml használható:

- helyhez tartozó ikonok, címkék meghatározására,
- a földfelszínhez tartozó képek csatolására,
- helyhez tartozó kamera nézetek definiálására,
- helyszín, orientáció és textúra meghatározására akár 3D objektumokhoz
- Létezik még a KMZ fájl tipus, mely a KML fájlnak a tömörített változata.

XML (Extensible Markup Language)     // Mint a kml hordozó nyelve

Fő jellemzői

  • Az XML egy kicsit olyan, mint a HTML
  • Olyan szöveg, de nem közvetlen emberi olvasgatásra való
  • Az XML technológiák egy egész családja
  • A célja az adatok strukturálása
  • Az XML bőbeszédű, terjengős mert ilyennek tervezték, jelentős modularitás jellemzi
  • Használata licenszmentes, platform-független és sokak által támogatott


A kml szintaszisa:

Megjegyzés sor: <!-- tetszőleges szöveg - ->
<Placemark> elem <description> elem támogatja a HTML jelölők egy részét a használatnál a CDATA elfedéssel kell élnünk az XML-en belül

Kml nyelvi szabályok:


  • Kis és nagybetűk megkülönböztetése
  • Sorrendiség, az információ leírási sorrend fontos
  • Sorrendiség a szülő és gyerek elemek kötött, de egyes elem akár elhagyható
  • A gyerek elem csak engedélyezett szülőhöz tartozhat

klm tag elemek:

Pont : Egy koordinátapárt jelöl (a térképen) A jelölőre kattintva további hasznos információkat tekinthetünk meg.
Vonallánc : Egy útvonalat jelöl (a térképen)
Groundoverlay : Egy külső kép a térképen, amely egy területet a megadott képpel helyettesíti.
Screenoverlay : Ezzel logókat, képeket, más hasznos információkat helyezhetünk el a térképen.
Multigeometry : Összetett alakzat, amely az ezőzőkben felsorolt alakzatok egy tetszőleges kombinációját tartalmazhatja.
Poligon : Egy tetszőleges csúccsal rendelkező alakzatot lehet kijelölni.

Kml minta:

----1.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>MIE Minta1 T-systems.hu</name>
<description>T-Systems.hu székház 
Budapest, Budafoki út 56, Magyarország
</description>
<Point>
<coordinates>47.4542899,19.0540735,0</coordinates>
</Point>
</Placemark>
</kml>
----2
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>MIE Minta2 T-systems.hu</name>
<description>
<![CDATA[
<h1>T-Systems.hu székház</h1>
<p><font color="red">Budapest, <i>Magyarország</i><br/> 
<b>Budafoki út 56</b> 2014.</font></p>
]]>
</description>
<Point>
<coordinates>47.4542899,19.0540735</coordinates>
</Point>
</Placemark>
</Document>
</kml>

kml file html filebe ágyazása:

---1
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>MIE kml minta</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
var budapest = new google.maps.LatLng(47.4542899,19.0540735);
var mapOptions = {
zoom: 11,
center: budapest
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var ctaLayer = new google.maps.KmlLayer({
url: 'http://mierdekel.hu/kml/mie.kml'
/// csak internetről elérhető web cím lehet
});
ctaLayer.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>


kml használata android programozásban:


<html>
<head><title>Mie KML teszt</title></head>
<body>
<a href="geo:0,0?q=file:///sdcard/mie.kml">mie.kml</a>
</body>
</html>
 Forrás(http://mierdekel.hu/klwp/2014/05/kml-es-hasznalata/)

KML file megtekintése Google Map (térképen) saját térkép létrehozásával


1.    Saját térkép létrehozása gomb


2.    Az Importálás link művelet választása




3.    A kml file kiválasztása és feltöltése





2014. április 15., kedd

Anroid és a SQLite

SQLite egy nyílt forráskódú adatbázis. Minden android készülék alapból tartalmaz SQLite adatbázis motort.

SQLite támogatja a szabványos relációs adatbázis-funkciókat, megvalósulnak benne az SQL nyelvszintakszisú utasítások.
Az adatbázis motor kis memória igényű (kb. 250 Kbyte) ez a legnagyobb előnye.

SQLite adattípusok:
- TEXT (String Java),
- INTEGER ( Integer Java)
- REAL (mint Java).
- BLOB (mint java)

Minden más típust átalakít egyik ilyenre a háttérben.

Minden alkalmazás saját adatbázis állományt hoz létre a saját könyvtár területén:
DATA/data/APP_NAME/databases/FILENAME

Kiemelt címkék jelentése :
Kijelölt erőforrás elérési út:        DATA  [Environment.getDataDirectory() visszatérési értéke]
Alkalmazás egyedi neve:           APP_NAME
Konkrét adatbázis egyedi neve: FILENAME.

SQLite adatbázis Android-os használata nem igényel beállítási eljárást vagy extra beadást.

Adatbázis megfelelő létrehozási SQL parancsa egyből létrehozza az adatbázis példányt és az adatbázis frissítését is.

Ezután már az adatbázis elérhető és automatikusan kezeli az Android rendszer.

Az SQLite adatbázis végső soron fájlművelettel dolgozik és ez akár lassú műveleteket eredményezhet. Ezért ajánlatos az adatbázis műveletek aszinkron megvalósítását kialakítani.

A használathoz  android.database.sqlite csomagot használnunk kell a java kódban. 

Két metódusának felüldefiniálása szükséges:
-        onCreate () : Az adatbázis induló létrehozása
-        onUpgrade () : a meglévő adatbázis frissítésére szolgál. Mindig a OnCreate () metódus követi.
Ezen felüldefiniálásnál az utolsó sorban meg kell hívni a szülő szuper metódusát is.


Az android rendszerben az SQLiteOpenHelper osztály biztosítja az adatbázis elérését.
Elérés tipusai:
-        getReadableDatabase ()  : adatbázis olvasási jogú elérés
-        getWriteableDatabase ()  : adatbázis írási jogú elérés


SQL lekérdezések/parancsok végrehajtása:
-        rawQuery ()
-        query ()

Vagy SQLiteQueryBuilder osztály segítségével.


Minta 1:
Cursor cursor = getReadableDatabase().rawQuery("select * from todo where _id = ?", new String[] { id });

Minta 2:
Cursor cursor = database.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_CATEGORY, KEY_SUMMARY, KEY_DESCRIPTION },  null, null, null, null, null);


A ContentValues objektum ​​lehetővé teszi, hogy kulcs/értékek párokkal egyszerűen kezelhessük az adatbázis eredményt, ill. visszatöltsük az adatbázisba a változásokat.

A lekérdezés eredménye egy Cursor objektumban jön létre, mely egy puffer objektum, így nem kell az összes adatot a memóriába tölteni.

A kurzus objektum hasznos tulajdonságai:
-        getCount ()              : elemek száma (eredmény rekordszáma)
-        getPosition()            : aktuális pozíció eredménytömbben
-        getColumnNames() : oszlop neveket tartalmazó tömb
-        getColumnCount()   : oszlopok számát adja vissza
-        isAfterLast ()     : Elértünk az eredmény halmaz végére

A kurzus objektum hasznos metódusai:
-        moveToFirst ()  : Eredmény halmaz első rekordjára lép
-        moveToNext ()  : Eredmény halmazon végig léptető
-        move(int offset) : kurzor mozgatása +előre -vissza az aktuális pozicióhoz (relatív)
-        moveToLast()    : utolsó rekord
-        moveToPrevious()  : előző rekord
-        moveToPosition(int position)  : A konkrét sorszámú rekordra állás (abszolult)
-        close ()             : A kurzor mindig kell zárni a metódus hívással.




Create, Read, Update, Delete (CRUD) műveletek

SQLiteDatabase  db = dbOpenHelper.getWritableDatabase();  // adatbázis írásra megnyítása

ContentValues newRecord = new ContentValues();

/// beszúrás
newRecord.put("name", name);            // új adatrekord összekészítése
newRecord.put("value",value);

db.insert("tabla", null, newRecord);    // új adatok beírása a táblába

/// törlés
db.delete("mie_table", "id = "+id, null)  // rekord törlése

/// módosítás
ContentValues updateRecord = new ContentValues(); 
        updateRecord.put(„name”, table.getName());  /// összekészítés
        updateRecord.put(„value”, table.getValue()); 
  
 db.update(„mie_table”, values, "id = ?",  new String[] { String.valueOf(contact.getID()) });  // módosítás

/// INSERT OR REPLACE INTO használata

if (db != null) {
db.close();                              // adatbázis lezárása
}






SQLite minta:

SELECT table1.name||' '|| table1.value AS nev_value,
count(1) AS count
FROM table1
JOIN   table2   ON (table1.value=table2.value)
JOIN   table3   ON (table1.value=table3.value)
GROUP BY table1.name||' '|| table1.value
ORDER BY table1.name||' '|| table1.value DESC ;


Működés ellenőrzése [ADB (Android Debugging Bridge)]
adb –e shell                //  belépés a keretrendszerbe az "-e" kapcsoló emulátoros futtatást kér

////  data/data/hu.mierdekel.android.test_app/databases/mie_test.db  nevű minta adatbázis elérése
cd /data/data
mkdir hu.mierdekel.android.test_app
cd hu.mierdekel.android.test_app
mkdir databases
cd databases

sqlite3 ./ mie_test.db  /// Adatbázishoz kapcsolódás


sqlite> .help 
.help 

.bail ON|OFF Stop after hitting an error. Default OFF 

.databases List names and files of attached databases 

.dump ?TABLE? ... Dump the database in an SQL text format 

.echo ON|OFF Turn command echo on or off 

.exit Exit this program 

.explain ON|OFF Turn output mode suitable for EXPLAIN on or off. 

.header(s) ON|OFF Turn display of headers on or off 

.help Show this message 

.import FILE TABLE Import data from FILE into TABLE 

.indices TABLE Show names of all indices on TABLE 

.load FILE ?ENTRY? Load an extension library 

.mode MODE ?TABLE? Set output mode where MODE is one of: 

                         csv Comma-separated values 

                         column Left-aligned columns. (See .width) 

                         html HTML <table> code 

                         insert SQL insert statements for TABLE 

                         line One value per line 

                         list Values delimited by .separator string 

                         tabs Tab-separated values 

                         tcl TCL list elements 

.nullvalue STRING Print STRING in place of NULL values 

.output FILENAME Send output to FILENAME 

.output stdout Send output to the screen 

.prompt MAIN CONTINUE Replace the standard prompts 

.quit Exit this program 

.read FILENAME Execute SQL in FILENAME 

.schema ?TABLE? Show the CREATE statements 

.separator STRING Change separator used by output mode and .import 

.show Show the current values for various settings 

.tables ?PATTERN? List names of tables matching a LIKE pattern 

.timeout MS Try opening locked tables for MS milliseconds 

.width NUM NUM ... Set column widths for "column" mode 

sqlite> 

MS oktatások

Kicsit fejlesztettem és teszteltem magamat. https://docs.microsoft.com/hu-hu/ Érdemes végig csinálni, vagy legalább kipróbálni. ...