рдпрд╣ рд╡рд┐рд╖рдп
рдЗрдВрдЯреЗрдВрдЯ ,
рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯрд╕реАрд╡рд░ рдФрд░
рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдПрдХ рдФрд░ рддрд░реАрдХреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд▓рдЧ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдзрд╛рдЧреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ рдЬреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддреА рд╣реИред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╕рд╛рде рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреАрдЖрдИ рд╡рд░реНрдХ рдХреЛрдб рдПрдВрдбреНрд░реЙрдЗрдб, рдЬреЗ 2 рдПрдордИ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 7 рдкрд░ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛
- рд╣рдо рдЗрд░рд╛рджреЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- рд╣рдо рдЗрдВрдЯреЗрдВрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╡рд░реНрдЧ рдореЗрдВ рддрд░реАрдХреЗ рдмрдирд╛рддреЗ рд╣реИрдВред
- рдзрд╛рдЧреЗ рд╕реЗ рд╣рдо рдШрдЯрдирд╛ рдХреЗ рдЗрд░рд╛рджреЗ рднреЗрдЬрддреЗ рд╣реИрдВред
- рд╣рдо рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрдВрдЯреЗрдВрдЯреНрд╕ рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВред
- рд╣рдо рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЗрд╡реЗрдВрдЯ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдЗрдВрдЯреЗрдВрдЯ
рдЗрд░рд╛рджреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рд░ рд╡рд░реНрдгрди рд╣реИрдВ (рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред рдЖрд╡реЗрджрди рдореЗрдВ, рдПрдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЗрд░рд╛рджреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ - рд╕реВрдЪреА рдкреГрд╖реНрда рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЪрд┐рддреНрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
public final class Intents {
рдиреНрдпреВрдЬрд╝рд▓реИрдЯрд░ рдХреЗ рдЗрд░рд╛рджреЗ
рдЖрд╡реЗрджрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрд╣ рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧ рд╕реЗ рд╕реБрд▓рдн рд╣реИ, рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
public class SampleApplication extends Application { private static SampleApplication mInstance; @Override public void onCreate() { super.onCreate(); mInstance = this; тАж } public static SampleApplication getInstance() { return mInstance; } public void sendBroadcastIntent(String action) { final Intent intent = new Intent(action); sendBroadcast(intent); } public static void notifyListPageLoaded() { getInstance().sendBroadcast(new Intent(Intents. LIST_PAGE_RECEIVED)); } public static void notifyImageLoaded() { getInstance().sendBroadcast(new Intent(Intents.IMAGE_RECEIVED)); } тАж }
рдЗрд╕рд▓рд┐рдП, рдЗрдВрдЯреЗрдВрд╕ рднреЗрдЬрдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ:
@Override public void OnDownloadComplete(byte[] data) { тАж parseData(data); SampleApplication.notifyListPageLoaded(); тАж } @Override public void OnDownloadComplete(byte[] data) { тАж mImage = BitmapFactory.decodeByteArray(data, 0, data.length); SampleApplication.notifyListPageLoaded(); тАж }
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдЗрд░рд╛рджреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд┐рддреНрд░ рдЖрдИрдбреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
putExtra рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдВрддрд░реНрджреНрд╡рдВрджреНрд╡реЛрдВ рдХрд╛ рдЕрд╡рд░реЛрдз
рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ, рд╣рдо
рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯрд░реНрд╕ рдХреЗ рдПрдХ рдЕрдирд╛рдо рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯреЗрдВрдЯреНрд╕ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдЙрд╕ рд╕рдордп рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдЧрддрд┐рд╡рд┐рдзрд┐ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬрдм рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реНрдХреНрд░реАрди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреА рд╣реИ рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддреА рд╣реИред
@Override protected void onResume() { super.onResume(); IntentFilter f = new IntentFilter(); f.addAction(Intents.LIST_PAGE_RECEIVED); f.addAction(Intents.IMAGE_RECEIVED); registerReceiver(mNotificationReceiver, f); тАж } @Override protected void onPause() { unregisterReceiver(mNotificationReceiver); super.onPause(); } private BroadcastReceiver mNotificationReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intents.IMAGE_RECEIVED.equalsIgnoreCase(action)) { mHandler.removeMessages(MESSAGE_IMAGE_LOADED); mHandler.sendEmptyMessageDelayed(MESSAGE_IMAGE_LOADED, 250); } else if (Intents. LIST_PAGE_RECEIVED.equalsIgnoreCase(action)) { mHandler.sendEmptyMessage(MESSAGE_NEXT_PAGE); } } };
рд╣рдо рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдПрдХ рдЕрдирд╛рдо рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрд╛рд╕ рднреЗрдЬрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЕрдХреНрд╕рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ рдФрд░ UI рдереНрд░реЗрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдШрдЯрдХреЛрдВ рдХреЛ рджреЗрд░реА рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрд╛рдЯ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рди рдкреИрджрд╛ рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪреА рдЖрдЗрдЯрдо рдореЗрдВ рдПрдХ рддрд╕реНрд╡реАрд░ рд╣реЛрддреА рд╣реИ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рднрд░реА рд╣реБрдИ рд╣реЛрддреА рд╣реИ (
рд░рд┐рдореВрд╡рд▓ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░
SendEmptyMessageDelayed рдореЗрдердб )ред
private final static int MESSAGE_NEXT_PAGE = 1; private final static int MESSAGE_IMAGE_LOADED = 2; private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case MESSAGE_NEXT_PAGE: mAdapter.notifyDataSetChanged(); break; case MESSAGE_IMAGE_LOADED: mAdapter.notifyDataSetChanged(); break; default: break; } super.handleMessage(msg); } };
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╡рд┐рдзрд┐ рдмрд▓реНрдХрд┐ рдмреЛрдЭрд┐рд▓ рд▓рдЧ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд░реЛрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЖрдзрд╛рд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдмрд╛рдХреА рдХреЛ рдЗрд╕ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдХреЛрдб рд╕реНрд╡рдпрдВ рдЧреНрд░рд╣рдг рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рд░ рдмрд╛рд░ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред