초보입니다…
카카오 로그인을
유튜브에서 보고 따라하는 중인데
코딩 작성시 Loginclient()
이거를 사용하라는데 이게없습니다… 어떻게 해야하나요 ㅠㅠ
코드에 Loginclient가 들어갈 곳에
여기
라고 표시해놧습니다
package com.example.kakaologinjave;
import androidx.appcompat.app.AppCompatActivity;
import android.content.IntentFilter;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.kakao.sdk.auth.model.OAuthToken;
import com.kakao.sdk.user.UserApiClient;
import com.kakao.sdk.user.model.User;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;
public class MainActivity extends AppCompatActivity {
public static final String TAG = "MainActivity";
private View loginButton, logoutButton;
private TextView nickName;
private ImageView profileImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginButton = findViewById(R.id.login);
logoutButton = findViewById(R.id.logout);
nickName = findViewById(R.id.nickname);
profileImage = findViewById(R.id.profile);
Function2<OAuthToken, Throwable, Unit> callback = new Function2<OAuthToken, Throwable, Unit>() {
@Override
public Unit invoke(OAuthToken oAuthToken, Throwable throwable) {
if (oAuthToken != null){
//TBD
}
if (throwable != null) {
}
updateKakaoLoginUi();
return null;
}
};
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ( UserApiClient.getInstance().isKakaoTalkLoginAvailable(MainActivity.this)) {
**여기**.getInstance().loginWithKakaoTalk(MainActivity.this, callback);
} else {
**여기**.getInstance().loginWithKakaoAccount(MainActivity.this, callback);
}
}
});
logoutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UserApiClient.getInstance().logout(new Function1<Throwable, Unit>() {
@Override
public Unit invoke(Throwable throwable) {
updateKakaoLoginUi();
return null;
}
});
}
});
updateKakaoLoginUi();
}
private void updateKakaoLoginUi() {
UserApiClient.getInstance().me(new Function2<User, Throwable, Unit>() {
@Override
public Unit invoke(User user, Throwable throwable) {
if (user != null){
Log.i(TAG, "invoke: id" + user.getId());
Log.i(TAG, "invoke: email" + user.getKakaoAccount().getEmail());
Log.i(TAG, "invoke: nickname" + user.getKakaoAccount().getProfile().getNickname());
Log.i(TAG, "invoke: gender" + user.getKakaoAccount().getGender());
Log.i(TAG, "invoke: age" + user.getKakaoAccount().getAgeRange());
nickName.setText(user.getKakaoAccount().getProfile().getNickname());
Glide.with(profileImage).load(user.getKakaoAccount().getProfile().getThumbnailImageUrl()).circleCrop().into(profileImage);
loginButton.setVisibility(View.GONE);
logoutButton.setVisibility(View.VISIBLE);
}else {
nickName.setText(null);
profileImage.setImageBitmap(null);
loginButton.setVisibility(View.VISIBLE);
logoutButton.setVisibility(View.GONE);
}
return null;
}
});
}
}