Így érdemes:

Ha teljesen laikus vagy, akkor az első résztől olvasd el a honlapot, mert egymásra vannak építve az oldalak! Jobbra a menü... Magyar az, aki aktívan tesz valamit, bármit, akármit a magyarság megmaradásáért! Mindenki más csak valami más, bármit is állítson magáról..

5. rész Mobil appok készítése

Először a Javában gondolkoztam, hogy azzal kellene telefonos programokat csinálni, de mivel nem egyszerű felhasználókra van kitalálva, nem is tetszik, és a fejlesztői környezetek se, ezért egyszerűbb, gyorsabb megoldást kerestem. Mindenesetre a Java alapja is itt van alul.

Azt találtam, hogy a legegyszerűbben modulos programnyelvekkel lehet a mobilra alkalmazást csinálni. Például saját alkalmazással tudunk  telefonnal egy robotot vezérelni.

Több ilyen nyelv is van, pl. MIT App Inventor2, Scratch, stb. 
Én az előbbit a MIT App Inventor2-öt próbáltam ki, és tényleg 1-2 óra alatt nagyjából el lehet sajátítani.

Néhány szóban röviden, de mielőtt bármit csinálsz, az Origós linken van lejjeb a többi infó, amire még szükséged lesz, itt:
https://www.origo.hu/techbazis/20161014-megmutatjuk-hogyan-kell-programozni.html
Itt az online fejlesztő felület, tehát még le sem kell tölteni semmilyen programot:
http://ai2.appinventor.mit.edu/
1.A fejlesztői felületet amikor megnyitjuk, a Prejectek menüpontban a start new projecttel kell kezdeni, és valamilyen nevet adni a projektünknek. Az ékezetes betűt itt nem biztos, hogy elfogadja!
2. A fejlesztői felület betölt, és négy sávot látunk. Középen a Viewer sávban egy mobiltelefon képe a (screen1) van megjelenítve, baloldalt a a Palette sávban azok a komponensek, amelyeket használni fogunk az applikációnkban, pl. gomb (button), Label (címke, ami szöveget, vagy számot jelenít meg), stb.
Innen a telefonra rá tudjuk húzni a komponenst. Próbáljuk ki, hogy ráhúzunk a telefon képernyőjére egy gombot (button) és egy Label-t (címkét)! A Jobb oldalt a szélén van a Properties (tulajdonságok) sáv. Itt állíthajuk be azoknak a komponenseknek a tulajdonságait, amiket a képernyőre húztunk. Pl. A gombra írjuk ki, hogy gomb, a Label1 szövegét is írjuk át, pl. Helló web-re!. Balra a telefon, és a tulajdonságok között helyezkedik el még, a Components sáv, ezekben látható egymás alatt a komponensek felsorolva, amiket a telefon képernyőjére húztunk, és itt ezekre rákattintva, pl. a label1-re kattintva tudod kijelölni a label1-et, hogy a tulajdonságokban annak a jellemzőit tudjad beállítani. A Label1 komponens tulajdonságaiban a visible (látható)-ból vegyük ki a pipát.
Ez a Designer felület, de jobbra fent láthatod, hogy van egy másik, a Blocks, ahol egy ilyen nevű gombbal tudsz váltani. A Blocks felületen programozzuk be a komponenseket, hogy mit csináljanak.
Ezen a felületen két sáv van, van egy munkasáv, ahol renezzük a dolgokat, a Viewer, és a Blocks sáv, ahonnan huzzók a munkafelületre a blokkokat, amelyek tulajdonképpen kódik, de számunkra csak puzzle darabkáknak vannak ábrázolva.A Blokkoknál a Button1-re kattintva válaszzuk ki a "When button click do" ( mikor a gombra kattintuk csinálja ezt) puzzle darabot, és húzzuk a munkafelületre! Majd a Label1-re kattinva válasszuk ki a "set label1 visible to" (beállíja a címke láthatóságát) puzzle darabot, és rakjuk bele az előzően kihúzott darabba! Ezután a logic-ra kattintva válasszuk ki a "True"
 (igaz) puzzle darabot, és rakjuk a címke láthatósági beállításáához. Ekkor kész is vagyunk az első programunkkal. Azt raktuk ki, hogy amikor a gomba kattintunk, akkor megjelenik az írás, hogy Hello world!Ezt ki is tudjuk próbálni, és a programunkat tudjuk telepíteni a telefonunkra is.
