DEV_EASY_NOTES Telegram 53
​​После того как мы осознали разницу между потоком и процессом разберем задачу. Есть два (🪑) приложения, допустим одно приложение это калькулятор💻, а второе банковское приложение💰. Банковское приложение не умеет считать, следовательно, для расчета оно должно обратиться к приложению калькулятор, который как мы знаем находится в другом процессе. Как это сделать? 

💡Ответом будет IPC. IPC расшифровывается как inter-process communication, или по-русски межпроцессная (не путать с межпроцессорным) коммуникация. Это механизм, который позволяет общаться процессам друг с другом.

У IPC есть куча методов, учитывая, что мы говорим в контексте системы Android, разберем основные которые можно использовать в этой системе:

🌐 По сети. Приложение калькулятор делает локальный сервер, а банковское приложение просто стучится к этому серверу. Два приложения на одном устройстве, значит даже интернет не нужен.

📁Через файл. Банковское приложение оставляет заявку на расчет в некотором файле. Калькулятор постоянно следит за этим файлом. Как только в нем оказывается заявка, калькулятор делает расчет и пишет результат в другой файл, который уже подхватывает банковское приложение.

👉Content provider. Эта штука специфична для платформы Android. Content provider один из основных компонентов Android приложения, который позволяет делиться данными нашего приложения с другими. Его например использует Яндекс . Когда вы залогинились в одном приложении, вы автоматически логинитесь в других приложениях Яндекса.

🌚Фреймворк Binder

У каждого варианта есть свои недостатки и свои плюсы. Рассмотрим недостатки каждого:

👉Вариант с сетью. Основная проблема в том, что система может неожиданно прибить 🧨 приложение сервер. Учитывая, что Android последних версий вообще ужесточает правила для приложений работающих в фоне, этот вариант почти нереален. 

👉С файлом еще больше проблем: может закончиться место, другой процесс прибьет файл, приложение калькулятор может упасть и испортить файл, или система просто прибьет приложение калькулятор. 

👉 С Content provider в этом плане все намного лучше, однако он очень ограничен . По своей сути работа с Content provider похожа на работу с обычной базой данных 🗄. Мы можем получить данные, или сохранить, но мы не можем вызывать функцию у другого процесса и попросить дернуть наше приложение позже с ответом.

И остается Binder, темная лошадка 🐎, о которой знают даже не все Android разработчики. Что это и как использовать разберем в следующих постах.
👍6



tgoop.com/dev_easy_notes/53
Create:
Last Update:

​​После того как мы осознали разницу между потоком и процессом разберем задачу. Есть два (🪑) приложения, допустим одно приложение это калькулятор💻, а второе банковское приложение💰. Банковское приложение не умеет считать, следовательно, для расчета оно должно обратиться к приложению калькулятор, который как мы знаем находится в другом процессе. Как это сделать? 

💡Ответом будет IPC. IPC расшифровывается как inter-process communication, или по-русски межпроцессная (не путать с межпроцессорным) коммуникация. Это механизм, который позволяет общаться процессам друг с другом.

У IPC есть куча методов, учитывая, что мы говорим в контексте системы Android, разберем основные которые можно использовать в этой системе:

🌐 По сети. Приложение калькулятор делает локальный сервер, а банковское приложение просто стучится к этому серверу. Два приложения на одном устройстве, значит даже интернет не нужен.

📁Через файл. Банковское приложение оставляет заявку на расчет в некотором файле. Калькулятор постоянно следит за этим файлом. Как только в нем оказывается заявка, калькулятор делает расчет и пишет результат в другой файл, который уже подхватывает банковское приложение.

👉Content provider. Эта штука специфична для платформы Android. Content provider один из основных компонентов Android приложения, который позволяет делиться данными нашего приложения с другими. Его например использует Яндекс . Когда вы залогинились в одном приложении, вы автоматически логинитесь в других приложениях Яндекса.

🌚Фреймворк Binder

У каждого варианта есть свои недостатки и свои плюсы. Рассмотрим недостатки каждого:

👉Вариант с сетью. Основная проблема в том, что система может неожиданно прибить 🧨 приложение сервер. Учитывая, что Android последних версий вообще ужесточает правила для приложений работающих в фоне, этот вариант почти нереален. 

👉С файлом еще больше проблем: может закончиться место, другой процесс прибьет файл, приложение калькулятор может упасть и испортить файл, или система просто прибьет приложение калькулятор. 

👉 С Content provider в этом плане все намного лучше, однако он очень ограничен . По своей сути работа с Content provider похожа на работу с обычной базой данных 🗄. Мы можем получить данные, или сохранить, но мы не можем вызывать функцию у другого процесса и попросить дернуть наше приложение позже с ответом.

И остается Binder, темная лошадка 🐎, о которой знают даже не все Android разработчики. Что это и как использовать разберем в следующих постах.

BY Dev Easy Notes




Share with your friend now:
tgoop.com/dev_easy_notes/53

View MORE
Open in Telegram


Telegram News

Date: |

The Standard Channel The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. Activate up to 20 bots The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot.
from us


Telegram Dev Easy Notes
FROM American