
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рд╢реНрд░реЗрдгреА рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдмрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдЯреЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдЬрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреБрдЫ рд╕реНрдХреНрд░реАрди рд╣реИрдВред рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╕реНрдХреНрд░реАрди рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд╕рд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрдЧреАред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдмрд╣реБрдд рд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдкрд░рд┐рдЪрдп
рдмрд╛рддрдЪреАрдд рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдареЛрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 3 рд╕рдХреНрд░рд┐рдпрддрд╛рдПрдБ рд╣реИрдВ:
- рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдпрд╣ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЗрд╕ рд╢реНрд░реЗрдгреА рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП int рд╢реНрд░реЗрдгреА рдЖрдИрдбреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдпрд╛ рддреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреГрд╢реНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ UUID рдкреИрд░рд╛рдореАрдЯрд░ рдбреЙрдХреНтАНрдпреВрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛;
- рдбреЙрдХреНрдпреВрдореЗрдВрдЯрдПрдбрд┐рдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдПрдбрд┐рдЯрд░ред рдПрдХ рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ UUID рдкреИрд░рд╛рдореАрдЯрд░ documentId рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╕рдорд╕реНрдпрд╛
рдЬреЛ рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдореБрдЦреНрдп рджреЛрд╖ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрдВрдЯреЗрдВрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реАрдзреЗ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛрдб рдореЗрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рд╣реИред рдпрджрд┐ рд╣рдо рд╕рдХреНрд░рд┐рдпрдг рдХреЙрд▓ рдореЗрдВ рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдХреНрд░рд┐рдпрдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреВрд░реА рдЯреАрдо рдХреЛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЖрдИрдбреАрдИ рдХреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рджреЗрдВ, рд╡реИрд╕реЗ рднреА, рдпрд╣ рдлреЗрдВрдЧрд╢реБрдИ рдирд╣реАрдВ рд╣реИред
рдирд┐рд░реНрдгрдп
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдХреБрдЫ рдРрд╕реА рд╡рд╕реНрддреБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЕрдиреБрдорддрд┐ рджреЗ:
- рдХреЙрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд╡рд░реНрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЗрдВрдЯреЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХреЙрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐;
- рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ;
- рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдХреЙрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓реЗрдВред
рдордзреНрдпрд╕реНрде рдкреИрдЯрд░реНрди рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХреЛ рдлрд┐рдЯ рдХрд░рддрд╛ рд╣реИред рдЕрдм рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рд╡рд░реНрдЧ рдЖрд░реЗрдЦ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рдХрдХреНрд╖рд╛ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭреЗрдВред
MyIntent рд╡рд░реНрдЧ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЙрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рд╛рдВрдХ рд░рдЦрддрд╛ рд╣реИред
public class MyIntent extends Intent { public static final String EXTRA_CATEGORY_ID = "CategoryId"; public static final String EXTRA_DOCUMENT_ID = "DocumentId"; }
рдПрдХреНрдЯреАрдореЗрдбрд┐рдпреЗрдЯрд░ рд╡рд░реНрдЧ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╡рд░реНрддрдорд╛рди рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдмрдЪрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдкрд░ рджреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐рдпрд╛рдВ рдХреЙрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдмрд┐рдирд╛ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде рдХрд░рддреА рд╣реИрдВред рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд▓реЛрднрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
public class ActivityMediator { private Activity mActivity; public ActivityMediator(Activity activity){ mActivity = activity; } protected void startActivity(Class<?> cls){ Intent intent = new Intent(mActivity, cls); mActivity.startActivity(intent); } protected void startActivity(Class<?> cls, Bundle extras){ Intent intent = new Intent(mActivity, cls); intent.replaceExtras(extras); mActivity.startActivity(intent); } }
ActivMediator рд╡рд░реНрдЧ рд╕реЗ, рд╣рдореЗрдВ MyActivityMediator рд╡рд░реНрдЧ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
public class MyActivityMediator extends ActivityMediator { public MyActivityMediator(Activity activity){ super(activity); } public void showDocumentsList(){ startActivity(DocumentsListActivity.class); } public void showDocumentsList(int categoryId){ Bundle bundle = new Bundle(); bundle.putInt(MyIntent.EXTRA_CATEGORY_ID, categoryId); startActivity(DocumentsListActivity.class, bundle); } public void showDocumentViewer(UUID documentId){ Bundle bundle = new Bundle(); bundle.putString(MyIntent.EXTRA_DOCUMENT_ID, documentId.toString()); startActivity(DocumentViewActivity.class, bundle); } public void showDocumentEditor(){ startActivity(DocumentEditActivity.class); } public void showDocumentEditor(UUID documentId){ Bundle bundle = new Bundle(); bundle.putString(MyIntent.EXTRA_DOCUMENT_ID, documentId.toString()); startActivity(DocumentEditActivity.class, bundle); } }
MyActivity рдХреНрд▓рд╛рд╕ рдЕрдореВрд░реНрдд рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЕрдиреНрдп рд╕рднреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИрдВред
public abstract class MyActivity extends Activity { private KadActivityMediator mActivityMediator = new KadActivityMediator(this); public KadActivityMediator getActivityMediator(){ return mActivityMediator; } }
рдЕрдм рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреА рдХрд┐рд╕реА рднреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрдХ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
getActivityMediator().showDocumentEditor();
рдФрд░ рдЗрд╕рд▓рд┐рдП - рдЪрдпрдирд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рджреЗрдЦрдирд╛
UUID documentId = getCurrentDocumentId(); getActivityMediator().showDocumentViewer(documentId);
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордзреНрдпрд╕реНрде рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ред рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдЖрдк startActivityForResult рдпрд╛ рд╕рдХреНрд░рд┐рдпрдг рдХреЙрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЙрд▓ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред