Перейти к содержанию
Fire Monkey от А до Я

Лидеры

Популярный контент

Показан контент с высокой репутацией 01.10.2018 во всех областях

  1. @Alex7wrt, устанавливают в том числе и новые пользователи на старых версиях андроида, и у них работает. minSdkVersion для этого. Что касается targetSDK, то этим значением приложение уведомляет операционку, что возможно будет использовать api вплоть до данной версии. targetSDK 27 пока не использовал, только 26, и все что надо работает. В самом коде делаю анализ текущей версии SDK, и в зависимости от нее возможно делаю дополнительные действия. Вот например, работа с правами: {$IFDEF ANDROID} // для Android 6+ требуется дополнительная работа с правами if TJBuild_VERSION.JavaClass.SDK_INT >= 23 then begin if (TAndroidHelper.context.checkSelfPermission( StringToJString(PERMISSION_FILE_READ) ) = TJPackageManager.JavaClass.PERMISSION_DENIED) or (TAndroidHelper.context.checkSelfPermission( StringToJString(PERMISSION_FILE_WRITE) ) = TJPackageManager.JavaClass.PERMISSION_DENIED) then begin // необходимо запросить разрешение на использование галереи LIsWaitPermissions := True; TAndroidHelper.Activity.requestPermissions( CreateJavaStringArray([PERMISSION_FILE_READ, PERMISSION_FILE_WRITE]), BUTTON_FILE ); end; end; {$ENDIF}
    1 балл
  2. Вот пример того, как писать и читать BLOB procedure SaveToFireDACBlob; var MemStream: TMemoryStream; begin FireDAC.Connected := True; MemStream := TMemoryStream.Create; try Image1.Bitmap.SaveToStream(MemStream); MemStream.Seek(0,0); FDQueryInsert.ParamByName('Media').LoadFromStream(MemStream,ftBlob); FDQueryInsert.ParamByName('MType').AsString := '0'; FDQueryInsert.ExecSQL(); except on e: Exception do begin ShowMessage(e.Message); end; end; MemStream.Free; FireDAC.Connected := False; end; procedure LoadFromFireDACBlob; var BlobStream: TStream; begin FireDAC.Connected := True; try FDQuerySelect.Open; FDQuerySelect.First; while(not FDQuerySelect.EOF)do begin // access a stream from a blob like this BlobStream := FDQuerySelect.CreateBlobStream(FDQuerySelect.FieldByName('Media'),TBlobStreamMode.bmRead); // access a string from a field like this if (FDQuerySelect.FieldByName('MType').AsString='0') then begin // load your blob stream data into a control ImageViewer.Bitmap.LoadFromStream(BlobStream); end; BlobStream.Free; FDQuerySelect.Next; end; except on e: Exception do begin //ShowMessage(e.Message); end; end; FireDAC.Connected := False; end; {источник http://www.fmxexpress.com/read-and-write-a-blob-field-using-firedac-with-firemonkey-on-android-and-ios/} Касательно работы с изменением качества/размера, считаю что необходимо использовать TBitmapSurface (unit FMX.Surfaces)
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...