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

рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдШрдбрд╝реА рдореЗрдВ рдПрдХ
рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рд╣реИ ,
рдЗрд╕рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдПрдкреАрдЖрдИ , рдПрдХ
рдСрдирд▓рд╛рдЗрди рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг - рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдКрдм рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рдЦрд┐рд▓реМрдирд╛ рд╣реИред
рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ? рджрд╛рдИрдВ рдУрд░ рддреАрди рдмрдЯрди, рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдмрдЯрди, 144x168 рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рдиред
рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо - рд╡реЙрдЪрдлреЗрд╕, рдШрдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓ рдФрд░ рд╡рд╛рдЯрдЪреИрдк - рдШрдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧред рдкреВрд░реНрд╡ рдмрдЯрди рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдмрд╛рдж рд╡рд╛рд▓рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реНрд╡ рдХреЛ рдШрдбрд╝реА рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЛрдб рдореЗрдВ рдмрдЯрди рдХреЗ рд╕рд╛рде рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ, рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдордзреНрдп рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореЗрдиреВ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖ рдкрдЯреНрдЯреА рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдПрдХ рдШрдбрд╝реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдЗрдВрдЯрд░реНрдирд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рди рд╣реИрдВ, рдЖрдк рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдмрд┐рдирд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ

рд╣рдо
Cloudpebble.net рдкрд░
рдЬрд╛рддреЗ рд╣реИрдВ , рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, SDK 2 рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред

рдУрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ - рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рд╕рдВрдХрд▓рди - рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА
main.c - рд╣рдорд╛рд░реА рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рд╣реИ

рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬрд╛рдПрдВред

рдРрдк рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдПрдХ рдШрдбрд╝реА рддреНрд╡рдЪрд╛ рдпрд╛ рдПрдХ рдЖрд╡реЗрджрдиред
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдШрдбрд╝реА рдореЗрдиреВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓рдВрдмрд╛ рдирд╛рдо - рдлреЛрди рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ (рдореЗрдиреВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ)
рдореЗрдиреВ рдЫрд╡рд┐ - рдШрдбрд╝реА рдореЗрдиреВ рдореЗрдВ рдЪрд┐рддреНрд░ред
UUID рдШрдбрд╝реА рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордпред рдпрджрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдХреЗ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдПрдХ рдирдП рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдВрдХрд▓рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЖрдк рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд░рди рдмрд┐рд▓реНрдб рдмрдЯрди) рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдирд░реА рдФрд░ рдПрдХ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рдлреЛрди рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рддреБрд░рдВрдд рд╡реЙрдЪ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ ...
рдЕрдм main.c рдЦреЛрд▓реЗрдВ, рдФрд░ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдХреЗ рдмрдЬрд╛рдп, рдирд┐рдореНрди рдХреЛрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ:
#include "pebble.h" Window *window; int main(void) { window = window_create(); window_stack_push(window, true); app_event_loop(); window_destroy(window); }
рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рдж - рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП
рдПрдкреАрдЖрдИ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдВрдХред
рдмреЗрдЯрд╛, рдпрд╣ рд╣рдорд╛рд░реА рдмрд╛рдЗрдмрд▓ рд╣реИ ... рдирд╣реАрдВ рдкрд┐рддрд╛рдЬреА, рдпрд╣ рд╣рдорд╛рд░рд╛ рдХрд╛рдорд╕реВрддреНрд░ рд╣реИредрдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЦрд╛рд▓реА рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдмрдЯрди рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛; рдЬрдм рдЖрдк рдмреИрдХ рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рдХреБрдЫ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдВрдбреЛ рдХрд╛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
window_set_background_color(window, GColorBlack);
рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:
GColorBlack - рдХрд╛рд▓рд╛ рд░рдВрдЧ,
GColorWhite - рд╕рдлреЗрдж рд░рдВрдЧ,
GColorClear -
рдкрд╛рд░рджрд░реНрд╢реА рд░рдВрдЧ рдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд┐рдЫрд▓реА рдкрд░рдд рджрд┐рдЦрд╛рдИ рджреЗрдЧреА (рдпрджрд┐ рдпрд╣ рдереА)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╡реНрд╣рд╛рдЗрдЯ рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рд╕рдлреЗрдж рдкреГрд╖реНрдарднреВрдорд┐ рдереАред рдмреЗрд╢рдХ, рдпрд╣
window_create рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд╛рда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдкрд╛рда рдкрд░рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдкрд░рдд рдмрдирд╛рдПрдБ:
TextLayer *text_layer;
рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЖрд░рдВрдн рдФрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:
text_layer = text_layer_create(GRect(0, 0, 144, 168));
рдЖрдпрдд - рдЖрдпрдд рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред рдЙрд╕реЗ рдирд┐рдореНрди рдХреНрд░рдо рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ - рдкрд╣рд▓реЗ рджреЛ рдирдВрдмрд░ рддреНрд░рд┐рдХреЛрдг рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВ - x, yред рджреВрд╕рд░реЗ рджреЛ рдирдВрдмрд░ рд╣рдорд╛рд░реЗ рдЖрдпрдд рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рд╣реИрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрд╣ рдЪрд┐рддреНрд░ рдмрдирд╛рдпрд╛:

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рд╕реНрдХреНрд░реАрди рдХреА рднреМрддрд┐рдХ рд╢реБрд░реБрдЖрдд рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЛрдб рдореЗрдВ, рдкрд╣рд▓реЗ 16 рдкрд┐рдХреНрд╕реЗрд▓ рд╢реАрд░реНрд╖ рдкрдЯреНрдЯреА рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ, рдЕрдЧрд░ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛ред
рдпрд╣рд╛рдБ 1: 1 рдЪрд┐рддреНрд░ рд╣реИ:

рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЗрд╕реЗ рдЦреЛрд▓рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдлрд╝реЙрдиреНрдЯ рдХрд╛ рд░рдВрдЧ рдХрд╛рд▓рд╛ рд╣реИ, рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ рд╕рдлреЗрдж рд╣реИ, рдЙрдЪрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд╝реЙрдиреНрдЯ рд░реИрд╕реНрдЯрд░ рдЧреЛрдерд┐рдХ 14 рд╣реИред
рд╣рдо рдпрд╣ рд╕рдм рдмрджрд▓рддреЗ рд╣реИрдВред рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд▓реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рд░рдВрдЧ рд╕рдлреЗрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
text_layer_set_text_color(text_layer, GColorWhite);
рдкреГрд╖реНрдарднреВрдорд┐ (рдкрд╛рда рдкрд░рдд рдХреА) рдкрд╛рд░рджрд░реНрд╢реА рдмрдирд╛рдИ рдЧрдИ рд╣реИ:
text_layer_set_background_color(text_layer, GColorClear);
рдХреЗрдВрджреНрд░ рд╕рдВрд░реЗрдЦрдг:
text_layer_set_text_alignment(text_layer, GTextAlignmentCenter);
рдФрд░ рдлрд╝реЙрдиреНрдЯ рдХреБрдЫ рдФрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ:
text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
рдпрд╣рд╛рдБ рд╕рднреА рдорд╛рдирдХ рдлреЛрдВрдЯ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИFONT_KEY_GOTHIC_14
FONT_KEY_GOTHIC_14_BOLD
FONT_KEY_GOTHIC_18
FONT_KEY_GOTHIC_18_BOLD
FONT_KEY_GOTHIC_24
FONT_KEY_GOTHIC_24_BOLD
FONT_KEY_GOTHIC_28
FONT_KEY_GOTHIC_28_BOLD
FONT_KEY_BITHAM_30_BLACK
FONT_KEY_BITHAM_42_BOLD
FONT_KEY_BITHAM_42_LIGHT
FONT_KEY_BITHAM_42_MEDIUM_NUMBERS
FONT_KEY_BITHAM_34_MEDIUM_NUMBERS
FONT_KEY_BITHAM_34_LIGHT_SUBSET
FONT_KEY_BITHAM_18_LIGHT_SUBSET
FONT_KEY_ROBOTO_CONDENSED_21
FONT_KEY_ROBOTO_BOLD_SUBSET_49
FONT_KEY_DROID_SERIF_28_BOLD
рдПрдХ рдмрдЪреНрдЪрд╛ рдмрдирд╛рдирд╛ рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдордиреЗ рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдХреА рдкрд░рдд рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рдкрд░рдд рдЬреЛрдбрд╝реЗрдВ:
layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer));
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рда рдХреЛ рдкрд░рдд рдкрд░ рд▓рд┐рдЦреЗрдВ:
text_layer_set_text(text_layer, "Hi, habrahabr!");
рдФрд░ рдЬрдм рдЖрдк рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ, рддреЛ рд╕реНрдореГрддрд┐ рдХреЛ рдореБрдХреНрдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ:
text_layer_destroy(text_layer);
рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдФрд░ рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рд╕реНрд░реЛрдд рд╣реИред рдЖрдк рд╕рдВрдкрд╛рджрдХ рдХреЛ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдВрдЧ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдореИрдВрдиреЗ рдШрдбрд╝реА рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрд╛ рд╣реИ (!) #include "pebble.h" Window *window; TextLayer *text_layer; int main(void) { window = window_create(); window_set_background_color(window, GColorBlack); window_stack_push(window, true); text_layer = text_layer_create(GRect(0, 0, 144, 168)); text_layer_set_text_color(text_layer, GColorWhite); text_layer_set_background_color(text_layer, GColorClear); text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD)); text_layer_set_text_alignment(text_layer, GTextAlignmentCenter); layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer)); text_layer_set_text(text_layer, "Hi, habrahabr!"); app_event_loop(); text_layer_destroy(text_layer); window_destroy(window); }
рдЕрдВрдд рдореЗрдВ, рдЖрдк рд╣рдорд╛рд░реА рдШрдбрд╝реА рдореЗрдВ рдПрдХ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ (рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рдордп) рдХрд╛ рдПрдХ рдЪрд░ рдмрдирд╛рдПрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЛ рдЙрд╕рдореЗрдВ
POSIX рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбрд╛рд▓реЗрдВ
time_t now = time(NULL);
рд╣рдо рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЗ рдореВрд▓реНрдп рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ - рд╡рд░реНрд╖, рдорд╣реАрдирд╛, рджрд┐рди, рдШрдВрдЯрд╛, рдорд┐рдирдЯ, рджреВрд╕рд░рд╛, рд╕рд╛рде рд╣реА рджрд┐рди рд╕реЗ рд╕рдкреНрддрд╛рд╣, рджрд┐рди рд╕реЗ рд╡рд░реНрд╖ рдФрд░ AM / PM:
struct tm *current_time = localtime(&now);
рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЙрд╕рдореЗрдВ рд╕рдордп рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдкреЛрд╕рд┐рдХреНрд╕ рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╕рдордп рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкрдардиреАрдп рджреГрд╢реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреВрдБрдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЪрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдвреЗрд░ рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдкрдбрд╝реА рд░рд╣рддреА рд╣реИ, рд╣рдореЗрдВ рдЙрди рднрд╛рдЧреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдЯреНрд░реИрдлрд╝реНрдЯрд╛рдЗрдо рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рд▓реЗрддрд╛ рд╣реИ: рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЪрд░, рдЙрд╕рдХрд╛ рдЖрдХрд╛рд░, рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдкреНрд░рд╛рд░реВрдк, рд╡рд╣ рдЪрд░ рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рд╕реНрдерд┐рдд рд╣реИред рдЪреВрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрд╣ рдкрд╛рда рдкрд░рдд рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдЪрд░ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред
static char time[] = "00:00:00";
рдмреЗрд╢рдХ, рд╢реБрд░реБрдЖрддреА 00:00:00 рдХреЗ рджреМрд░рд╛рди рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЖрдк "it" рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рджреВрд╕рд░реЗ рддрд░реНрдХ рдореЗрдВ рдЖрдХрд╛рд░ рдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
strftime(time, sizeof(time), "%T", current_time);
рдпрджрд┐ current_time рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдордп рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХреНрд╖рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдЪрд░ рдЙрд╕ рд╕рдордп рдХреЗ рд╕рдордп рдкрд░ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕рдордп рдорд╛рди рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ рдЬрдм рд╕реНрдЯреНрд░реИрдЯрд┐рдлрд╝ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рддреАрд╕рд░реЗ рддрд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ -% T рдкреНрд░рд╛рд░реВрдк рдкреНрд░рд▓реЗрдЦрди рдЖрд╕рд╛рдиреА рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд╛рдо рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдпрд╣рд╛рдВ ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ,% T "% H:% M:% S" рдХреЗ рд╕рдорд╛рди рд╣реИред рдХреЙрд▓реЛрдирд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдШрдВрдЯреЗ, рдорд┐рдирдЯ рдФрд░ рд╕реЗрдХрдВрдбред
рдЕрдм рдЖрдк рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рд▓реЗрдпрд░ рдкрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
text_layer_set_text(text_layer, time);
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдореЗрдВ рдПрдХ рдШрдбрд╝реА рдорд┐рд▓реАред рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рд╡реЗ рд╕рд╣реА рд╕рдордп рджрд┐рдЦрд╛рдПрдВрдЧреЗред рдмрд╕ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рд╡реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рджрд┐рди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕рд╣реА рд╕рдордп рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╣рд░ рд╕реЗрдХрдВрдб рд╕рдордп рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо рдПрдХ рдРрд╕рд╛ рдлрдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░реЗрдЧрд╛, рдФрд░ рд╡рд╣рд╛рдВ рдХреЗ рд░реА-рдЖрдЙрдЯрд┐рдВрдЧ рдФрд░ рдЯрд╛рдЗрдо рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЬреБрдбрд╝реА рд╣рд░ рдЪреАрдЬ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░реЗрдЧрд╛:
static void second_tick(struct tm* tick_time, TimeUnits units_changed) { static char time[] = "00:00:00"; strftime(time, sizeof(time), "%T", current_time); text_layer_set_text(text_layer, time); }
рдЯрд╛рдЗрдорд░ рд╕реЗрд╡рд╛ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ:
tick_timer_service_subscribe(SECOND_UNIT, &second_tick);
рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рддрд░реНрдХ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рд░ рд╕реЗрдХрдВрдб рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдШрдбрд╝реА рдореЗрдВ рдХреБрдЫ рд╕реЗрдХрдВрдб рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдКрд░реНрдЬрд╛ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ рдорд┐рдирдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ 60 рдЧреБрдирд╛ рдХрдо рдЬрд╛рдЧ рд╕рдХрддреЗ рд╣реИрдВ: MINUTE_UNIT
рдпрд╛ рд╣рд░ рдШрдВрдЯреЗ: HOUR_UNIT
рдпрд╛ рд╣рд░ рджрд┐рди: DAY_UNIT
рдареАрдХ рд╣реИ, рдЖрдкрдХреЛ рддрд░реНрдХ рдорд┐рд▓рддрд╛ рд╣реИ: MONTH_UNIT, YEAR_UNIT
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЯрд╛рдЗрдорд░ рдХреЗ рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬрдмрд░рди рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ - рдареАрдХ рд╣реИ, рд╕рд┐рд░реНрдл рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рддрд╛рдХрд┐ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд░рд┐рдХреНрдд рд╕реНрдХреНрд░реАрди рдХреЛ рди рджреЗрдЦреЗрдВред рдПрдХ рджреВрдЬреЗ рдХрд╛ рд╣реЛ рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЯрд╛рдЗрдорд░ рд╣рд░ рдорд┐рдирдЯ рдЯрд┐рдХ рдЬрд╛рдП?
second_tick(current_time, SECOND_UNIT);
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реА рдШрдбрд╝реА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

