Android: как получить изображение профиля Google+ и обложку в навигационном ящике

Предполагая, что пользователь зарегистрировался в своей учетной записи Google+ на телефоне, как можно получить изображение Google+ (круговое) и фотографию Google+ Cover в навигационном ящике приложения для Android? Есть ли API для этого? Кроме того, как мы можем отображать фотографию профиля в виде круга? Я пытаюсь достичь того же навигационного интерфейса UI, что и приложение Android INBOX.

Solutions Collecting From Web of "Android: как получить изображение профиля Google+ и обложку в навигационном ящике"

  1. Вам потребуется включить G + API на консоли Google.

https://developers.google.com/+/mobile/android/getting-started#step_1_enable_the_google_api

  1. Вам нужно будет создать пользовательский навигационный ящик:

http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

Как создать пользовательский навигационный ящик в android

  1. Вам нужно будет инициализировать GoogleApiClient

https://developer.android.com/google/auth/api-client.html

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...... googleApiClient = new GoogleApiClient.Builder(getActivity()) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(Plus.SCOPE_PLUS_LOGIN) .addScope(Plus.SCOPE_PLUS_PROFILE) .build(); } @Override public void onConnected(Bundle bundle) { Plus.PeopleApi.loadVisible(googleApiClient, null).setResultCallback(this); if (Plus.PeopleApi.getCurrentPerson(googleApiClient) != null) { Person person = Plus.PeopleApi.getCurrentPerson(googleApiClient); personNameView.setText(person.getDisplayName()); if (person.hasImage()) { Person.Image image = person.getImage(); new AsyncTask<String, Void, Bitmap>() { @Override protected Bitmap doInBackground(String... params) { try { URL url = new URL(params[0]); InputStream in = url.openStream(); return BitmapFactory.decodeStream(in); } catch (Exception e) { /* TODO log error */ } return null; } @Override protected void onPostExecute(Bitmap bitmap) { personImageView.setImageBitmap(bitmap); } }.execute(image.getUrl()); } } 

Весь пример, который вы можете получить здесь: http://www.androidhive.info/2014/02/android-login-with-google-plus-account-1/

Для обложки вы можете сделать

 Person.Cover.CoverPhoto cover = person.getCover().getCoverPhoto(); cover.getUrl() 
  1. Изображение круга

http://curious-blog.blogspot.com/2014/05/create-circle-bitmap-in-android.html

Как сделать ImageView с закругленными углами?