AndroidSocialNetworks - рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рдо



AndroidSocialNetworks Android рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рд╕рд╛рдорд╛рдЬрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдЖрд╕рд╛рди рд╣реИред рдЕрдЧрд░ рдЖрдкрдиреЗ рдХрднреА рд╕рд╛рдорд╛рдЬрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИред рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ, рдПрдХ рдПрд╕рдбреАрдХреЗ рдпрд╛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, http рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдВред AndroidSocialNetwork рдХреЛ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдореЗрдВ Facebook, Twitter, LinkedIn рдФрд░ Google Plus рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ - рдмрд╕ SocialNetworkManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SocialNetworkManager.Build -> рдЗрд╕реЗ FragmentManager рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ -> AndroidManifest.xml рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ -> рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдиреЗрдЯрд╡рд░реНрдХред рдЖрдк рд▓реЙрдЧрд┐рди, рдкреЛрд╕реНрдЯ рд╕реНрдЯреЗрдЯрд╕ рдЕрдкрдбреЗрдЯ, рдлреЛрдЯреЛ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛрд╕реНрддреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ / рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ



рдкрд╣рд▓реЗ рд╣рдореЗрдВ SocialNetworkManager рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ SocialNetworkManager.Builder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред SocialNetworkManager рд░рд┐рдЯреЗрдирдореЗрдВрдЯ (рд╕рддреНрдп) рдХреЗ рд╕рд╛рде рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИред

рдЬреАрд╡рди рдЪрдХреНрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╣рдордиреЗ SocialNetworkManager рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ FragmentManager рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ SupportFragmentManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



mSocialNetworkManager = (SocialNetworkManager) getFragmentManager().findFragmentByTag(SOCIAL_NETWORK_TAG); if (mSocialNetworkManager == null) { mSocialNetworkManager = SocialNetworkManager.Builder.from(getActivity()) .twitter(<api_token>, <api_secret>) .linkedIn(<api_token>, <api_secret>, "r_basicprofile+rw_nus+r_network+w_messages") .facebook() .googlePlus() .build(); getFragmentManager().beginTransaction().add(mSocialNetworkManager, SOCIAL_NETWORK_TAG).commit(); }
      
      





рдЪреВрдВрдХрд┐ рдПрдХ рдЦрдВрдб рдЬреЛрдбрд╝рдирд╛ рдПрдХ рд▓реЗрди-рджреЗрди рд╣реИ, рд╣рдо рддреБрд░рдВрдд SocialNetworkManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ SocialNetworkManager.OnInitializationCompleteListener рдирд╛рдордХ рдХреЙрд▓рдмреИрдХ рд╣реИред



 mSocialNetworkManager.setOnInitializationCompleteListener(this);
      
      





рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЯреНрд╡рд┐рдЯрд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рд╣рдореЗрдВ onSocialNetworkManagerInitialized UI рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ рдПрдХ рд╢реНрд░реЛрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреА рд╣реИ, рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, 2 рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдПрдХ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рд╢реНрд░реЛрддрд╛ рд╕реЗрдЯ рдХрд░реЗрдВ

 @Override public void onSocialNetworkManagerInitialized() { super.onSocialNetworkManagerInitialized(); for (SocialNetwork socialNetwork : mSocialNetworkManager.getInitializedSocialNetworks()) { socialNetwork.setOnLoginCompleteListener(this); } }
      
      





рд▓рд┐рдВрдХреНрдбрдЗрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЙрд▓рд┐рдВрдЧ

 mSocialNetworkManager.getLinkedInSocialNetwork().requestLogin();
      
      





рдкрд░рд┐рдгрд╛рдо рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рд╣реИред

 @Override public void onLoginSuccess(int socialNetworkID) { } @Override public void onError(int socialNetworkID, String requestID, String errorMessage, Object data) { }
      
      





рдпрджрд┐ рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрдерд╛рдиреАрдп рд▓реЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 mSocialNetworkManager.getGooglePlusSocialNetwork().requestLogin(new DemoOnLoginCompleteListener()); private class DemoOnLoginCompleteListener implements OnLoginCompleteListener { @Override public void onLoginSuccess(int socialNetworkID) { } @Override public void onError(int socialNetworkID, String requestID, String errorMessage, Object data) { } }
      
      





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



рдЗрд╕рдХрд╛ рд╕рд╛рдорд╛рдЬрд┐рдХ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрдиред рдиреЗрдЯрд╡рд░реНрдХ


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдорд╛рдЬрд┐рдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ, рдФрд░ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк addSocialNetwork (SocialNetwork socialNetwork) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ onSocialNetworkManagerInitializedред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд╛рдорд╛рдЬрд┐рдХ рдХрд╛ рдЖрдИ.рдбреА. рдиреЗрдЯрд╡рд░реНрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред 1, 2, 3, 4 - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд░рдХреНрд╖рд┐рдд рд╣реИред



рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЗ





рдкреВрд░реА рд╕реВрдЪреА






рд╕рд╛рдорд╛рдЬрд┐рдХ рд╕рдорд░реНрдерди рдЬрд╛рд▓






рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, SocialNetworkManager рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ (рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди v4 рд╕реЗ)ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХреЗрдВред рдЗрд╕реЗ рднреА рдмрд░рдХрд░рд╛рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ (рд╕рддреНрдп) рддрд╛рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдЖрдо рддреМрд░ рдкрд░ рдЬреАрд╡рди рдЪрдХреНрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдмрдЪреЗ рд░рд╣реЗ ...



SocialNetworkManager.Builder рдмрд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдВрдбрд▓ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред

 public SocialNetworkManager build() { Bundle args = new Bundle(); if (!TextUtils.isEmpty(twitterConsumerKey) && !TextUtils.isEmpty(twitterConsumerSecret)) { args.putString(PARAM_TWITTER_KEY, twitterConsumerKey); args.putString(PARAM_TWITTER_SECRET, twitterConsumerSecret); } if (!TextUtils.isEmpty(linkedInConsumerKey) && !TextUtils.isEmpty(linkedInConsumerSecret) && !TextUtils.isEmpty(linkedInPermissions)) { args.putString(PARAM_LINKEDIN_KEY, linkedInConsumerKey); args.putString(PARAM_LINKEDIN_SECRET, linkedInConsumerSecret); args.putString(PARAM_LINKEDIN_PERMISSIONS, linkedInPermissions); } if (facebook) { args.putBoolean(PARAM_FACEBOOK, true); } if (googlePlus) { args.putBoolean(PARAM_GOOGLE_PLUS, true); } SocialNetworkManager socialNetworkManager = new SocialNetworkManager(); socialNetworkManager.setArguments(args); return socialNetworkManager; }
      
      





SocialNetworkManager рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рд╣реИрдВред HashMap рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ

 private Map<Integer, SocialNetwork> mSocialNetworksMap = new HashMap<Integer, SocialNetwork>();
      
      





рдХреЙрд▓рдмреИрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рд╣рдо рд╕рднреА рд╕рд╛рдорд╛рдЬрд┐рдХ рдорд╛рдзреНрдпрдореЛрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЖрдЧреЗ:

 public void onStop() { тАж for (SocialNetwork socialNetwork : mSocialNetworksMap.values()) { socialNetwork.onStop(); } }
      
      





рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдорд╛рдЬрд┐рдХред рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕рд╛рд░ рд╡рд░реНрдЧ SocialNetwork рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



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

 public class GooglePlusSocialNetwork extends SocialNetwork тАж public static final int ID = 3;
      
      





рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛред



RequestLogin, requestPerson рд╡рд┐рдзрд┐рдпреЛрдВ рдЖрджрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╢реНрд░реЛрддрд╛рдУрдВ рджреЛрдиреЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИред



рдХреЙрд▓рдмреИрдХ рдореИрдкреНрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

 protected Map<String, SocialNetworkListener> mGlobalListeners = new HashMap<String, SocialNetworkListener>(); protected Map<String, SocialNetworkListener> mLocalListeners = new HashMap<String, SocialNetworkListener>();
      
      





рдЬрдм рд╣рдо рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрд▓рдмреИрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ mGlobalListeners рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдХреЙрд▓рдмреИрдХ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд╢рдХреНрддред



 public void requestSocialPerson(String userID) { requestSocialPerson(userID, null); }
      
      





рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдзрд┐ рдПрдХ рд╢реНрд░реЛрддрд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреА рд╣реИред

 public void requestSocialPerson(String userID, OnRequestSocialPersonCompleteListener onRequestSocialPersonCompleteListener) { registerListener(REQUEST_GET_PERSON, onRequestSocialPersonCompleteListener); }
      
      





рд░рдЬрд┐рд╕реНрдЯрд░рд▓рд┐рд╕реНрдЯ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:

 private void registerListener(String listenerID, SocialNetworkListener socialNetworkListener) { if (socialNetworkListener != null) { mLocalListeners.put(listenerID, socialNetworkListener); } else { mLocalListeners.put(listenerID, mGlobalListeners.get(listenerID)); } }
      
      





рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз


рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ рдПрд╕рдбреАрдХреЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 Request request = Request.newMeRequest(currentSession, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser me, Response response) { тАж request.executeAsync();
      
      





рдпрд╛ AsyncTasks, рдпрджрд┐ рдЖрдк рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдп async рд╕реЗ рдбрд░реЛ рдордд, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ: http://www.androiddesignpatterns.com/2013/04/retain-objects-across-config-changes.html



рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ







рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд▓рд┐рдВрдХ: https://github.com/antonkrasov/AndroidSocialNetworks

рдирдореВрдирд╛ рдЖрд╡реЗрджрди: AndroidSocialNetworks APIDemos



All Articles