Вопрос:

URI (универсальный идентификатор ресурса)?

android

51 просмотра

2 ответа

0 Репутация автора

  1. Что на Uriсамом деле делает в Android?

  2. ContactsContract.Contacts.CONTENT_URI

    Какова цель CONTENT_URIздесь?

  3. Uri uri = data.getData(); Intent intent = new Intent(Intent.ACTION_VIEW, uri);

    почему они использовали Ури здесь?

  4. Есть ли замена Ури?

PS Я погуглил, зашел на сайт AndroidDevelopers, все еще растерялся.

код для справки

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public boolean onTouchEvent(MotionEvent motionEvent) {  
        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {   
            startActivityForResult(new Intent
          (Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI),PICK_CONTACT_REQUEST);

            return true;
        }
        return false;
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (requestCode == PICK_CONTACT_REQUEST) {
            if (resultCode == RESULT_OK) {
                Uri uri = data.getData();
                Intent intent = new Intent(Intent.ACTION_VIEW, uri);  
                startActivity(intent);
            }
        }
    }

не я должен был поставить название класса здесь -> new Intent(Intent.ACTION_VIEW,URI);

Автор: user2768308 Источник Размещён: 19.03.2017 07:14

Ответы (2)


2 плюса

809868 Репутация автора

Решение

Что на самом деле делает Ури в Android?

Он делает то же самое, что и в Интернете: это адрес, идентифицирующий некоторый контент. https://stackoverflow.com/questions/42891003/uriuniform-resource-identifierтакже URI.

Концепция универсального идентификатора ресурса (URI) существует уже несколько десятилетий.

Какова цель CONTENT_URI здесь?

Это адрес, идентифицирующий коллекцию контента, в частности коллекцию контактов, управляемую ContactsContract ContentProvider.

почему они использовали Ури здесь?

Это Intentговорит: «Я хочу просмотреть какой-то контент, где контент идентифицирован этим Uri». Мы должны определить содержание как - то , а в Android Uriявляется стандартным способом идентификации контента.

Кроме того, спрашивая «почему Developer X решил заняться Thing Y?» не очень хороший формат для переполнения стека. Единственный, кто может ответить на этот вопрос однозначно, это Разработчик X, и Разработчик X вряд ли поможет здесь и увидит ваш вопрос.

Есть ли замена Ури?

Не в общем.

не я должен был поставить название класса здесь

Intent имеет несколько конструкторов.

Конструктор, который принимает Java- Classобъект в качестве второго параметра, является «явным Intent», идентифицирующим конкретный компонент, с которым вы хотите работать (например, действие, которое нужно запустить).

Конструктор, который принимает строку действия (например, ACTION_VIEW) и, необязательно, Uriявляется "неявным Intent". Это определяет некоторые общие действия, которые должны быть выполнены, когда Android будет пытаться определить компонент, который может обработать это действие. Во многих случаях действие выполняется в отношении некоторого содержимого, указанного Uri(например, просмотр этой веб-страницы, редактирование этого контакта).

Автор: CommonsWare Размещён: 19.03.2017 07:26

-1 плюса

0 Репутация автора

Так же , как URL(веб - сайт) а URIпомогает сохранить АБСОЛЮТНУЮ PATH / LINK на веб - адрес или любой элемент в вашей системе андроида для экземпляра пути КОСАНИЯ в . В приведенном выше коде URI используется для хранения адреса (пути) контакта, который вы пытались получить.

Автор: user7777664 Размещён: 28.03.2017 04:35
Вопросы из категории :
32x32