Я пытаюсь использовать приложение WearOS для расширения приложения Paint. Я пытался отправлять Bitmap в приложение износа каждый раз, когда добавлялась новая точка, но это вызывало ужасную задержку.
Я попытался сериализовать массив 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.




android:permission = "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
необходим для того, чтобы также работать в вашем классе
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "your.applicationid" // needs to be the same in both modules
minSdkVersion 20
targetSdkVersion 23
versionCode 1
versionName "1.0"
targetCompatibility = '1.7'
}
...
Также, как вы говорите, я думаю, вам нужно постоянно ставить что-то действительно новое, например System MillTimes.
dataMap.getDataMap().putLong("Time",System.currentTimeMillis())
Вы проверяли этот stackoverflow.com/questions/25205888/…?
Привет, сумасшедший. Я пробовал эти изменения, но у меня до сих пор нет рабочего onDataChanged!