JPHP Android рдРрдкреНрд╕

рдЬреЛ рд▓реЛрдЧ PHP рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╡реЗ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ Habr├й рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА PHP рдореЗрдВ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рддреЗрдЬреА рд╕реЗ рдФрд░ рдЬрд╛рд╡рд╛ JPHP рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд▓реЛрдЧреЛ


рдЬреЗрдкреАрдПрдЪрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╕рд╡рд╛рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреЗрдкреАрдПрдЪрдкреА рдХреНрдпрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рд╡рд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдкрд░ рд╣реИрдмреЗ:



рдЦреИрд░, рд╣рдо рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред рдЬреЗрдкреАрдПрдЪрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрди рдкрджреЛрдВ рдХреЗ рд▓реЗрдЦрди рдХреЗ рдмрд╛рдж рд╕реЗ рдЬреЛ 4 рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣ рднрд╛рд╖рд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ jppm рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдерд╛ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдЖрдЬ рдмрд╛рдд рдХрд░рдиреА рд╣реИред


рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ


рдпрд╣ рд╕рдм рддрдм рд╢реБрд░реВ рд╣реБрдЖ рдЬрдм рдореЗрд░реЗ рджреЛрд╕реНрдд рдиреЗ JPHP рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдРрдк рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рд╡рд╣ рдкрдж рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдпрд╣ рддрд░реАрдХрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдпрдорд┐рдд PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЦреИрд░, рд╣рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдЬреЗрдкреАрдПрдЪрдкреА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдиреЗ рдЦреБрдж рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред


рдЗрдВрдЯрд░рдиреЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ JavaFXPorts рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдФрд░ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдЦреБрдж рдХреЛ рдХреБрдЫ рднреА рдХрд┐рдП рдмрд┐рдирд╛, JPHP рдХреЗ рд▓рд┐рдП GUI рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ 2 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред


рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, "рдХреМрди рд▓реЗрдХрд┐рди рдЖрдк?" .. рдореИрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЬреЗрдкреАрдПрдЪрдкреА рднрд╛рд╖рд╛ рдХреЗ рдХрд╛рдо рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреМрдбрд╝рд╛ред


рдкрд╣рд▓реЗ рдХреБрдЫ рд╕рдкреНрддрд╛рд╣ рдЕрд╕рдлрд▓ рд░рд╣реЗ рдереЗред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд░реНрдорд╛рдг рдХреА рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдХреЛ рдврд╛рд▓ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдПрдкреАрдХреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЙрд╕ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рдереАред рдореБрдЭреЗ рддреБрд░рдВрдд рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╡рд╣ рдЬреЗрдкреАрдПрдЪрдкреА рдХреА рд╡рдЬрд╣ рд╕реЗ рдереА, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛ред рдЕрдм рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреЗ рдХрд╛рд░рдг рдереАред DalvikVM рдХреЙрд░реНрдиреА JVM рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдмрд╛рдИрдЯреЗрдХреЛрдб рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рдерд╛ред рдпрд╣реА рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдмрд╛рдзрд╛ рдмрди рдЧрдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ JPHP рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ PHP рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реИрдВред Phb рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдХрд▓реНрдк рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИред рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдпрд╣ рдерд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрдХрд▓рдХ рдХреЛ рд▓рд┐рдЦреЗрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдФрд░ рдирд┐рд╖реНрдХрд╛рд╕рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд▓рд╛рдпрд╛ рдЧрдпрд╛, рдзрдиреНрдпрд╡рд╛рдж, рджрд▓рд╡рд┐рдХред


рдХрдИ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрднреА рднреА рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рд╣реИрдВ ред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдмрд╣реБрдд рддреЗрдЬ рдирд╣реАрдВ рдерд╛ред рд╣рд╛рдВ, рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЬрд╛рд╡рд╛рдПрдлрд╝рдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдорд╛рдЬрд╝рд┐рдЬрд╝реНрдо рд╣реИред


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдпрд╣ рдирд┐рд░реНрдгрдп рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, JPHP рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдереЛрдбрд╝реА рдирдо рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдпрд╣ рд╕рдм рдЬреЗрдкреАрдПрдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдПрдХ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдЙрдирдореЗрдВ рд╕рднреА php рдлрд╛рдЗрд▓реЛрдВ рдХреЛ class рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЧреНрд░реЗрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░рд┐рдгрд╛рдореА рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдмрджрд▓реЗ рдореЗрдВ, рдЗрди рд╡рд░реНрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбреЗрдХреНрд╕ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреВрд░рд╛ рд░рд╣рд╕реНрдп рд╣реИред


рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред AndroidManifest.xml рд╢реБрд░реВ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ BootstrapActivity рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕рднреА JPHP рдХреЛ рд▓реЛрдб рдХрд░рддреА рд╣реИред рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ BootstrapActivity рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЛ JPHP рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Activity рдореИрдВрдиреЗ рдЙрд╕реА рдирд╛рдо рдХреА рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдИрдВред


 <? use php\android\app\Application; $bootstrapActivity = Application::getMainActivity(); 

рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдмрд╣реБрдд BootstrapActivity рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ JPHP рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЬреЗрдкреАрдПрдЪрдкреА рд▓реЛрдбрд░ рдХреЗ рдХрд╛рдо рдХреЛ рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭ рд▓рд┐рдпрд╛ рдерд╛ред


рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкреНрд░рдореБрдЦ рдХреНрд▓рд┐рдХрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:


 <? use php\android\app\Application; use php\android\widget\Button; Application::setMainActivityHandler(fn => { //   jPHP $activity = Application::getMainActivity(); //  BootstrapActivity $activity->setTitle("test"); //   $activity->setContentView($button = new Button($activity)); //     $button->text = "Hello from JPHP!"; //     $button->on("click", function () use ($button) { //     ... $GLOBALS['clicks']++; $button->text = "Clicks: " . $GLOBALS['clicks']; }); }); 

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрд╡реЗрджрди рдорд┐рд▓рд╛:



рдирд┐рд╖реНрдХрд░реНрд╖


рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рднреА рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред рдЪреВрдВрдХрд┐ рдпрд╣ рдЕрднреА рддрдХ 10% Android API рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ PHP рдореЗрдВ Android рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдирд╛ рдПрдХ рдХреИрдирди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрд╕рдХреЗ рджрд░реНрд╢рдХ рдорд┐рд▓реЗрдВрдЧреЗред


тЖТ рдЬреАрдердм рдкрд░рд┐рдпреЛрдЬрдирд╛
тЖТ рдЧрд┐рддреВрдм рдЬреЗрдкреАрдПрдЪрдкреА
тЖТ рд╡реАрдХреЗ рдореЗрдВ рд╕рдореВрд╣

Source: https://habr.com/ru/post/hi425223/


All Articles