์ด ์ฝ๋๋ ์์ธ๋ฅผ ํฌ์ฐฉํ์ง ์๊ณ ์ถฉ๋ํฉ๋๋ค.
def build(self):
try:
return Label(text=str(dir(autoclass('android.provider.ContactsContract.Contacts'))).replace(' ', '\n'))
except Exception as ex:
return Label(text=str(ex).replace(' ', '\n'))
์ด ๊ฒฝ์ฐ
def build(self):
try:
contract = autoclass('android.provider.ContactsContract')
return Label(text=str(dir(contract.Contacts)).replace(' ', '\n'))
except Exception as ex:
return Label(text=str(ex).replace(' ', '\n'))
catch ์์ธ ์ ํ ๊ฐ์ฒด 'android.provider.ContactsContract'์๋ '์ฐ๋ฝ์ฒ' ์์ฑ์ด ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ ๊ทธ๋ฌํ ํด๋์ค๊ฐ ์กด์ฌํ๋ค๊ณ ๊ธฐ๋ํฉ๋๋ค. http://developer.android.com/intl/ru/reference/android/provider/ContactsContract.Contacts.html
๋ค์๊ณผ ๊ฐ์ด ์ฐ๋ฝ์ฒ๋ฅผ ์ง์ ๊ฐ์ ธ์ค์ญ์์ค.
Contacts = autoclass('android.provider.ContactsContract$Contacts')
'$'๋ ์ค์ฒฉ ํด๋์ค์ ์ก์ธ์คํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๊ทธ๊ฒ์ ์๋ํฉ๋๋ค, ๊ฐ์ฌํฉ๋๋ค!
์ง๋ฌธ ํ๋ ๋.
"ContactsContract.Contacts._ID"๋ฅผ ์ป๋ ๋ฐฉ๋ฒ?
Contacts = autoclass('android.provider.ContactsContract$Contacts')
System.out.println(' '.join(dir(Contacts))) # CONTACT_CHAT_CAPABILITY CONTACT_LAST_UPDATED_TIMESTAMP CONTACT_PRESENCE CONTACT_STATUS CONTACT_STATUS_ICON CONTACT_STATUS_LABEL CONTACT_STATUS_RES_PACKAGE CONTACT_STATUS_TIMESTAMP CONTENT_FILTER_URI CONTENT_FREQUENT_URI CONTENT_GROUP_URI CONTENT_ITEM_TYPE CONTENT_LOOKUP_URI CONTENT_MULTI_VCARD_URI CONTENT_STREQUENT_FILTER_URI CONTENT_STREQUENT_URI CONTENT_TYPE CONTENT_URI CONTENT_VCARD_TYPE CONTENT_VCARD_URI CORP_CONTENT_URI CUSTOM_RINGTONE DISPLAY_NAME DISPLAY_NAME_ALTERNATIVE DISPLAY_NAME_PRIMARY DISPLAY_NAME_SOURCE ENTERPRISE_CONTACT_ID_BASE EXTRA_ADDRESS_BOOK_INDEX EXTRA_ADDRESS_BOOK_INDEX_COUNTS EXTRA_ADDRESS_BOOK_INDEX_TITLES FILTER FILTER_NONE FILTER_WIDGET HAS_PHONE_NUMBER INDEX_IN_SIM INDICATE_PHONE_SIM IN_DEFAULT_DIRECTORY IN_VISIBLE_GROUP IS_SDN_CONTACT IS_USER_PROFILE LAST_TIME_CONTACTED LOOKUP_KEY NAME_RAW_CONTACT_ID PHONETIC_NAME PHONETIC_NAME_STYLE PHOTO_FILE_ID PHOTO_ID PHOTO_THUMBNAIL_URI PHOTO_URI PINNED QUERY_PARAMETER_VCARD_NO_PHOTO SEND_TO_VOICEMAIL SEND_TO_VOICEMAIL_SIP SEND_TO_VOICEMAIL_VT SORT_KEY_ALTERNATIVE SORT_KEY_PRIMARY STARRED TIMES_CONTACTED _COUNT _ID ...
_ID = Contacts._ID # Error
https://github.com/kivy/pyjnius/issues/169 ์ ๊ด๋ จ๋ pyjinius์ ๋ฌธ์ ์
๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ง์ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํฉ๋๋ค.
CONTACTS_ID = '_id'
๊ทธ๋ฐ ๋ค์ ์ฐ๋ฝ์ฒ์ ์ก์ธ์คํ๊ธฐ ์ํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ Contacts._ID๋ฅผ ์ฌ์ฉํ๋ ๋์ CONTACTS_ID๋ฅผ ์ฌ์ฉํฉ๋๋ค.
_COUNT๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
์ ์ฒด ์ฐ๋ฝ์ฒ ๋ชฉ๋ก์ ์ก์ธ์คํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค์๊ณผ ๊ฐ์ด ์ฐ๋ฝ์ฒ๋ฅผ ์ง์ ๊ฐ์ ธ์ค์ญ์์ค.
'$'๋ ์ค์ฒฉ ํด๋์ค์ ์ก์ธ์คํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.