ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр (JavaFX+EJB+WildFly)

Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС [ΠΎΠΏΠ΅Ρ€Π°Π½Π΄1] [ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€] [ΠΎΠΏΠ΅Ρ€Π°Π½Π΄2] [Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚]) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с использованиСм RMI (Remote Method Invocation) Π±Π΅Π· сСрвСра, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° GUI ΠΈ EJB, Π² консоли, Π½ΠΎ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, Π° приступим ΠΊ Π±ΠΎΠ»Π΅Π΅ интСрСсной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

1. Нам понадобятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Π³Ρ€Π΅Π΄ΠΈΠ΅Π½Ρ‚Ρ‹:
1.1. JDK,
1.2. IDE (с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Java EE),
1.3. WildFly (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Java),
1.4. SceneBuilder (для удобства ΠΈ быстрого создания GUI).

Для связи ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с сСрвСром Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JNDI (слуТба имСнования ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ EJB (Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для построСния бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ).

2. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ сСрвСрной части:
2.1. Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс, посрСдством ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ сСрвСром (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ Remote β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ EJB Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RMI).

2.2. Класс, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ этот интСрфСйс (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @Stateless β€” сСансовый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±Π΅Π· сохранСния состояния).

2.3. Π”ΠΎΠ±Π°Π²ΠΈΠΌ наш класс ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

2.4. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IDE создаСм ear-Ρ„Π°ΠΉΠ» (Enterprise Archive), запускаСм сСрвСр (ΠΌΠΎΠΆΠ½ΠΎ со стандартным ΠΏΠΎΡ€Ρ‚ΠΎΠΌ), Π΄Π΅ΠΏΠ»ΠΎΠΈΠΌ Π½Π° Π½Π΅Π³ΠΎ ΠΈ Ссли ошибок Π½Π΅ Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, Ρ‚ΠΎ с сСрвСрной Ρ‡Π°ΡΡ‚ΡŒΡŽ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ.

Π›ΠΎΠ³ сСрвСра ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ:

3. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ клиСнтской части:
3.1. Π’ SceneBuilder набрасываСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° (main.fxml), css ΠΏΠΎΠΊΠ° Π½Π°ΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ:

3.2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ класс ΠΊ fxml-Ρ„ΠΎΡ€ΠΌΠ΅, для Π°Π½Ρ‚ΠΈΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ GUI (залипания Ρ„ΠΎΡ€ΠΌΡ‹) ΠΏΡ€ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «=» Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΡƒΡŽ Π½ΠΈΡ‚ΠΊΡƒ:

3.3. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°:

3.5. ДобавляСм ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (Π² случаС с WildFly это jboss-client.jar), запускаСм GUI.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π² Π±ΡƒΡ„Π΅Ρ€ для ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Ρ†ΠΈΡ„Ρ€Ρ‹, Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «=» происходит соСдинСниС с сСрвСром (Ρ‡Π΅Ρ€Π΅Π· слуТбу JNDI), надпись Π½Π° дисплСС Β«WAITING. Β» Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° с сСрвСра.

Π’Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΏΠ°Ρ€Ρƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ: NumberFormatException (отлавливаСтся ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅) ΠΈ ArithmeticException (отлавливаСтся ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° ноль Π½Π° сСрвСрС).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, искусство ΠΈΠ»ΠΈ ΠΏΠΎΡ€ΠΎΠΊ?

Вводная

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° X

Π’ Π΄Π°Π»Π΅ΠΊΠΎΠΌ 2008 Π³ΠΎΠ΄Ρƒ, ΠΏΠ°Ρ€Π΅Π½ΡŒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ X искал Ρ€Π°Π±ΠΎΡ‚Ρƒ программистом. ΠžΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρƒ Π½Π΅Π³ΠΎ Π±Ρ‹Π», Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚Ρ€Ρ‹Π²Π°ΡŽΡ‚ с Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΈ Π½ΠΎΠ³Π°ΠΌΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ отвлСкался Π½Π° всС вакансии ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π½Π° всС Π·Π²ΠΎΠ½ΠΊΠΈ. И Π²ΠΎΡ‚ ΡΠ²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ, X’Π° пригласили Π² ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΡƒΡŽ компанию, Π³Π΄Π΅ Π΅ΠΌΡƒ прСдстояло ΠΏΡ€ΠΎΠΉΡ‚ΠΈ всСго 2 собСсСдования. Одно, ΠΊΠ°ΠΊ это водится, с Π΄Π΅Π²Ρ‡Π°Ρ‚Π°ΠΌΠΈ ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»Π° ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ…ΠΎΠΉ Π½Π΅ стало, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” тСхничСскоС, Π²ΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, сСрдцС Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½ΠΎΠ΅, нСизвСстноС. Настал час X β€” собСсСдованиС. ПослС принятого рукопоТатия, ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Y, ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽΠ΅Ρ€, истинный программист β€” причСска Π² Π±ΠΎΠΊ, дТинса ΠΏΠΎΠ΄ΡΡ‚Ρ‘Ρ€Π»Π°ΡΡŒ, сказал, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ занят сСйчас. Ну Ρ€Π°Π· Ρ‚Ρ‹ ΠΏΡ€ΠΈΡˆΠ΅Π», Ρ‚Π°ΠΊ ΠΈ Π±Ρ‹Ρ‚ΡŒ, Π΄Π°ΠΌ Ρ‚Π΅Π±Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π½ΡŒΠΊΠΈΠΉ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΊΡƒ β€” ‘Напиши ΠΌΠ½Π΅ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΊΠΎΠ³Π΄Π° Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ подаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, состоящСС ΠΈΠ· 2 чисСл, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΎΠΌ ‘+’, ‘-‘, ‘*’, ‘/’, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π£ тСбя ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π° часа.’. И Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π½Π΅Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ β€” ‘Π£Π΄ΠΈΠ²ΠΈ мСня!’, Π½Π°Π΄ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΎΠ½ ΠΈ ΡƒΡˆΠ΅Π». Π’ эту сСкунду Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° X Π½Π°ΠΊΡ€Ρ‹Π» шквал Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… эмоций β€” ‘Ага, Ρ‰Π°. Достам АКБ 74, 5.45 ΠΈ Π·Π°ΡΡ‚Π°Π²Π»ΡŽ тСбя Ρ‚Π°Π½Ρ†Π΅Π²Π°Ρ‚ΡŒ Π»Π΅Π·Π³ΠΈΠ½ΠΊΡƒ ΠΈ Π½Π°ΠΏΠ΅Π²Π°Ρ‚ΡŒ НадСТду Π‘Π°Π±ΠΊΠΈΠ½Ρƒ β€” ‘Π’ΠΈΠ½ΠΎΠ²Π°Ρ‚Π° Π»ΠΈ я’. Π’ΠΎ Π΄ΠΈΠ²Ρƒ Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ρ‚Π°Π½Ρ†ΡƒΠΉ сколько Ρ…ΠΎΡˆΡŒβ€¦ ‘.

Но эмоции Π½Π° Ρ‚ΠΎ ΠΈ эмоции, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ мСсто Π·Π΄Ρ€Π°Π²ΠΎΠΌΡƒ смыслу. Π“Ρ€ΡƒΠ±ΠΎΡΡ‚ΡŒ β€” Π½Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΎΡ†Π΅ΡΡ пошСл, мысли Π·Π°Π±ΡƒΡ€Π»ΠΈΠ»ΠΈ: Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ calc.exe, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ООП Π½Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ„ΠΈΠ³Π΅Π½Π½Ρ‹ΠΉ парсСр выраТСния ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Но Π½Π΅Ρ‚. ВсСго ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π° часа. ΠœΠΎΠΆΠ΅Ρ‚ просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ? Как ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ? ΠŸΡƒΡ‚ΡŒ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ β€” ‘БдСлаю ΠΊΠ°ΠΊ смогу ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° с запятой. ΠžΡ… ΡƒΠΆ ΠΈ постановочка, ΠΎΡ… ΡƒΠΆ ΠΈ собСсСдованиС’. ΠœΠΈΠ½ΡƒΡ‚ Ρ‡Π΅Ρ€Π΅Π· 20 Π½Π° Π»ΠΈΡ†Π΅ X’Π° появилась ΡƒΠ»Ρ‹Π±ΠΊΠ°. Π•Π³ΠΎ осСнило! А Ρ‡Ρ‚ΠΎ Ссли Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТал Π±Ρ‹ всСго 1 строку, Ρ‚.Π΅. всСго 1Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой Π½Π΅ считая ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹? Π‘ΠΊΠ°Π·Π°Π½ΠΎ β€” сдСлано. К ΠΊΠΎΠ½Ρ†Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ часа Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎ. 2 часа. ΠŸΡ€ΠΈΡˆΠ΅Π» ΡƒΡΡ‚Π°Π²ΡˆΠΈΠΉ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΌΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΉ Y. ‘Ну ΠΊΠ°ΠΊ?’ β€” спросил ΠΎΠ½ X’Π°. ‘Π“ΠΎΡ‚ΠΎΠ²ΠΎ!’ β€” ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Ρ‚ΠΎΡ‚.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΎΠ·Π³ΠΎΠ²Π·Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° java

Π˜Ρ‚Π°ΠΊ, Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΈ Π½Π°ΠΌ с Π’Π°ΠΌΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ X, Π·Π°Π΄Π°Ρ‡ΠΊΡƒ. Π’ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ точная Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° задания: НСобходимо Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ для простого выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ содСрТал Ρ€ΠΎΠ²Π½ΠΎ 1 строчку ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠΌΠ΅Π» ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒ 2 числа. 1 строчка β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ 1 Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ². Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классы ΠΈΠ· jdk. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ выраТСния Β«7 + 4Β», Β«-12.0 * 14.12Β» Π±Π΅Π· скобок ΠΈ ΠΊΠ°ΠΊΠΈΡ… Π»ΠΈΠ±ΠΎ хитростСй. РСшСниС Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² 1 статичСском ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅, выводящСго Π² консоль Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ main Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ β€” Π² Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π‘ ограничСниями, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ всС. Π›ΡŽΠ±Ρ‹Π΅ Ρ‚Ρ€ΡŽΠΊΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹

Π’ java 7 это дСлаСтся довольно просто ΠΈ Ρ‚ΡƒΡ‚ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π³Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΠΆΠ΅Ρ€Ρ‚Π²ΡƒΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ. Класс Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΆΠ°Ρ‚ΡŒ Π½Π° спойлСр Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ 2008 Π³ΠΎΠ΄Ρƒ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Ρ€ΡŽΠΊ Π±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡˆΠ΅Π», поэтому Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ X Ρ€Π΅ΡˆΠΈΠ» эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ своСму. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΊΠΎΠ΄ всС Ρ€Π°Π²Π½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ java 7, ΡƒΠΆ проститС.

Как Π² извСстной пСсни: Ну Ρ‡Ρ‚ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½Ρƒ Ρ‡Ρ‚ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, устроСна Ρ‚Π°ΠΊ java, ΠΆΠ΅Π»Π°ΡŽΡ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΆΠ΅Π»Π°ΡŽΡ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΆΠ΅Π»Π°ΡŽΡ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ будСт…

Но признаСмся сСбС, этот ΠΊΠΎΠ΄ слишком Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΉ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ повторСния. А Ρ‡Ρ‚ΠΎ Ссли ΡƒΡΠΈΠ»ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ вовсС? НС сразу, Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ всС ΠΆΠ΅ нашлось.

Π’Π°ΠΊ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ, Π½ΠΎ ΠΌΠΎΠ·Π³ Π²ΠΎΡ‚ Π²ΠΎΡ‚ взорвСтся. Π― Π΄ΡƒΠΌΠ°ΡŽ найдСтся Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ этом руководствС ΠΌΡ‹ расскаТСм, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° Java для Android. Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ создавали прилоТСния, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с нашим ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ руководством ΠΏΠΎ написанию ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прилоТСния для Android:

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. simplecalcfeaturedimag 151120. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-simplecalcfeaturedimag 151120. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° simplecalcfeaturedimag 151120. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² Android Studio Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: Start a new Android Studio project ΠΈΠ»ΠΈ File β€” New β€” New Project :

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. calcnewproject 151124. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-calcnewproject 151124. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° calcnewproject 151124. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Для этого руководства ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Β« Add an Activity to Mobile Β» ΠΎΠΏΡ†ΠΈΡŽ Β« EmptyActivity Β», для Β« MainActivity Β» ΠΌΡ‹ оставили имя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – Β« Activity Β». На этом этапС структура Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅. Π£ вас Π΅ΡΡ‚ΡŒ MainActivity Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ„Π°ΠΉΠ» activity_main.xml Π² ΠΏΠ°ΠΏΠΊΠ΅ layout :

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. simplecalcheirarchy 151130. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-simplecalcheirarchy 151130. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° simplecalcheirarchy 151130. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ привязки Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. simplecalcdatabinding 151138. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-simplecalcdatabinding 151138. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° simplecalcdatabinding 151138. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°

Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Андроид? Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ нашС руководство дальшС.

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ основных элСмСнта:

RelativeLayout β€” опрСдСляСт, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранС. RelativeLayout ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для позиционирования Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈΠ»ΠΈ ΠΊ самим сСбС.

TextView β€” элСмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния тСкста. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с этим элСмСнтом. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TextView отобраТаСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний.

Button β€” Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΊΠ»ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈ создании простого прилоТСния для Андроид ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ для Ρ†ΠΈΡ„Ρ€ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² дСйствий Π² ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. simplecalclayout0 161205. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-simplecalclayout0 161205. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° simplecalclayout0 161205. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Код ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ интСрфСйса. НиТС прСдставлСн Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ сокращСнной вСрсии Ρ„Π°ΠΉΠ»Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π° activity_main :

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ класс DecimalFormat для форматирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ дСсятичного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° позволяСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎ дСсяти Π·Π½Π°ΠΊΠΎΠ² послС запятой.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° Ρ†ΠΈΡ„Ρ€Ρ‹

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. simplecalclayout 151158. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-simplecalclayout 151158. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° simplecalclayout 151158. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! ΠœΡ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ созданиС простого ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Андроид сами.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если Π²Ρ‹ запуститС ΠΈ протСстируСтС Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ: 1) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΠ³Π΄Π° editText ΠΎΡ‡ΠΈΡ‰Π΅Π½ ( Ρ‚. Π΅. Π±Π΅Π· нСобходимости Π²Π²ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ†ΠΈΡ„Ρ€Ρ‹ ), 2) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ вычислСния послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Β« Π Π°Π²Π½ΠΎ Β».

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ свои ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π΅ΠΌΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π—Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, подписки, Π»Π°ΠΉΠΊΠΈ, Π΄ΠΈΠ·Π»Π°ΠΉΠΊΠΈ, ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ Π²Π°ΠΌ ΠΏΠΎΠΊΠ»ΠΎΠ½!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ГрафичСский ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ графичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ поТалуйста, ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΆ Ρ‚ΡƒΠ³ΠΎ ΠΈΠ΄Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swing))) Если ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ максимально нубовским.

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. tick. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:ГрафичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€. НСт ΠΈΠ΄Π΅ΠΉ
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ я наТимаю +-*/, стираСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π² тСкстовом ΠΏΠΎΠ»Π΅, ΠΌΠ½Π΅.

ГрафичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Π•ΡΡ‚ΡŒ Ρƒ ΠΊΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π±Ρ‹Ρ‚ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ graphics.h?

ГрафичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь.Π£ мСня Π΅ΡΡ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт простыС арифмСтичСскиС дСйствия Π½Π°Π΄ числами.

РСшСниС

Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΌΠΎΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΏΡ€ΠΎΡˆΡƒ мСня ΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ старый ΠΊΠΎΠ΄, просто даю ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ )
На Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ ΡƒΠΆΠ΅ Π³ΠΎΠ΄Ρ‹ (это строчный ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€)

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ графичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Мой ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π½ΠΈΠΊ Π½Π΅ стал Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ zip-Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ тСкст. Π­Ρ‚ΠΎ.

ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ списка строк, графичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅, ΠΊΡ‚ΠΎ Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚! ΠžΡ‡Π΅Π½ΡŒ Π½Π°Π΄ΠΎ,хотя Π±Ρ‹ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ ΠΈΠ· этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ!

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ графичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ «Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ»?
Π”Π°ΠΆΠ΅ Π½Π΅ знаю, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ графичСский ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, Π½ΠΎ Π½Π΅ простой, Π°, Ρ‚Π°ΠΊ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° JavaScript

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. image loader. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, Π΄Ρ€ΡƒΠ·ΡŒΡ!

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ с Π²Π°ΠΌΠΈ, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия, напишСм простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° JavaScript.

Π–Π΅Π»Π°Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Ρƒ мСня послС просмотра ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, посвящСнного созданию Β«simple calculatorΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оказался Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ симпл ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠΌΠ΅Π» Π΄Π΅Π»Π°Ρ‚ΡŒ.

Наш ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ true simple (42 строки ΠΊΠΎΠ΄Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ), Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ.

Π‘Π΅Π· Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… прСдисловий, приступаСм ΠΊ Π΄Π΅Π»Ρƒ.

Наша Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° выглядит Ρ‚Π°ΠΊ:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, создаСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° ΠΈ ΠΏΠΎΠ»Π΅ для Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚:

ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. image loader. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java Ρ„ΠΎΡ‚ΠΎ. ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° java. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π° сторонС сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ производится расчСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Если Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, 4 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ схСмС ) ΠΈ, допустим, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ЯП (язык программирования), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, с использованиС сСрвСра прилоТСния (допустим WildFly/JBoss)+ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ JavaFX), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Кнопки Π±ΡƒΠ΄ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ скрипту.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ создаСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹:

Наша строка с символами выглядит Ρ‚Π°ΠΊ:

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π΄Π°Π½Π½ΡƒΡŽ строку Π² массив ΠΈ создаСм ΠΊΠ½ΠΎΠΏΠΊΠΈ:

Находим созданныС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ добавляСм ΠΊ Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Β«ΠΊΠ»ΠΈΠΊΒ»:

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ символы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Для этого Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Β«Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши» ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Β«DocumentΒ» ΠΈΠ»ΠΈ Β«WindowΒ», Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ значСния свойства Β«ΠΊΠ»ΡŽΡ‡Β» клавиши, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярного выраТСния:

