рдореИрдВ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдореИрдВ рдбреЛрдореЗрди рдореЙрдбрд▓, рд╕рд┐рдВрдЧрд▓рдЯрди, рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди, рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░реЗрд░рд┐рдд рд╡рд┐рдХрд╛рд╕ (рдмреАрдбреАрдбреА) рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреИрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред
рдбреЛрдореЗрди рдореЙрдбрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡рд┐рдХрд╛рд╕ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рд╢рд░реНрддреЗрдВ рдмрд╕ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕рдиреНрдирд┐рд╣рд┐рдд рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрдИ рдЕрд▓рд╛рд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЕрд▓рд╛рд░реНрдо рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рдкреНрддрд╛рд╣ рдФрд░ рд╕рдордп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде "рдЕрд▓рд╛рд░реНрдо рдЪрд╛рд▓реВ рд╣реИ"ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд▓рд╛рд░реНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рднреА рд╣реИрдВ рдЬреЛ рдЕрдЧрд▓реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордпред рдЪреВрдВрдХрд┐ рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдбреЛрдЬрд╝ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рд╛рд░реНрдо рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдЕрд▓рд╛рд░реНрдо рд╣реИрдВ: рдкрд╣рд▓рд╛ рдЕрд▓рд╛рд░реНрдо, рдбреЛрдЬрд╝ рдФрд░ рдЕрдВрддрд┐рдо рдбреЛрдЬрд╝ рдЬрдм рдбреЛрдЬрд╝ рдмрдЯрди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдирд┐рдХрдЯрддрдо рдирд┐рд░рдкреЗрдХреНрд╖ рд╕рдордп рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рднреА рд╣реИред
рдирдИ рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдмрдирд╛рдиреЗ рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ / рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рднреА рд╣реИрдВред
рдпрд╣реА рд╣реИ, рдореЗрд░реЗ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрдИ рдЕрд▓рд╛рд░реНрдо рдФрд░ рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдХреНрдпреЛрдВ рд▓рд┐рдпрд╛ред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдмрдирд╛ рд╕рдХрддрд╛ рдерд╛ рдЬреЛ рдЕрд▓рд╛рд░реНрдо рдмрдирд╛рддрд╛ / рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдирд┐рдХрдЯрддрдо рдЕрд▓рд╛рд░реНрдо рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЕрдиреНрдп рдХрдХреНрд╖рд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╣рдо рдЕрд▓рд╛рд░реНрдо рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдирдП рдЕрд▓рд╛рд░реНрдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдЕрдЧрд▓реЗ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдпрд╣ рдбреЗрдЯрд╛ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдПрдиреНрдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдореЙрдбрд▓ рдорд╛рдирд╡ рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рджреВрд╕рд░реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рдореИрдВ рдореЙрдбрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд▓рд╛рд░реНрдо рдмрдирд╛рдПрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ, рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдореЙрдбрд▓ рдЕрдЧрд▓реА рдмрд╛рд░ рд╕рд╣реА рджреЗрддрд╛ рд╣реИ, рдлрд┐рд░ рдореИрдВ рдПрдХ рдирдпрд╛ рдЕрд▓рд╛рд░реНрдо рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдкреБрд░рд╛рдиреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдмрд╛рд░ рдЕрдЧрд▓реА рдмрд╛рд░ рд╕рд╣реА рд╣реИред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░реЗрд░рд┐рдд рд╡рд┐рдХрд╛рд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдореЙрдбрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЕрд░реНрдерд╛рдд рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдпрд╣ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рддрдВрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдо рддреМрд░ рдкрд░ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд░ рдореИрдВрдиреЗ рдЕрд▓рд╛рд░реНрдо рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ / рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдФрд░ рдирд┐рдХрдЯрддрдо рдЕрд▓рд╛рд░реНрдо рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛ рдФрд░ рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рдореЙрдбрд▓ рдФрд░ рдЙрд╕рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕
рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рдЕрд▓рд╛рд░реНрдорд▓рд┐рд╕реНрдЯрдореЙрдбрд▓ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдореЙрдбрд▓ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдЬреЛ рдЕрд▓рд╛рд░реНрдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЙрдбрд▓ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдореЙрдбрд▓ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред
рдореЙрдбрд▓ рдореЗрдВ рдЕрд▓рд╛рд░реНрдо рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдЧрд▓реЗ рдЕрд▓рд╛рд░реНрдо рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдпрд╛ рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдореЙрдбрд▓ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЕрд▓рд╛рд░реНрдо рдХреНрд▓рд╛рд╕ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд▓реА рдмрд╛рд░ рдЧрдгрдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд╕рднреА рд╢рд╛рдорд┐рд▓ рдЕрд▓рд╛рд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрд▓рд╛рд░реНрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореЗрд░реА рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рдХрд┐рд╕реА рднреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реИред
рдореЙрдбрд▓ рджреЛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
IAlarmListModel - рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдИ рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдмрдирд╛рдПрдВ рдФрд░ рдЕрдЧрд▓реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рдордп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред
IListModelData - рд╡рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рднрдВрдбрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдЭ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рднреА рдЕрд▓рд╛рд░реНрдо рдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдкрдврд╝рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЪрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЕрд▓рд╛рд░реНрдо рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдпрд╣ рднреА рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЕрдЧрд▓реЗ рдЕрд▓рд╛рд░реНрдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╢рд╛рдорд┐рд▓ рдЕрд▓рд╛рд░реНрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╕рднреА рдЕрд▓рд╛рд░реНрдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдиреАрдЪреЗ рдореЙрдбрд▓ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рд╣реИрдВ:
public interface IAlarmListModel { IDisplayAlarm getNextDisplayAlarm(Date curTime); IDisplayAlarm createAlarm(); void updateAlarm(IDisplayAlarm iDisplayAlarm); void addAlarm(IDisplayAlarm iDisplayAlarm); void deleteAlarm(IDisplayAlarm item); void takeAlarmForEdit(int alarmID); IDisplayAlarm getEditingAlarm(); void saveEditingAlarm(boolean stayEditing); }
TakeAlarmForEdit () рдФрд░ saveEditingAlarm () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЕрд▓рд╛рд░реНрдо рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрджрд┐ рд╡рд╣ "рд░рджреНрдж рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпреЗ рддрд░реАрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдЪрд╛рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЕрд▓рд╛рд░реНрдо рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдПред
public interface IListModelData<T> { ArrayList<T> getItemList(); ArrayList<T> getDeletedItemList(); }
рдпрд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдЕрд▓рд╛рд░реНрдо рд╕реВрдЪрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреВрд░рд╕реНрде рдЕрд▓рд╛рд░реНрдо рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдЗрд╕рдореЗрдВ рд╡реЗ рдЕрд▓рд╛рд░реНрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдлрд┐рд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрд╕ рд╕реВрдЪреА рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрд▓рд╛рд░реНрдо рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
public class AlarmListModel implements IAlarmListModel, IListModelData<AlarmItem> { private ArrayList<AlarmItem> alarmArray = new ArrayList<AlarmItem>(); private ArrayList<AlarmItem> alarmArrayDeleted = new ArrayList<AlarmItem>(); @Override public synchronized IDisplayAlarm getNextDisplayAlarm(Date curTime) { // , . } @Override public synchronized AlarmItem createAlarm() { AlarmItem alarm = new AlarmItem(); alarm.setId(0); // , , // ID alarm.setState(EntityState.ADDED); alarm.setName("New alarm");// alarm.setIssue(8, 0, false);//8 alarm.setEnable(true);// // // false , alarm.setDay(Calendar.MONDAY, true, false); alarm.setDay(Calendar.TUESDAY, true, false); alarm.setDay(Calendar.WEDNESDAY,true, false); alarm.setDay(Calendar.THURSDAY, true, false); alarm.setDay(Calendar.FRIDAY, true, false); alarm.setDay(Calendar.SATURDAY, false, false); alarm.setDay(Calendar.SUNDAY, false, false); return alarm; } @Override public synchronized void addAlarm(IDisplayAlarm item) { AlarmItem alarm = (AlarmItem)item; if(item.getId() > 0) { ex = new Exception(" "); } alarm.setState(EntityState.ADDED); alarmArray.add(alarm); } @Override public synchronized void updateAlarm(IDisplayAlarm item) { AlarmItem alarm = (AlarmItem)item; alarmArray.set(getPositionByID(item.getId()), alarm); } @Override public synchronized void deleteAlarm(IDisplayAlarm item) { AlarmItem alarm = (AlarmItem)item; alarmArray.remove(alarm); alarm.setState(EntityState.DELETED); alarmArrayDeleted.add(alarm); } public synchronized void takeAlarmForEdit(int alarmID) { if(alarmID > 0) editAlarm = ((AlarmItem)getDisplayAlarmByID(alarmID)).clone(); else editAlarm = createAlarm(); } @Override public synchronized AlarmItem getEditingAlarm() { return editAlarm; } @Override public synchronized void saveEditingAlarm(boolean stayEditing) { if(editAlarm == null)return; if(editAlarm.getId() > 0) updateAlarm(editAlarm); else addAlarm(editAlarm); if(!stayEditing)editAlarm = null; } @Override public synchronized ArrayList<AlarmItem> getItemList() { return alarmArray; } @Override public synchronized ArrayList<AlarmItem> getDeletedItemList() { return alarmArrayDeleted; } }
рддреЛ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИред рдХреНрдпреЛрдВ рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрдврд╝реЗ рдЧрдП рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
CreateAlarm () рд╡рд┐рдзрд┐, рдЖрдкрдХреЛ рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдХреЗ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдлреИрдХреНрдЯреНрд░реА рдирд┐рд░реНрдорд┐рдд рд╡рд╕реНрддреБ рдХреЛ рдЕрд▓рд╛рд░реНрдо рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдбрдЖрд░реНрдо (рд╡рд┐рдзрд┐) рд╣реИ
AddAlarm (), updateAlarm (), deleteAlarm () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рд╛рд░реНрдо рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ, рдЕрд▓рд╛рд░реНрдо рдЖрдИрдЯрдо рд╡рд░реНрдЧ рдореЗрдВ рд░рд╛рдЬреНрдп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рд╣реИрдВ; рдпреЗ рд░рд╛рдЬреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ:
public enum EntityState { ADDED, NOT_CHANGED, CHANGED, DELETED }
рдпрд╣ рдУрдЖрд░рдПрдо рдЗрдВрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдорд╛рдирдХ рддрдХрдиреАрдХ рд╣реИ, рддрд╛рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ, рдЕрд▓рд╛рд░реНрдордИрдо рд╡рд░реНрдЧ рдЕрдкрдиреЗ рд╕рднреА рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ рдореЗрдВ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрди рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреА рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреНрдпрд╛ рдЕрдкрдбреЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВред
рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ AddAlarm рд╡рд┐рдзрд┐ рдореЗрдВ рдореИрдВ рдПрдХ рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рд╣реИ рдЬрдм рдЧрд▓рдд рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛, рд▓реЗрдХрд┐рди рдЪреБрдкрдЪрд╛рдк рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ:
ex = new Exception(" ");
рдпрд╣ рдлрд╝реАрд▓реНрдб рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЬрд╛рдБрдЪреА рдЧрдИ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдХреНрд╖реЗрддреНрд░ рд╢реВрдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ред рдмреЗрд╢рдХ, рдХреЛрдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрдм рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреА рдХрдХреНрд╖рд╛ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ рдФрд░ рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рд╕реЗ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХ рд╕рдХрддреЗред рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд░рдЦрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХреАред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдкрд╛рдпрд╛ рд╣реИред
рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдХреЗ рдПрдбрд┐рдЯ рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд░реВрдк рд╕реЗ takeAlarmForEdit (), getEditingAlarm (), saveEditingAlarm () рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╡реЗ рдЕрд▓рд╛рд░реНрдо рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдЗрд╕реЗ рдмрджрд▓ рджреЗрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред
рднрдВрдбрд╛рд░ рд╕реЗ рдорд┐рд▓реЛ
рдореЙрдбрд▓ рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХреЗрд╡рд▓ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
public interface IAlarmRepository { public abstract void load(); public abstract void save(); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореЙрдбрд▓ рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдореЙрдбрд▓ рдХреЛ рд╕рд┐рдВрдЧрд▓рдЯрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдореЙрдбрд▓ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдФрд░ рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UI, рдореЙрдбрд▓ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ рднрд╛рдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░реНрд╡рд░ рдпрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, рдЙрд╕реА рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рдореЙрдбрд▓ рддреБрд░рдВрдд рдирд╡реАрдирддрдо рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХрдорд╛рддреНрд░ рдореМрдЬреВрджрд╛ рд╡рд╕реНрддреБ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╕рд┐рдВрдЧрд▓рдЯрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдХрдИ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдирдореИрдЯрдорд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдПрдВрдЯреАрдкреИрдЯрд░реНрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рд╕рд┐рдВрдЧрд▓рдЯрди рдПрдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдирдХрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрджрд┐ рдХреБрдЫ рд╡рд░реНрдЧ рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛ рдХреА рдШреЛрд╖рдгрд╛ рд╕реЗ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдПрдХ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рднреА рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рдВрдЧрд▓рдЯрди рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЕрдЧрд░ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЛ рдПрдХ рд░рд╛рдЬреНрдп рд╕реЗ рджреВрд╕рд░реЗ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдХреЙрд▓ рд▓рдЧрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдФрд░ рдШрдЯрдХ рд╕реЗ рдПрдХ рдЕрдиреНрдп рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЙрд▓ рдЙрдирдХреЗ рдмреАрдЪ рдореЗрдВ рдШреВрдо рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдЧрд▓рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрд┐рд╕рд╕реЗ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реНрдереИрддрд┐рдХ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдВ рд░реЛрдмреЛрдЧреНрдпреВрдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЙрдбрд▓ рдХрд╛ рдХрд╛рд░рдЦрд╛рдирд╛ рд╣реИред RoboGuice рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рд╡рд░реНрдЧ рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ RoboGuice рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдВ рд╕рд┐рдВрдЧреНрд▓рдЯрди рдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЕрдиреБрдХрд░рдг рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВред
рд╕рд╣реА рд░рд╛рдЬреНрдп рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдХреЙрд▓ рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдореЙрдбрд▓ рдкрд░ рджреЛ рдХреЙрд▓ рди рд╣реЛрдВред
рдЬреИрд╕реЗ, рд╕рд┐рдВрдЧрд▓рдЯрди рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ :)ред рдореЗрд░рд╛ рдореЙрдбрд▓ рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рд╕рдВрд╕рд╛рдзрди рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдлреЙрд░реНрдо рдпрд╛ рд╕реЗрд╡рд╛ рд╣реЛред рдмрд╕ рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдкрд╛рджрди рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдЙрд╕ рдЖрдИрдбреА рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдореБрдЭреЗ рдореЙрдбрд▓ рдореЗрдВ рдЕрд▓рд╛рд░реНрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рддреЛ рд╕реАрдЦреЗрдВ рдХрд┐ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рдкрдХрд╛рдирд╛ рд╣реИред
рдпрд╣рд╛рдБ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛрдб рд╣реИ:
public class AlarmRepository implements IAlarmRepository { // Singleton . //, Singleton RoboGuice @Inject private IAlarmListModel alarmListModel; @Inject Context context; @Inject public AlarmRepository() { db = (new DBHelper(context)).getWritableDatabase(); } @Override public synchronized void load() { IListModelData<AlarmItem> res = (IListModelData<AlarmItem>)alarmListModel; res.getItemList().clear(); res.getDeletedItemList().clear(); Cursor c = db.query(DBHelper.TABLE_NAME, projection, null, null, null, null, DBHelper.A_ID); c.moveToNext(); AlarmItem alarm = null; while(!c.isAfterLast()) { alarm = cvToAlarm(c); res.getItemList().add(alarm); c.moveToNext(); } c.close(); alarmListModel.setLoaded(true); } @Override public synchronized void save() { IListModelData<AlarmItem> model = (IListModelData<AlarmItem>)alarmListModel; ContentValues v = null; for(AlarmItem item : model.getItemList()) { switch(item.getState()) { case CHANGED: v = alarmToCV(item); int retVal = db.update(DBHelper.TABLE_NAME, v, DBHelper.A_ID + "=" + item.getId(), null); break; case ADDED: v = alarmToCV(item); int id = (int)db.insert(DBHelper.TABLE_NAME, null, v); item.setId(id); break; case DELETED: ex = new Exception(" DELETED "); break; } item.setState(EntityState.NOT_CHANGED); } for(AlarmItem item : model.getDeletedItemList()) switch(item.getState()) { case CHANGED: ex = new Exception(" CHANGED "); break; case ADDED: ex = new Exception(" ADDED "); break; case DELETED: int retVal = db.delete(DBHelper.TABLE_NAME, DBHelper.A_ID + "=" + item.getId(), null); break; } model.getDeletedItemList().clear(); } }
рдореИрдВрдиреЗ рддрд░реАрдХреЛрдВ cvToAlarm () рдФрд░ AlarmToCV () рдХреЛ рдЙрдирдореЗрдВ рдмрд╣реБрдд рд╕реА рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИрдВ, рдЬрд┐рдирдореЗрдВ рдЕрд▓рд╛рд░реНрдо рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рдореИрдкрд┐рдВрдЧ рдХреА рдЧрдИ рдереА, рдЬрд┐рд╕реЗ рдореИрдВ рдЖрд░реНрдЯрд┐рдХрд▓ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдорд╛рдиреВрдВрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреЙрдиреНрдЯреЗрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ db.update () рдФрд░ db.insert () рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдПрд╕рдбреАрдХреЗ рджреЗрдЦреЗрдВред
рдпрд╣рд╛рдВ рдореИрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдП рдЧрдП рддрд░реАрдХреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдзреНрдпрдорд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ, рдореЗрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рднреА рд╕рд┐рдВрдЧрд▓рдЯрди рд╣реИред
рднрдВрдбрд╛рд░рдг рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рднрдВрдбрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдХ рдлрд╛рдЗрд▓, рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рд╕реЗрд╡рд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдирддреАрдЬрддрди, рднрдВрдбрд╛рд░рдг рд╡рд┐рдзрд┐ рдХреЛ рдореЙрдбрд▓ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдирдХрд▓реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдХреЗрд╡рд▓ рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рди рдХреЗрд╡рд▓ рд╕рд░рд▓ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рд╕рднреА рдЖрд╢реНрд░рд┐рдд рднрд╛рдЧреЛрдВ рдХреЛ рдирдХрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдХрдИ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рдмрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╡реЗ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛, рдореЙрдбрд▓ рдФрд░ рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рдХрдХреНрд╖рд╛рдПрдВ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдирдХрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдХреЗ рдиреАрдЪреЗ рд╕рдм рдХреБрдЫ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдк рдмреАрдбреАрдбреА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЛрдб () рд╡рд┐рдзрд┐ рдкреВрд░реА рдЕрд▓рд╛рд░реНрдо рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрдврд╝рддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдореЙрдбрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреА рд╣реИред рдФрд░ рд╕реЗрд╡ () рд╡рд┐рдзрд┐ рдЗрд╕ рдмрд╛рдд рдХреЛ рджреЗрдЦрддреА рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╕рд╣реЗрдЬрдирд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдмрджрд▓реЗ рд╣реБрдП рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ
рдЪреВрдВрдХрд┐ рд▓реЗрдЦ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдореЙрдбрд▓ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рджрд┐рдЦрд╛рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдирдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рд╣рдо рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рднреА рдмрдирд╛рддреЗ рд╣реИрдВ, рд░реЛрдмреЛрдЧреБрдЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╢рд╡ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред
рдЕрдиреНрдп рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкрдврд╝реЗрдВ
-
рдкрд░рд┐рдЪрдп-
рдПрдорд╡реАрдкреА рдФрд░ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгред рдЬреЗрдбреА рд╡реЗ-
рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕, рдкрд░реАрдХреНрд╖рдг, AndroidMock- рдбреЗрдЯрд╛ рдХреА рдмрдЪрддред рдбреЛрдореЗрди рдореЙрдбрд▓, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, рд╕рд┐рдВрдЧрд▓рдЯрди рдФрд░ рдмреАрдбреАрдбреА
- рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб, рд░реЛрдмреВрдЧрд╛рдЗрд╕, рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп, рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд▓реЙрдЧрд┐рдВрдЧ, ProGuard