Как на самом деле осуществляется совместное использование компонента приложения?
Это полностью зависит от того, что вы считаете «компонентом приложения», и то, что вы считаете «совместным использованием».
Это то, что говорит Android Dev Guide
Это довольно плохая часть документации.Вот как я мог бы написать это:
Основная особенность Android состоит в том, что одно приложение может использовать компоненты (например, действия, службы) других приложений (при условии, что эти приложения позволяют это).Например, если вашему приложению необходимо отобразить список контактов, а другое приложение разработало действие, которое делает именно это и сделало его доступным для других, вы можете обратиться к этому действию, чтобы выполнить работу, а не разрабатывать свое собственное.Ваше приложение не содержит код другого приложения.Скорее, он просто запускает эту часть другого приложения, когда возникает необходимость.
Является ли единственным способом получения такой информации «частного приложения» для связи с разработчиками этого приложения?
Либо разработчики намереваются интегрироваться с ними, либо нет.Если это так, они должны документировать, как это сделать (например, форматы Intent
, которые будут использоваться с startActivity()
для запуска их кода).Если они не документируют такие точки интеграции, вы, конечно, можете попросить разработчиков добавить некоторые из них.Однако случайная стрельба в них Intents
в надежде получить ответ, даже если он временно работает, немного лучше, чем тактика детского сценария - эти разработчики не обязаны гарантировать, что ваш код работает при обновлении их приложения.
Является ли информация о данных, с которыми приложение работает, также конфиденциальной?
Я не знаю, что означает "информация о данных, с которыми работает приложение".Данные, управляемые приложением, по умолчанию являются частными.Опять же, разработчики приложений могут предлагать точки интеграции для данных (например, контент-провайдера, API удаленного обслуживания) - некоторые делают, некоторые нет.
одной из вещей, которые захватили меня, было впечатление огромногосовместимость
Android предлагает большую совместимость потенциал , чем некоторые другие мобильные платформы.Однако использование этого потенциала требует согласия между участниками.Вы не можете в одностороннем порядке решить взломать базу данных другого приложения или вызвать частные действия только потому, что вам это нравится.
Должно ли больше разработчиков Android предлагать больше точек интеграции?В резюме, конечно.Однако имейте в виду, что это увеличивает затраты на поддержку (например, ответы на вопросы об интеграции) и ограничивает гибкость кодирования (например, необходимо поддерживать стабильный API для тех, кто выполняет интеграцию).Разработчики не могут быть обвинены, если они не хотят брать на себя все это.