ΠœΠ΅Ρ‚ΠΎΠ΄ Β«matchΒ» Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°: ΠΎΠ½ Π½Π΅ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«calcΒ» Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π² Π½Π΅ΠΌ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

Π‘Π°ΠΌΠΎ условиС Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ‚Π°ΠΊ: Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ event.key являСтся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· символов, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ([]; Ρ†ΠΈΡ„Ρ€Π° ΠΎΡ‚ 0 Π΄ΠΎ 9, Π·Π½Π°ΠΊΠΈ дСлСния, умноТСния, слоТСния, вычитания, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈΠ»ΠΈ Π·Π½Π°ΠΊ равСнства; обратная косая Ρ‡Π΅Ρ€Ρ‚Π° β€” экранированиС) ΠΈΠ»ΠΈ (| β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π°Ρ†ΠΈΡ) Backspace, ΠΈΠ»ΠΈ Enter, Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ calc с event.key Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΈΠ½Π°Ρ‡Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ (Shift Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ отбрасываСтся).

Наша главная (ΠΈ СдинствСнная) функция Β«calcΒ» выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (ΠΊΠΎΠ΄ слСдуСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ снизу Π²Π²Π΅Ρ€Ρ…):

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΠ° слов ΠΎ заявлСнной ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Β«evaluateΒ» (Ρ€Π°Π½Π΅Π΅ Β«evalΒ») ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Math.js ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ большиС возмоТности. ΠžΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° эти возмоТности, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» нашСго ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ символы ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, прСдусмотрСв Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (рСгулируя количСство Π·Π½Π°ΠΊΠΎΠ² послС запятой с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β«toFixedΒ») ΠΈ Ρ‚.Π΄.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. НадСюсь, Π²Ρ‹ нашли для сСбя Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅. Π₯ΠΎΡ€ΠΎΡˆΠΈΡ… Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ счастливого ΠΊΠΎΠ΄ΠΈΠ½Π³Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *