Получение ANDROID_ID Попытка понять Java

1

Я все еще новичок в программировании /Java/Android, поэтому я пытаюсь понять все, что я делаю, и попытаться выяснить, как правильно прочитать ссылку на developer.android.com, и поэтому, возможно, один из вас, ребята, может помочь мне, заранее спасибо

Эти вызовы дают мне ANDROID_ID. Они оба дают мне то же самое. Я просто не понимаю, как работает Второй Путь. По-моему, это не должно работать.

Первый путь

AndroidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);

Второй путь

AndroidID = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);

Почему это так работает?

Я использовал это, чтобы найти метод getString(). Я получаю ANDROID_ID. Он отлично работает с использованием обоих вызовов, но я хочу знать, почему он работает вторым способом.

  • 0
    какой идентификатор вам нужен?
  • 0
    Было бы полезно, если бы вы включили ссылку на раздел страницы на developer.android.com, откуда появились эти две строки кода.
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

Я уверен, причина в том, что у вас есть:

import android.provider.Settings.Secure;

В вашем импорте. Аналогичным образом вы обнаружите, что оба диалоговых окна и диалоговые окна имеют разные реализации классов, называемых OnClickListener, но вы все равно можете сделать что-то вроде:

// View.OnClickLitener
OnClickListener foo = new OnClickListener(...) {
     ...
}

DialogInterface.OnClickListener bar = new DialogInterface.OnClickListener(...) {
     ...
}
  • 0
    И это называется «разрешением», или существует другой технический термин для того, как он знает, что, говоря «Безопасный», я действительно имею в виду «Settings.Secure»
  • 0
    Я не очень разбираюсь в технических терминах, но я думаю, что для разрешения чего-либо с типом требуется некоторый ввод, который имеет форму статической ссылки на класс (будь то в объявлении типа или с использованием статического метода), и выяснить, какой класс это должен быть. Я ничего не знаю об истории Java, но я предполагаю, что соглашения о пространстве имен всего пакета должны быть аналогичны DNS, где именованные адреса должны быть преобразованы в IP-адреса. В python, я думаю, это даже больше похоже на то, где вы можете сделать что-то вроде «import os.path as opath».
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню