Langsung ke konten utama

Cara Membuat Login dengan Akun Google di Android Studio - Coding Rakitan


Sebuah aplikasi yang menerapkan sistem level user tentunya membutuhkan aksi login agar user dapat mengakses akun mereka. Untuk mempermudah user dalam melakukan login kita bisa menerapkan login Authentication menggunakan email google yang sudah terdaftar di Android pengguna. Nantinya user ketika menekan tombol login akan di arahkan langsung untuk memilih akun email yang terdaftar.

Kelebihan dari sistem login ini, user tidak perlu khawatir akan pencurian akun oleh pemilik aplikasi sebab informasi yang bisa di ambil hanya seperti email, id akun, foto, nama, serta nomor hp.

Langkah awal untuk membuat login authentication dengan akun google adalah dengan membuat credential baru di API Console caranya seperti berikut.
1. Buka halaman https://console.developers.google.com/apis/credentials (Login dengan akun google anda).
2. Masuk ke menu Kredential dan klik tombol + Buat Kredensial -> Client ID OAuth.
3. Pilih jenis aplikasi (Android), kemudian masukkan nama aplikasi, kode SHA-1 (untuk mendapatkan kode silahkan baca disini) sesuaikan dengan kebutuhan anda misalnya jika anda hanya memerlukannya pada mode debug maka ambil SHA-1 debug bila ingin dirilis ambil SHA-1 release, dan terakhir nama package anda contoh disini "com.example.login_google" lalu klik buat.
4. Jika muncul dialog yang Klien OAuth dibuat, maka Kredensial anda berhasil dibuat.

Setelah membuat kredensial lanjut ke project Android Studio dengan menambahkan dependencies dibawah ini kedalam project android studio kemudian klik Sync Now.

dependencies {
...
implementation 'com.google.android.gms:play-services-auth:17.0.0'
}


AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.login_google"><uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".Home"></activity> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
</manifest>


Kemudian buat sebuah tampilan sederhana di layout activity_main.xml yang berisi tombol widget "". Silahkan ikuti tampilan di bawah.

activity_main.xml


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" tools:context=".MainActivity" >
<com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="200dp" android:layout_height="wrap_content"/></RelativeLayout>

Untuk memberikan instruksi pada program silahkan edit file MainActivity.java seperti kode di bawah


MainActivity.java


package com.example.login_google;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Toast;
import com.google.android.gms.auth.api.signin.GoogleSignIn;import com.google.android.gms.auth.api.signin.GoogleSignInAccount;import com.google.android.gms.auth.api.signin.GoogleSignInClient;import com.google.android.gms.auth.api.signin.GoogleSignInOptions;import com.google.android.gms.common.SignInButton;import com.google.android.gms.common.api.ApiException;import com.google.android.gms.tasks.Task;
import java.util.Map;
public class MainActivity extends AppCompatActivity {

private SignInButton login; private GoogleSignInClient mGoogleSignInClient; private int RC_SIGN_IN; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); login = findViewById(R.id.sign_in_button); GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build(); mGoogleSignInClient = GoogleSignIn.getClient(this, gso); login.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
LoginGoogle(); }
}); }

private void LoginGoogle() {
Intent signInIntent = mGoogleSignInClient.getSignInIntent(); startActivityForResult(signInIntent, RC_SIGN_IN); }
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data); handleSignInResult(task); }
}
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
final GoogleSignInAccount account = completedTask.getResult(ApiException.class); if (!account.getId().equals("")&&!account.getId().equals(null)){
Intent i = new Intent(MainActivity.this, Home.class); startActivity(i); finish(); }else{
Toast.makeText(this, "Login Gagal", Toast.LENGTH_SHORT).show(); }
} catch (ApiException e) {
Log.d("error", ""+e); Toast.makeText(this, "Login Gagal", Toast.LENGTH_SHORT).show(); }
}

}


Pada saat aplikasi berhasil melakukan login program kita instruksikan untuk membuka activity baru dengan nama Home.java. Untuk itu silahkan buat activity baru dengan nama home dengan cara klik kanan pada root package -> New -> Activity -> Empty Activity hingga muncul kotak dialog baru seperti dibawah.