Így néz ki:



 Tájékoztató leírások magyarul tehát itt:
https://www.origo.hu/techbazis/20161014-megmutatjuk-hogyan-kell-programozni.html
Majd nézzél a Youtubon tutorial videókat, pl. gomb használatáról, stb
Ez pedig az első programom, egy vicces bármi dedetktor:


A két gomb blokja egy kicsit össza van csúszva a képen:

Ezt a progit letöltheted a telefonodra innen, szerintem tényleg vicces:
https://drive.google.com/open?id=1N3eLk-GdwTOZwQX_bdHOLKLIeI9O2IzA
Telepíteni úgy tudod, hogy a telefon beállításokban kikapcsolod a Biztonság, Ismeretlen forrású programok telepíthetőségébe pipa. Nincs benne vírus..

------------------------------------------------------------------------------------------------


 Itt pedig a java programozás alapjait lehet megismerni, ha valakit ez érdekelne: 

Java programozás alapjai:
Ezzek alapján tervezem összeállítani:
1. Learn Java the hard way
2. JAVA FOR KIDS NetBeans 8 Programming Tutorial
3. http://java.progtanulo.hu/java-programozas
4.Videók
5.Stb.

Telepítés:
A java oldaláról a JDK-t kell telepíteni, de egy olyan változatot, amely egyben van a Netbeans IDE-vel.
a Netbeans-t persze később is le lehet tölteni, de úgy is fogjuk használni, így praktikusabb, ha egyből azt töltöd le, amelyik együtt van vele...

