Uri 引用始终是null
。尝试将其存储为如下字符串:
String uri = userInfo.getPhotoUrl().toString;
并将其传递给首选项,然后像这样设置:
String fbImage = pref.getString("ImageUri", "");
if (fbImage != null && !fbImage.isEmpty()) {
Picasso.with(getApplicationContext())
.load(fbImage)
.placeholder(R.drawable.img_circle_placeholder)
.resize(avatarSize, avatarSize)
.centerCrop()
.transform(new CircleTransformation())
.into(ImageViewObject);
}
确保您已将 picasso 依赖项添加到您的 gradle 中。
compile 'com.squareup.picasso:picasso:2.3.2'
对于电子邮件 ID:
String email = pref.getString("email", null);
//try to check here
Log.w("email", ""+email);
if(email != null && !email.isEmpty()){
textEmail.setText(""+email);
}
或者您可以使用意向服务,这肯定有效:
在您的登录活动中:
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("email_id", email_id);
startActivity(intent);
finish();
and in your mainActivity:
Intent intent = getIntent();
String email = intent.getStringExtra("email_id");
textEmail.setText(""+email);
update-2
有一种 firebase 方法..及其最简单的方法。
在您要检索数据的第二个活动中编写此代码。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
TextView email;
email.setText(""+ user.getEmail());
不需要sharedPrefrence或intent服务。