рд╕реНрд░реЛрдд:
#include "pebble.h" Window *window; TextLayer *text_layer; static void second_tick(struct tm* tick_time, TimeUnits units_changed) { static char time[] = "00:00:00"; strftime(time, sizeof(time), "%T", tick_time); text_layer_set_text(text_layer, time); } int main(void) { window = window_create(); window_set_background_color(window, GColorBlack); window_stack_push(window, true); text_layer = text_layer_create(GRect(0, 0, 144, 168)); text_layer_set_text_color(text_layer, GColorWhite); text_layer_set_background_color(text_layer, GColorClear); text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD)); text_layer_set_text_alignment(text_layer, GTextAlignmentCenter); layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer)); time_t now = time(NULL); struct tm *current_time = localtime(&now); tick_timer_service_subscribe(SECOND_UNIT, &second_tick); second_tick(current_time, SECOND_UNIT); app_event_loop(); text_layer_destroy(text_layer); window_destroy(window); tick_timer_service_unsubscribe(); }
рд╕рдВрджрд░реНрдн:
Httpeble : рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рднреАрддрд░ http рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ
[рдПрди] рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдШрдбрд╝рд┐рдпреЛрдВ (рдХреИрд▓реЗрдВрдбрд░, рдореМрд╕рдо, рдЕрдиреБрд╕реНрдорд╛рд░рдХ, рдлреЛрди рдЦреЛрдЬ, рд╕реНрдорд╛рд░реНрдЯ рдШрд░, рд╕рдВрдЧреАрдд рдирд┐рдпрдВрддреНрд░рдг, рдХреИрдорд░рд╛ рдирд┐рдпрдВрддреНрд░рдг, рдЬреАрдкреАрдПрд╕, рд╕реНрдЯреЙрдХ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП HTTP рдЕрдиреБрд░реЛрдз
) рдХреА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛PapaBubaDiop рдХрдВрдХрдбрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЗрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд▓рд┐рдЦрддрд╛ рд╣реИ ред
рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде, рдХрдВрдХрдбрд╝ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ
рдХрд╛ рдПрдХ рд╡рд┐рд╢рд╛рд▓
рд╕рдВрдЧреНрд░рд╣ ред

