рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП Android рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред рднрд╛рдЧ 1

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



рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП Android рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред рднрд╛рдЧ 1

рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдФрд░ рдЯреИрдмрд▓реЗрдЯ рд╣рдорд╛рд░реЗ рдмреИрдЧ рдФрд░ рдЬреЗрдм рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднреА рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рд░рд╣реА рд╣реИред рдпрд╣ рдПрдХ рдорд╣рд╛рди рд╡рд┐рдХрд╛рд╕ рдордВрдЪ рд╣реИ - рдПрдкреАрдЖрдИ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдпрд╣ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдЬреЛ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рдкреАрд╕реА рдкрд░ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдмрдирд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкрд░рд┐рдЪрдп рдХреЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯрд╛рдЗрдорд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрдкрдХреЛ Android API рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рднреА рджреЗрддрд╛ рд╣реИред рдкрд╛рдареНрдпрдХреНрд░рдо рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛, рдПрдХреНрд╕рдПрдордПрд▓ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдордЭ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рднреА рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рд╢реБрд░реБрдЖрдд рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛: рдПрдВрдбреНрд░реЙрдЗрдб рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 4.2 (рдЬреЗрд▓реА рдмреАрди) рд╣реИ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдЖрд░реЗрдЦ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЕрднреА рднреА рд╡реНрдпрд╛рдкрдХ рдирд╣реАрдВ рд╣реИред рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ: 4.0 (рдЖрдЗрд╕рдХреНрд░реАрдо рд╕реИрдВрдбрд╡рд┐рдЪ) рдпрд╛ 2.3 (рдЬрд┐рдВрдЬрд░рдмреНрд░реЗрдб), рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рдВрд╕реНрдХрд░рдг рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛рдиреА рд╕рдВрд╕реНрдХрд░рдг 2.3 рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдХреЛрдб рднреА 4.2 рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛), рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рдореЗрд╢рд╛ рдкреБрд░рд╛рдиреЗ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ 4.0 рдФрд░ 2.3 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдмрдВрдбрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдЖрдкрдХреЛ JDK 6 (рд╕рд┐рд░реНрдл JRE рдирд╣реАрдВ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб gcj рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╣рдг рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ ред рдЕрдм рдПрдХреНрд▓рд┐рдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрди рдирд╛рдордХ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ BuildSDK 4.0.3 рдФрд░ рдиреНрдпреВрдирддрдо рдПрд╕рдбреАрдХреЗ 2.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдФрд░ (рдЧреНрд░рд╣рдг рдореЗрдВ) рдмреНрд▓реИрдВрдХрдРрдХреНрдЯрд┐рд╡рд┐рдЯреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдЫрд╡рд┐

рдореЗрд░реА рдкрд╣рд▓реА Android рдкрд░рд┐рдпреЛрдЬрдирд╛: рдЗрдВрдЯрд░рдлрд╝реЗрд╕

рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХ рдЯрд╛рдЗрдорд░ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж 10 рд╕реЗрдХрдВрдб рдХреА рдЙрд▓рдЯреА рдЧрд┐рдирддреА рджрд┐рдЦрд╛рдПрдЧрд╛ред рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрдпрд╛ рджреЗрдЦреЗрдЧрд╛ред рдЖрдкрдХреЛ рд░реЗрд╕ / рд▓реЗрдЖрдЙрдЯ / activity_countdown.xml рдЦреЛрд▓рдиреЗ рдФрд░ рдПрдХ XML рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЧреНрд░рд╣рдг рд╕рдВрдкрд╛рджрдХ рдпрд╛ рдПрдХ рдкрд╛рда / XML рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд░реНрдЬ рдХрд░реЗрдВ:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/time_display_box" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="60dp" android:text="@string/_00_30" android:textAppearance="?android:attr/textAppearanceLarge"/> <Button android:id="@+id/startbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/time_display_box" android:layout_centerHorizontal="true" android:layout_marginTop="41dp" android:text="@string/start" /> </RelativeLayout> 


рд╕реНрдЯреНрд░рд┐рдВрдЧ / рдкреНрд░рд╛рд░рдВрдн рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ / __ 00_30 рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЙрдирдХреЗ рдорд╛рди res / рдорд╛рди / strings.xml рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗ:
 <string name="start">Start</string> <string name="_00_30">00:30</string> 


рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИ: рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЪрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдореЗрд░реА рдкрд╣рд▓реА Android рдкрд░рд┐рдпреЛрдЬрдирд╛: рдХреЛрдб

рдЕрдм рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЙрд▓рдЯреА рдЧрд┐рдирддреАActivity.java рдЦреЛрд▓реЗрдВ - рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХрд╛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдЖрдкрдХреЛ рдСрдирдХреНрд░рд┐рдПрдЯ () рд╡рд┐рдзрд┐ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди "рд╕реНрдЯрдм" рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреНрд░рд┐рдПрдЯ рд╣реЛрддреЗ рд╣реА рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕рдореЗрдВ рдХреЛрдИ рднреА рдлрдВрдХреНрд╢рди рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЧреНрд░рд╣рдг рдПрдХ рдЦрд╛рд▓реА onCreateOptionsMenu () рд╡рд┐рдзрд┐ рднреА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдм рддрдХ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗ)ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рджрд░реНрдЬ рдХрд░реЗрдВ:
 public class CountdownActivity extends Activity { private static final int MILLIS_PER_SECOND = 1000; private static final int SECONDS_TO_COUNTDOWN = 30; private TextView countdownDisplay; private CountDownTimer timer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_countdown); countdownDisplay = (TextView) findViewById(R.id.time_display_box); Button startButton = (Button) findViewById(R.id.startbutton); startButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { try { showTimer(SECONDS_TO_COUNTDOWN * MILLIS_PER_SECOND); } catch (NumberFormatException e) { // method ignores invalid (non-integer) input and waits // for something it can use } } }); } } 


рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдХрд┐рддрдирд╛ рд╕рд░рд▓ рдерд╛: рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреАрдЖрдИ рдореЗрдВ рдПрдХ рдХрд╛рдЙрдВрдЯрдбрд╛рдЙрдирдЯрд╛рдЗрдорд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдордиреЗ рдЗрд╕реЗ рдФрд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╡рд░реНрдЧ рдХреЗ рдирд┐рдЬреА рдЧреБрдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдкреНрд░рджрд░реНрд╢рди рдХреНрд╖реЗрддреНрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ред OnCreate () рд╡рд┐рдзрд┐ рдореЗрдВ, рд╣рдордиреЗ рдЕрдкрдиреЗ XML рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП setContentView рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдРрд╕реЗ R.foo.bar рд╕рд┐рдВрдЯреИрдХреНрд╕ Android рдореЗрдВ XML рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдорд╛рдирдХ рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрдирд╕реЗ рдХрдИ рдмрд╛рд░ рдорд┐рд▓реЗрдВрдЧреЗред
findViewById рдПрдХ рдФрд░ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣рд╛рдБ рдпрд╣ рдЯрд╛рдЗрдорд░ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рдФрд░ XML рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрдЯрд╛рд░реНрдЯ рдмрдЯрди рдХреЗ рд▓рд┐рдВрдХ рджреЗрддрд╛ рд╣реИред рдмрдЯрди рдХреЗ рд▓рд┐рдП, рддрд╛рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХреЗрдВ, OnClickListener рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЗрд╕рдХрд╛ рдСрдирдХреНрд▓рд┐рдХ () рд╡рд┐рдзрд┐ред рдпрд╣рд╛рдВ, рд╡рд╣ рдХреЗрд╡рд▓ рджреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛ (рдЬрд┐рд╕рдореЗрдВ рдЕрдм рдХреЛрдб рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рд╢реЛрдЯрд╛рдЗрдорд░ () рд╡рд┐рдзрд┐ рдХрд╣рддрд╛ рд╣реИред

рддреЛ showTimer () рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ:
 private void showTimer(int countdownMillis) { if(timer != null) { timer.cancel(); } timer = new CountDownTimer(countdownMillis, MILLIS_PER_SECOND) { @Override public void onTick(long millisUntilFinished) { countdownDisplay.setText("counting down: " + millisUntilFinished / MILLIS_PER_SECOND); } @Override public void onFinish() { countdownDisplay.setText("KABOOM!"); } }.start(); } 


CountDownTimer рд╡рд░реНрдЧ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЯрд╛рдЗрдорд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдЕрдЧрд░ рд╣реИ рддреЛ рдЙрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░ рджреЗрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЯрд╛рдЗрдорд░ рдмрдирд╛рддреЗ рд╣реИрдВ (рд╢реЛрдЯрд╛рдЗрдорд░ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ) (рд╡рд┐рдзрд┐) рдФрд░ рдирдореВрдирд╛ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмреАрдЪ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рдеред рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмреАрдЪ рдмреАрддрдиреЗ рдХреЗ рдмрд╛рдж, рдСрдирдЯрд┐рдХ () рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

CountDownTimer рдПрдХ рд╕рд╛рд░ рд╡рд░реНрдЧ рд╣реИ, рдФрд░ __onTick () рдФрд░ __onFinish () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдЙрдкрд╡рд░реНрдЧ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо onTick () рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рдж рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдСрдирдлрд┐рдирд┐рд╢ () рд╡рд┐рдзрд┐, рдЬреЛ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдкреНрд░рд╛рд░рдВрдн () рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рдПрдХреНрд▓рд┐рдкреНрд╕ рдореЗрдВ "рд░рди" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдореБрд▓реЗрдЯрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдореБрд▓реЗрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рджреЗрдЦреЗрдВред

рдмрдзрд╛рдИ рд╣реЛ, рдЖрдкрдиреЗ рдЕрднреА рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ Android рдРрдк рдмрдирд╛рдпрд╛ рд╣реИред рдЗрд╕ рдкрд░рд┐рдЪрдп рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ рдФрд░ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВрдЧреЗ: рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХреЗ рд╕рдордп, рд╕реНрдЯреЙрдк рдмрдЯрди рдФрд░ рдореЗрдиреВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ред рд╣рдо рдЗрд╕реЗ рдПрдХ рдЕрд╕рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рднреА рдЪрд▓рд╛рдПрдВрдЧреЗ, рдХрд┐рд╕реА рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдирд╣реАрдВред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреНрд░реЗрдирд┐рдВрдЧ рд╕реЗрдХреНрд╢рди рдХреЛ рджреЗрдЦреЗрдВред

рдЬреВрд▓рд┐рдпрдЯ рдХреЗрдореНрдк
рдореВрд▓ рд▓реЗрдЦ

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


All Articles