A java JDK telepítése után be kell állítani a változóba az útvonalat (Windows 7-ben így):
Start menü, Saját gép, Tulajdonságok, Speciális rendszerbe állítások, környezeti változók, a te felhasználó változói: Új gomb -->
Path változó neve:
Path változó értéke: a javav.exe elérési útvonala (rákattintasz a javac.exe-re jobbal, majd a tulajdonságok ablakból kimásolod az útvonalát. Elé beírod még ezt: bin; és rögtön utána az útvonalat. Nekem ez, így néz ki:
bin;C:\Program Files\Java\jdk1.8.0_141\bin
Aztán leokézni!

Ezután csinálsz egy java fájlt:
Megnyitod  a Notepad++ nevű szerkesztőt, és belemásolod ezt:
public class elso {
    public static void main(String[] args) {
        System.out.println("Hello Vilag!");
    }
}
Amint látod ékezetes betűket nem használunk...
Aztán  unicoddal, vagy a Notepad++-nál java formátumban a dokumentumok mappába ezen a névvel elmented:
elso.java
Aztán jobb egérgombbal rákattintva a tulajdonságaiban ki tudod másolni az elérési útvonalát.
Ha egyszer már a Notepad++ -al elmentetted java formátumban, akkor sima jegyzettömbbel is megtudod nyitni, szerkeszteni, majd menteni!


Ezután megnyitod a parancssor programot(cmd-t )!
A startmenüben megtalálod, pl a Startmenü keresőjébe beleírod, hogy cmd, és kidobja a program ikonját. Arra rákattintva elindítod!
Menj a dokumentumok könytárba, ahová elmentetted az elso.java fájlodat! Kattints, rá jobbal, majd tulajdonságok. A hely: -nél másold ki az elérési útvonalát!
Aztán parancssorba gépeljük be az elérési útvonalat, de elé kell még írnod ezt: cd !  A cd parancs az adott könyvtár megnyitását jelenti.
Nálam így néz ki a parancs, amit tehát be kell gépelni a cmd-programba ( a tibsim helyén nálad más lesz):
cd C:\Users\tibsim\Documents
evvel beléptem a dokumentum mappába! Ez után gépeld be ezt, evvel fordítod le a a java fájlodat:
javac elso.java
ezután ezt írd be, evvel megnyitod, futtatod:
java elso
Ezután ki kell írnia, hogy:
Hello Vilag!
Amikor valóztatsz a kódon, azután mindig le kell fordítanod a javac-kal, :
javac elso.java
és utána futtatni!:
java elso


Java struktúrája:
Egy nagyobb program több programfájlból áll.
Ezek a fájlok nevei az osztály nevek. A programok meghívják egymást a nevükön, és végrehajtanak egy-egy függvényt, de az egyik fájl nem lát többet a meghívott programból, csak amit az végrehajt. Ez modularitást, és biztonságot is ad, valamint segíti az objektumorientáltságot. 

Alap kód:

Ezt a két kódot, mindig használjuk:
public class elso {
}

és ezt:
 public static void main( String[] args ) {
}

Az első sorban lévő kód:
public class elso {
a calss utáni rész (elso) az elso.java, vagyis a fájl neve.Ez nem lehet más, mint a fájl neve!

A másodikat csak ne felejts ki...

Kiírás a képernyőre, példák:

  A println után új sor jön, a print után azonos sorban a következő szöveg!

public class elso {
public static void main( String[] args ) {
System.out.println( "Alpha" );
System.out.println();
System.out.print( "Echo" );
System.out.print( "Foxtrot" );
System.out.println( "Golf" );
}
}

Megjegyzések, amiket a program nem olvas be, és a string:

public class elso {
public static void main( String[] args ) {
// ezt a mejegyzest nem olvassa be, nem jeleniti meg
System.out.print( "Learn\tJava\n\tthe\nHard\tWay\n\n" );
System.out.print( "\tLearn Java the \"Hard\" Way!\n" );
// így kell a stringbe használni a kettos vesszot
// ezt nem olvassa be, de a zarojelben levot megjeleniti( "Learn Java the Hard Way" );
System.out.print( "Hello\n" ); // This line prints Hello.
System.out.print( "Jello\by\n" ); // This line prints Jelly.
/* Ez tobb
soros megjegyzés */
System.out /* így ez megjegyzes */ .println( "Hard to believe, eh?" );
System.out.println( "Surprised? /* ez itt nem megjegyzes*/ Or what did you expect?" );
System.out.println( "\\ // -=- \\ //" );
// a fentiben az elso vonal nem jelenik meg
System.out.println( "\\\\ \\\\\\ \\\\\\\\" ); // it takes 2 to make 1
// igy jelenik meg: \\ \\\ \\\\
System.out.print( "I hope you understand \"escape sequences\" now.\n" );
// megjelenik így egy belso kettos-vesszo kozott..
}
}

Ne kakilj be! Ezen sorok nagy részét úgy sem fogod használni...

Változók típusai:
int
double
flow
string
Boolean


Változók használata:
int egész szám
double nem egész szám
Stirng szöveg (nagy kezdőbetűvel!)

Így kell értéket adni nekik (egyszerre felsoroljuk a változókat), és így kell használni őket:

public class elso {
public static void main( String[] args ) {
int x, y, age;
double seconds, e, checking; 5 String firstName, lastName, title;

x = 10;
y = 400;
age = 39;

seconds = 4.71;
e = 2.71828182845904523536;
checking = 1.89;

firstName = "Graham";
lastName = "Mitchell";
title = "Mr.";

System.out.println( "The variable x contains " + x );
System.out.println( "The value " + y + " is stored in the variable y." );
System.out.println( "The experiment took " + seconds + " seconds." );
System.out.println( "A favorite irrational # is Euler's number: " + e );
System.out.println( "Hopefully you have more than $" + checking + "!" );
System.out.println( "My name's " + title + " " + firstName + lastName );
}
}
Így is lehet értéket adni a változónak:
double price = 0, salesTax, total;

Matematikai operátorok:
összeadás: +
kivonás: -
szorzás:*
osztás:/
g = b % 10;
// ha g = 27, akkor a 7-et írja ki!
és
g = b % 10;
// 0 lesz!

példa a használatukra:
int x, y;

x = 5;
y = x*x;
majd printelni:
System.out.println( "y erteke:" + y );

A matematikai műveleteket sorrendje:
Ugyanolyan sorrendben hajtja végre, mint pl. a javascript nyelv.

Adatbevitel: 
három új sor kell hozzá:
import java.util.Scanner;
Scanner keyboard = new Scanner(System.in);
keyboard.next();
Számnál a next után Int vagy Double van! Lásd a
Példaprogramba:

import java.util.Scanner;

public class oil {
public static void main( String[] args ) {
String name;
int age;
double weight, income;

Scanner keyboard = new Scanner(System.in);

System.out.print( "Hello. What is your name? " );
name = keyboard.next();

System.out.print( "Hi, " + name + "! How old are you? " );
age = keyboard.nextInt();

System.out.println( "So you're " + age + ", eh? That's not very old." );
System.out.print( "How much do you weigh, " + name + "? " );
weight = keyboard.nextDouble();

System.out.println( weight + "! Better keep that quiet!!" );
System.out.print("Finally, what's your income, " + name + "? " );
income = keyboard.nextDouble();

System.out.print( "Hopefully that is " + income + " per hour" );
System.out.println( " and not per year!" );
System.out.print( "Well, thanks for answering my rude questions, " );
System.out.println( name + "." );
}
}


Változó módosítására példa:

int x = 10, tempX; // x is 10, tempX is undefined
tempX = x + 2; // x is still 10, tempX is now 12
x = tempX; // x has been changed to 12

int m = 10;
m = m + 2; //12 lesz..
i = j = k = 5;

Logikai operátorok, és kifejezések:
 ugyanaz mint a c-ben, vagy a javascriptben

Példakód:
import java.util.Scanner;

public class oil {
public static void main( String[] args ) {
Scanner keyboard = new Scanner(System.in);
boolean a, b;
int x;

System.out.print( "Adj meg egy szamot! " );
x = keyboard.nextInt();

a = (x>5);
b = (x>10);

System.out.println( "Az " +a+ ", hogy" + x + "nagyobb, mint 5!" );
System.out.println( "Az " +b+ ", hogy" + x + "nagyobb, mint 10!" );

}
}

A kiírásban az a és a b helyén megjelenik vagy a true, vagy a false!


String összehasonlítása:

A yep és a nope kódok segítségével történik! 
egyenlő             =
nem egyenlő    =!
Példakódban:

import java.util.Scanner;

public class oil {
public static void main( String[] args ) {
Scanner keyboard = new Scanner(System.in);
String szo;
boolean yep, nope;

System.out.println( "Gepeld ezt a szot be:\"alma\", kerlek!" );
szo = keyboard.next();

yep = word.equals("alma");
nope = ! word.equals("alma");

System.out.println( "Azt irtad be: " + yep );
System.out.println( "Nem azt irtad be: " + nope );
}
}

A kiírásban a yep és a nope kódok helyén a true és a false jelenik meg!

Összetett logikai kifejezések:
import java.util.Scanner;

public class ShallowGrandmother {
public static void main( String[] args ) {
Scanner keyboard = new Scanner(System.in);
int age;
double income, cute;
boolean allowed;

System.out.print( "Enter your age: " );
age = keyboard.nextInt();

System.out.print( "Enter your yearly income: " );
income = keyboard.nextDouble();

System.out.print( "How cute are you, on a scale from 0.0 to 10.0? " );
cute = keyboard.nextDouble();

allowed = ( age > 25 && age < 40 && ( income > 50000 || cute >= 8.5 ) ); 

System.out.println( "Allowed to date my grandchild? " + allowed );
}
}

If (feltételes):

import java.util.Scanner;

public class AgeMessages {
public static void main( String[] args ) {
Scanner keyboard = new Scanner(System.in);
int age;

System.out.print( "How old are you? " );
age = keyboard.nextInt();

System.out.println( "You are: " );
if ( age < 13 ) {
System.out.println( "\ttoo young to create a Facebook account" );
}
if ( age < 16 ) {
System.out.println( "\ttoo young to get a driver's license" );
}
if ( age < 18 ) {
System.out.println( "\ttoo young to get a tattoo" );
}
if ( age < 21 ) {
System.out.println( "\ttoo young to drink alcohol" );
}
if ( age < 35 ) {
System.out.println( "\ttoo young to run for President of the U.S." );
System.out.println( "\t\t(How sad!)" );
}
}
}

másik példa:

if (temperature > 90)
{
cost = 50;
}
else
{
cost = 25;

}

harmadik példa:

if (temperature > 90)
{
cost = 50;
}
else if (temperature > 80)
{
cost = 40;
}
else if (temperature > 70)
{
cost = 30;
}
Else
{
cost = 25;
}

FOR ciklus:
public class oil {
    public static void main(String[] args) {
for (int i = 0; i < 10; i++)
{
System.out.println("Hello Vilag!");
}
}
}


Random:
import java.util.Random;
public class RandomTest
{
public static void main(String[] args)
{
Random myRandom = new Random();
System.out.println("Random number "+myRandom.nextInt(10));
}
}

Return:
Visszatérő érték példa:

public static int rollDice()
{
int die1, die2, die3, die4, die5;

die1 = myRandom.nextInt(6) + 1;
die2 = myRandom.nextInt(6) + 1;
die3 = myRandom.nextInt(6) + 1;
die4 = myRandom.nextInt(6) + 1;
die5 = myRandom.nextInt(6) + 1;

return (die1 + die2 + die3 + die4 + die5);

}

Timer:




Grafikai felület - Graphic User Interfaces (GUI)

Frame  (ablak) kódja, de még ne próbáld ki:

import java.awt.*;
import java.awt.event.*;
public class oil extends Frame
{
public static void main(String[] args)
{

Frame myFrame = new Frame();
myFrame.setSize(400, 300);
myFrame.setTitle("Graphics Testing");
myFrame.setVisible(true);
}
}

Evvel sajnos az X nem működik, tehát nem tudod lekapcsolni az ablakot!
Ha mégis kipróbáltad a fenti kódot, akkor a feladatkezelőből tudod lekapcsolni az ablakot, vagy ha nem tudod mi az, nézz utána a google-ba, vagy idítsd újra a gépedet!
Ahhoz hogy működjön a lekapcsoló X, egy megfelelő esemény kódot kell a fenti mögé írni. Ezt:

myFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

Így néz ki egybe az ablak működő kódja, ezt már ki is próbálhatod!:

import java.awt.*;
import java.awt.event.*;
public class oil extends Frame
{
public static void main(String[] args)
{
// create frame
Frame myFrame = new Frame();
myFrame.setSize(400, 300);
myFrame.setTitle("Graphics Testing");
myFrame.setVisible(true);

myFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}

Egér esemény:
Ezt a kódot adjuk hozzá a fentihez!
myFrame.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
System.out.println("Mouse pressed at x=" + e.getX() + " , y=" + e.getY());
}
}); 

