Я пытаюсь использовать мое приложение wearOS для расширения моего приложения Paint.Я пытался отправлять растровое изображение в приложение для износа каждый раз, когда добавлялась новая точка, но это вызывало ужасную задержку.
Я пытался сериализовать массив Path, но затем быстро заметил, что могу просто пропустить три различных функции рисования, (начало, движение, конец) через точки и функции.
Это моя попытка onMove:
public void sendPoint(Point p)
{
long[] newPoint = new long[2];
newPoint[0] = p.x;
newPoint[1] = p.y;
PutDataMapRequest dataMap = PutDataMapRequest.create("/count");
dataMap.getDataMap().putLongArray("count", newPoint);
PutDataRequest request = dataMap.asPutDataRequest();
Task<DataItem> putTask = Wearable.getDataClient(this).putDataItem(request);
}
Прежде чем перейти к onStart и onEnd, я бы хотел указать следующий точный код:
public void sendPaint(Bitmap b)
{
Bitmap bitmap = b;
Asset asset = createAssetFromBitmap(bitmap);
PutDataMapRequest dataMap = PutDataMapRequest.create("/image");
dataMap.getDataMap().putAsset("profileImageX", asset);
PutDataRequest request = dataMap.asPutDataRequest();
Task<DataItem> putTask = Wearable.getDataClient(this).putDataItem(request);
}
Я смог отправить свое растровое изображение.
Причина, по которой я говорю, что это странно, потому что все, что я сделал, это изменил .putAsset
dataMap.getDataMap().putAsset("profileImageX", asset);
на .putLongArray
dataMap.getDataMap().putLongArray("count", newPoint);
Есть идеи, почему это не работает?Я заметил, что sendData работает, только если данные новые, возможно, это проблема.В этом случае я хотел бы знать, как стереть «данные», отправленные после их получения и использования в приложении WearOS.