Isi activity name dengan nama Home, centang Generate Layout file (agar activity membuat layout otomatis). Layout name biasanya akan mengikuti nama activity name, silahkan rubah sesuai keinginan anda lalu tekan finish.

Edit file Home.java dan layout activity_home.xml seperti kode di bawah :

Home.java


package com.example.login_google;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class Home extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}

activity_home.xml


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"tools:context=".Home">
<TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Login berhasil" /></RelativeLayout>


Langkah terakhir adalah pengetesan. Run aplikasi dengan emulator atau debug langsung ke Hp Android. Klik tombol login, jika berhasil maka tampilannya akan tampak seperti pada gambar.



Komentar

Postingan populer dari blog ini

Cara Mengatasi Blank Hitam Pada Photoshop

Saat ini mungkin anda sedang mengalami hal yang pernah saya alami, dimana ketika mengedit gambar di Photoshop tiba-tiba screen layer project berubah menjadi hitam. Apalagi pas menambahkan atau mengedit tulisan, blank ini kerap kali muncul. Kurang lebih akan tampak seperti gambar berikut. Teman-teman jangan khawatir karena saya telah menemukan solusinya dan berhasil saya terapkan. Berikut Cara Mengatasi Blank Hitam Pada Photoshop. 1. Masuk ke menu preferences dengan menekan menu Edit -> Preferences -> Performance . 2. Pada layar Preferences klik tombol Advanced Settings 3. Pada layar Advanced Graphics Processor Settings pada pilihan Drawing Mode silahkan ganti menjadi basic kemudian klik Ok , anda akan kembali ke layar Preferences silahkan klik lagi OK . 4. Selanjutnya tutup Photoshop anda dengan klik menu File -> exit . 5. Terakhir buka kembali Photoshop dan lihat hasilnya.

Inilah Kelebihan dan Kekurangan Ruby

Ruby merupakan salah satu bahasa pemrograman berorientasi objek berbasis skrip yang dikembangkan oleh Yukihiro Matsumoto yaitu seorang programer asal Jepang. Untuk mengetahui lebih jauh tentang bahasa Ruby silahkan baca postingan sebelumnya : Mengenal Bahasa Pemrograman Ruby  Sesuai judul postingan kali ini kita hanya akan membahas mengenai Kelebihan serta Kekurangan Bahasa Pemrograman Ruby. Berikut beberapa point yang telah kami jabarkan. Kelebihan Bahasa Pemrograman Ruby 1. Kode sederhana  Dibandingkan dengan bahasa pemrograman lainnya, yang kebanyakan untuk menulis kode dibutuhkan sekitar 10 baris, pada Ruby hanya butuh 1 atau 2 baris. Inilah kenapa Ruby dikatakan memiliki kode yang sederhana. Karena kesederhanaan dalam kodenya, akan mengurangi jam kerja programmer. 2. Multi-platform Ruby dapat berjalan di berbagai sistem operasi seperti Mac, Windows, hingga Linux. 3. Tingkat kebebasan yang tinggi Salah satu bentuk kebebasan programer dalam menuliska kode Ruby seperti tidak adanya p

Mengenal Apa itu Android Studio

Android Studio merupakan tools IDE ( Integrated Development Environment ) yang digunakan untuk membuat aplikasi android. Fungsi utamanya adalah sebagai editor yang menyediakan berbagai kebutuhan dalam membangun aplikasi android seperti widget, library, dll. Android Studio versi terbaru telah mendukung 2 bahasa pemrograman yaitu Java dan Kotlin. Sebelumnya hanya mendukung bahasa Java. Android Studio hadir sebagai pengganti Eclipse ADT ( Android Development Tools ) yaitu tools utama sebelumnya. Tools Android Studio ini dibangun di atas aplikasi yang sudah populer sebagai editor programer yaitu JetBrains IntelliJ IDE. Selain itu Android Studio di lengkapi dengan Emulator sendiri. Sama halnya seperti Eclipse, Android Studio juga memerlukan SDK ( Software Development Kit ) untuk membangun aplikasi android. Bedanya Android Studio didukung penuh oleh Google sebagai pengembangnya serta menggunakan grandle dalam melakukan build. Baca juga : Perbedaan Membuat Aplikasi Android Menggunakan Ecli