Ahová az ablakba kattintunk, kiírja az x éés y kordínátáját!:
mousePressed (egér lenyomása) esemény:

public class oil extends Frame
{
public static void main(String[] args)
{
// create frame
Frame myFrame = new Frame();
myFrame.setSize(400, 300);
myFrame.setTitle("Graphics Testing");
myFrame.setVisible(true);

myFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

myFrame.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
System.out.println("Mouse pressed at x=" + e.getX() + " , y=" + e.getY());
}
});

}
}

mouseDragged (egér meghúzása) esemény:
import java.awt.*;
import java.awt.event.*;
public class oil extends Frame
{
public static void main(String[] args)
{
// create frame
Frame myFrame = new Frame();
myFrame.setSize(400, 300);
myFrame.setTitle("Graphics Testing");
myFrame.setVisible(true);

myFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});


myFrame.addMouseMotionListener(new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
System.out.println("Mouse dragged to x=" + e.getX() + ", y=" + e.getY());
}
});

}
}

Android studió alapjai:
Most jött el az, hogy telepíteni kell az Android stúdiót. Nekem ehhez bővítenem kellett a gépem rendszer memóriáját (RAM) 512-ről 2GB-ra...
Aztán természetesen nekem rögtön egy hiba jött ki, ahogy szokott, csak hogy ne legyen egyszerű az életem. Itt van a megoldása, ha nálatok detto:
https://www.youtube.com/watch?v=GwU4AJn0Txg

Folyt következik...