Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9장의 전자액자에서 Anko를 안쓴다면 코드가 어떻게 바뀌는지요. #4

Open
doqsa opened this issue Jan 2, 2019 · 3 comments

Comments

@doqsa
Copy link

doqsa commented Jan 2, 2019

265페이지를 보고 있는데요.
alert 부분이 anko 라이브러리에서 제공하는 함수같은데요.
만약 anko를 안쓴다면 코딩이 어떻게 바뀌는 지 궁금합니다.

제가 2틀동안 붙잡고 있었는데 해결이 안되네요.
Manifest에 <uses-permission..../>
삽입하고
권한이 부여되었는지
if(ContextCompat.check......
로 조건을 준 다음에
ActivityCompat.requestPermission(this, ....
으로 권한을 요청하니까 휴대폰에서 권한을 부여할 것인지 다이얼로그 화면은 뜨는데
그 다음에 어떻게 해야하는지요
권한부여 다이얼로그에서 "예"를 누르면 에러가 계속 나더라고요.

책이 쉬워서 잘 따라하고 있는데
무작정 따라만 해서는 안될 것 같아서 anko를 안쓰고 순수하게 kotlin기본으로만 하고 있는데
여기서 막힙니다.
도와주시면 감사하겠습니다.

@junsuk5
Copy link
Owner

junsuk5 commented Jan 2, 2019

anko를 안 쓰고 alert 다이얼로그를 구현하려면
https://developer.android.com/guide/topics/ui/dialogs#AlertDialog 의 코드를 코틀린으로 작성하면 됩니다.
일단 원래 코드 작성하고 추가 댓글 남길게요

@doqsa
Copy link
Author

doqsa commented Jan 2, 2019

헐! 총알답변 감사합니다. 그냥 자고 내일 하려고 했는데 ㅋ 새해 복많이 받으시고 대박나세요 ㅎㅎ

@junsuk5
Copy link
Owner

junsuk5 commented Jan 2, 2019

anko 안 쓴 코드를 코틀린에 맞게 수정한 코드입니다.

AlertDialog.Builder(this).apply {
    setTitle("권한이 필요한 이유")
    setMessage("사진 정보를 얻기 위해서는 외부 저장소 권한이 필수로 필요합니다")
    setPositiveButton("Yes") { dialog, which ->
        // 권한 요청
        ActivityCompat.requestPermissions(this@MainActivity,
                arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE),
                REQUEST_READ_EXTERNAL_STORAGE)
    }
    setNegativeButton("Cancel", null)
}.show()

원래 코드는 아까 알려드린 링크에 자바 코드를 참고하시면 됩니다.
독자님도 새해 복 많이 받으세요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants