Ich erstelle eine Anwendung, in der Benutzer sich registrieren und mit den registrierten Details anmelden können. Was ich tun muss, ist, dass ich Google anmelden Schaltfläche hinzufügen möchte. Wenn Nutzer auf diesen Button klicken, können sie sich mit ihrem Google-Konto anmelden. Ich habe viel darüber gesucht, aber ich habe den Code von Google innerhalb der Aktivität anmelden. einige, was wie dieseWie Sie Google in unserer App anmelden
public class MainActivity extends AppCompatActivity implements View.OnClickListener,GoogleApiClient.OnConnectionFailedListener {
private LinearLayout Prof_Section;
private Button SignOut;
private SignInButton SignIn;
private TextView Name, Email;
private ImageView Prof_Pic;
private GoogleApiClient googleApiClient;
private static final int REQ_CODE = 9001;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Prof_Section = (LinearLayout) findViewById(R.id.prof_section);
SignOut = (Button) findViewById(R.id.bn_logout);
SignIn = (SignInButton) findViewById(R.id.bn_login);
Name = (TextView) findViewById(R.id.name);
Email = (TextView) findViewById(R.id.email);
Prof_Pic = (ImageView) findViewById(R.id.prof_pic);
SignIn.setOnClickListener(this);
SignOut.setOnClickListener(this);
Prof_Section.setVisibility(View.GONE);
GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build();
googleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this,this).addApi(Auth.GOOGLE_SIGN_IN_API, signInOptions).build();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bn_login:
SignIn();
break;
case R.id.bn_logout:
SignOut();
break;
}
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
private void SignIn() {
Intent Intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
startActivityForResult(Intent, REQ_CODE);
}
private void SignOut() {
Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
updateUI(false);
}
});
}
private void handleResult(GoogleSignInResult result) {
if (result.isSuccess()) {
GoogleSignInAccount account = result.getSignInAccount();
String name = account.getDisplayName();
String email = account.getEmail();
String img_url = account.getPhotoUrl().toString();
Name.setText(name);
Email.setText(email);
Glide.with(this).load(img_url).into(Prof_Pic);
updateUI(true);
} else {
updateUI(false);
}
}
private void updateUI(boolean isLogin) {
if (isLogin) {
Prof_Section.setVisibility(View.VISIBLE);
SignIn.setVisibility(View.GONE);
} else {
Prof_Section.setVisibility(View.GONE);
SignIn.setVisibility(View.VISIBLE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQ_CODE) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleResult(result);
}
}
}
, was ich will zu tun ist, wenn Benutzer melden Sie sich mit Google-Konto, dann sollten nächste Aktivität öffnen und die Benutzerinformationen sollten in der nächsten Aktivität zu sehen. Und ich brauche ihren Benutzernamen, E-Mail-Adresse und Telefonnummer in der MySQL-Datenbank gespeichert. Schlage mir vor, was ich tun soll. Ob es möglich ist oder nicht?
Folgen Sie den Schritten in diesem Link https://developers.google.com/identity/sign-in/android/start-integrating –
Bro, ich habe diesen Link bereits durchgemacht, ich habe bereits das Google-Zeichen hinzugefügt Wenn der Benutzer auf die Schaltfläche zum Anmelden klickt, sollte sich eine neue Aktivität öffnen und die Google-Profilinformationen sollten dort angezeigt werden. –
Haben Sie die Datei google-services.json generiert und google angemeldet? Siehe https://developers.google.com/mobile/add?platform=android&cntapi=signin&cnturl=https:%2F%2Fdevelopers.google.com%2Fidentity%2Fsign-in%2Fandroid%2Fsign-in%3Fconfigured%3Dtrue&cntlbl= Continue% 20Adding% 20Sign-In –