상세 컨텐츠

본문 제목

안드로이드 내 Account 추가 관련 참고 (Tip)

program/Code Tip

by seongchan 2012. 8. 10. 20:51

본문

이글은… 

안드로이드에서 제공하는 AccountManager사용에 대해서 잘 설명된 http://cranix.net/349 내용을 따라가다가 에러가 나서, 이를 해결(?)한 내용을 정리한 글입니다. 아래의 부가설명을 제외한 나머지 내용은 원본 페이지의 내용을 참고하시기 바랍니다.



참고한 내용에 있는대로 하면 아래에서 오류가 난다.


accountManager.addAccountExplicitly(account, password, null);


문제가 된건 accout에 있는 account type이 맞지 않아서 발생한 현상.

결국 해결한(?) 방법은 계정에 대한 속성(xml 에 정의한)값중 accountType값을 account 생성시에 넘겨 주면 된다.


계정에 대한 정보가 있는 xml 파일에는 다음과 같이 되어 있다.


<account-authenticator xmlns:android="“http://schemas.android.com/apk/res/android”" 

         android:accounttype="“ClipAndBooks" service”="" 

         android:icon="“@drawable/ic_launcher”" 

         android:smallicon="“@drawable/ic_launcher”" 

         android:label="“@string/set_service_account”">

</account-authenticator>



android:accountType=“ClipAndBooks Service” 로 되어 있으니, 코드상의 Account에서는 다음과 같이 한다.


final Account account = new Account(id, “ClipAndBooks Service”);


그런데.. 매번 이렇게 쓰는건 불편할테니.. 별도의 class에다가 써 두는게 낫다. (아.. 용어가 맞지 않을 수 있다.) 

실제 참고로 한 사이트에서도 별도 class로 만든것으로 보이는데, 이 부분에 대한 언급이 따로 없었다.


<Constants.java> 

package com.clipandbooks.test.android_account;


public class Constants { 

   final static String ACCOUNT_TYPE = “ClipAndBooks Service”; 

}


결국은 다음과 같이 한다.


final Account account = new Account(id, Constants.ACCOUNT_TYPE);


이후 나머지는 참고 사이트 내용과 동일하다.


* 부가적인 사항을 제외한 나머지는 원본글을 따릅니다. 


관련글 더보기

댓글 영역