com.facebook.datasource.DataSource类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.4k)|赞(0)|评价(0)|浏览(245)

本文整理了Java中com.facebook.datasource.DataSource类的一些代码示例,展示了DataSource类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DataSource类的具体详情如下:
包路径:com.facebook.datasource.DataSource
类名称:DataSource

DataSource介绍

暂无

代码示例

代码示例来源:origin: aa112901/remusic

  1. dataSource = imagePipeline.fetchDecodedImage(imageRequest, AlbumsDetailActivity.this);
  2. dataSource.subscribe(new BaseBitmapDataSubscriber() {

代码示例来源:origin: Piasy/BigImageViewer

  1. @Override
  2. protected void onNewResultImpl(DataSource<CloseableReference<PooledByteBuffer>> dataSource) {
  3. if (!dataSource.isFinished() || dataSource.getResult() == null) {
  4. return;
  5. }
  6. // if we try to retrieve image file by cache key, it will return null
  7. // so we need to create a temp file, little bit hack :(
  8. PooledByteBufferInputStream inputStream = null;
  9. FileOutputStream outputStream = null;
  10. try {
  11. inputStream = new PooledByteBufferInputStream(dataSource.getResult().get());
  12. outputStream = new FileOutputStream(mTempFile);
  13. IOUtils.copy(inputStream, outputStream);
  14. mFinished = true;
  15. onSuccess(mTempFile);
  16. } catch (IOException e) {
  17. onFail(e);
  18. } finally {
  19. IOUtils.closeQuietly(inputStream);
  20. IOUtils.closeQuietly(outputStream);
  21. }
  22. }

代码示例来源:origin: Piasy/BigImageViewer

  1. private void closeSource(int requestId) {
  2. DataSource source = mRequestSourceMap.remove(requestId);
  3. if (source != null) {
  4. source.close();
  5. }
  6. }

代码示例来源:origin: MukeshKumar009/EcomSample

  1. @Override
  2. public void onFinalImageSet(String s, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
  3. try {
  4. imageReference = dataSource.getResult();
  5. if (imageReference != null) {
  6. CloseableImage image = imageReference.get();
  7. // do something with the image
  8. if (image != null && image instanceof CloseableStaticBitmap) {
  9. CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
  10. Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
  11. if (bitmap != null) {
  12. setImageBitmap(bitmap);
  13. }
  14. }
  15. }
  16. } finally {
  17. dataSource.close();
  18. CloseableReference.closeSafely(imageReference);
  19. }
  20. }
  21. })

代码示例来源:origin: 6ag/BaoKanAndroid

  1. @Override
  2. public void execute(@NonNull Runnable command) {
  3. String filePath = null;
  4. if (dataSource.getResult()) {
  5. filePath = getDiskCacheFilePath(url);
  6. // 防止获取磁盘文件失败
  7. if (TextUtils.isEmpty(filePath)) {
  8. cacheInDiskListener.checkCacheInDisk(false, filePath);
  9. return;
  10. }
  11. }
  12. cacheInDiskListener.checkCacheInDisk(dataSource.getResult(), filePath);
  13. }
  14. });

代码示例来源:origin: szpnygo/NoWordsChat

  1. @Override
  2. protected void onNewResultImpl(DataSource<Boolean> dataSource) {
  3. if (!dataSource.isFinished()) {
  4. listener.cached(false);
  5. return;
  6. }
  7. listener.cached(true);
  8. }

代码示例来源:origin: MukeshKumar009/EcomSample

  1. @Override
  2. public void onFinalImageSet(String s, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
  3. try {
  4. imageReference = dataSource.getResult();
  5. if (imageReference != null) {
  6. CloseableImage image = imageReference.get();
  7. if (image != null && image instanceof CloseableStaticBitmap) {
  8. CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
  9. Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
  10. if (bitmap != null) {
  11. setImageBitmap(bitmap);
  12. }
  13. }
  14. }
  15. } finally {
  16. dataSource.close();
  17. CloseableReference.closeSafely(imageReference);
  18. }
  19. }
  20. })

代码示例来源:origin: Awent/PhotoPick-Master

  1. /**
  2. * 图片是否已经存在了
  3. */
  4. public static boolean isCached(Context context, Uri uri) {
  5. ImagePipeline imagePipeline = Fresco.getImagePipeline();
  6. DataSource<Boolean> dataSource = imagePipeline.isInDiskCache(uri);
  7. if (dataSource == null) {
  8. return false;
  9. }
  10. ImageRequest imageRequest = ImageRequest.fromUri(uri);
  11. CacheKey cacheKey = DefaultCacheKeyFactory.getInstance().getEncodedCacheKey(imageRequest, context);
  12. BinaryResource resource = ImagePipelineFactory.getInstance().getMainFileCache().getResource(cacheKey);
  13. return resource != null && dataSource.getResult() != null && dataSource.getResult();
  14. }

代码示例来源:origin: aa112901/remusic

  1. dataSource = imagePipeline.fetchDecodedImage(imageRequest, MediaService.this);
  2. dataSource.subscribe(new BaseBitmapDataSubscriber() {

代码示例来源:origin: 6ag/BaoKanAndroid

  1. @Override
  2. protected void onNewResultImpl(
  3. DataSource<CloseableReference<CloseableImage>> dataSource) {
  4. if (!dataSource.isFinished()) {
  5. CloseableReference<CloseableImage> reference = dataSource.getResult();

代码示例来源:origin: biezhihua/MySimpleDraweeView

  1. @Override
  2. public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
  3. super.onFinalImageSet(id, imageInfo, animatable);
  4. CloseableReference<CloseableImage> imageCloseableReference = null;
  5. try {
  6. imageCloseableReference = dataSource.getResult();
  7. if (imageCloseableReference != null) {
  8. final CloseableImage image = imageCloseableReference.get();
  9. if (image != null && image instanceof CloseableStaticBitmap) {
  10. CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
  11. final Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
  12. if (bitmap != null) {
  13. setImageBitmap(bitmap);
  14. setScaleType(ScaleType.CENTER_CROP);
  15. }
  16. }
  17. }
  18. } finally {
  19. dataSource.close();
  20. CloseableReference.closeSafely(imageCloseableReference);
  21. }
  22. }
  23. })

代码示例来源:origin: bilibili/BiliShare

  1. @Override
  2. protected void onNewResultImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
  3. CloseableReference<CloseableImage> result = dataSource.getResult();
  4. if (result != null) {
  5. ImageRequest imageRequest = ImageRequest.fromUri(imageUrl);
  6. CacheKey cacheKey = DefaultCacheKeyFactory.getInstance()
  7. .getEncodedCacheKey(imageRequest);
  8. BinaryResource resource = Fresco.getImagePipelineFactory()
  9. .getMainDiskStorageCache()
  10. .getResource(cacheKey);
  11. if (resource instanceof FileBinaryResource) {
  12. File cacheFile = ((FileBinaryResource) resource).getFile();
  13. try {
  14. FileUtil.copyFile(cacheFile, new File(filePath));
  15. if (listener != null)
  16. listener.onSuccess(filePath);
  17. return;
  18. } catch (IOException e) {
  19. e.printStackTrace();
  20. }
  21. }
  22. }
  23. if (listener != null)
  24. listener.onFailed(imageUrl);
  25. }

代码示例来源:origin: Piasy/BigImageViewer

  1. DataSource<CloseableReference<PooledByteBuffer>> source
  2. = pipeline.fetchEncodedImage(request, true);
  3. source.subscribe(new ImageDownloadSubscriber(mAppContext) {
  4. @Override
  5. protected void onProgress(int progress) {

代码示例来源:origin: szpnygo/NoWordsChat

  1. @Override
  2. protected void onNewResultImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
  3. if (!dataSource.isFinished()) {
  4. listener.onNewResultImpl(null, null);
  5. return;
  6. }
  7. CloseableReference<CloseableImage> imageCloseableReference = dataSource.getResult();
  8. Bitmap bitmap = null;
  9. if (imageCloseableReference != null) {
  10. CloseableReference<CloseableImage> referenceClone = imageCloseableReference.clone();
  11. try {
  12. CloseableImage closeableImage = referenceClone.get();
  13. if (closeableImage instanceof CloseableBitmap) {
  14. bitmap = ((CloseableBitmap) closeableImage).getUnderlyingBitmap();
  15. listener.onNewResultImpl(bitmap, referenceClone);
  16. }
  17. } finally {
  18. imageCloseableReference.close();
  19. }
  20. }
  21. }

代码示例来源:origin: aa112901/remusic

  1. dataSource = imagePipeline.fetchDecodedImage(imageRequest, PlayingActivity.this);
  2. dataSource.subscribe(new BaseBitmapDataSubscriber() {
  3. @Override
  4. public void onNewResultImpl(@Nullable Bitmap bitmap) {

代码示例来源:origin: aa112901/remusic

  1. dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
  2. dataSource.subscribe(new BaseBitmapDataSubscriber() {

代码示例来源:origin: aa112901/remusic

  1. dataSource = imagePipeline.fetchDecodedImage(imageRequest, RadioDetailActivity.this);
  2. dataSource.subscribe(new BaseBitmapDataSubscriber() {

代码示例来源:origin: chat-sdk/chat-sdk-android

  1. public static Single<Bitmap> bitmapForURL (final Context context, final String url) {
  2. return Single.create((SingleOnSubscribe<Bitmap>) e -> {
  3. if(!StringChecker.isNullOrEmpty(url)) {
  4. Uri uri = Uri.parse(url);
  5. ImageRequest request = ImageRequestBuilder
  6. .newBuilderWithSource(uri)
  7. .build();
  8. ImagePipeline pipeline = Fresco.getImagePipeline();
  9. DataSource dataSource = pipeline.fetchDecodedImage(request, context);
  10. dataSource.subscribe(new BaseBitmapDataSubscriber() {
  11. @Override
  12. protected void onNewResultImpl(Bitmap bitmap) {
  13. // We need to copy the bitmap because in some cases, Fresco is recycling the bitmap
  14. // which causes a crash later on. Seen this problem in Android 5
  15. e.onSuccess(bitmap.copy(bitmap.getConfig(), true));
  16. }
  17. @Override
  18. protected void onFailureImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
  19. e.onError(new Throwable(context.getString(R.string.unable_to_load_image)));
  20. }
  21. }, CallerThreadExecutor.getInstance());
  22. }
  23. else {
  24. e.onError(new Throwable("Unable to load image"));
  25. }
  26. }).subscribeOn(AndroidSchedulers.mainThread());
  27. }
  28. }

代码示例来源:origin: iielse/ImageWatcher

  1. ImagePipeline imagePipeline = Fresco.getImagePipeline();
  2. DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
  3. dataSource.subscribe(new BaseBitmapDataSubscriber() {
  4. @Override
  5. public void onNewResultImpl(@Nullable final Bitmap bitmap) {

代码示例来源:origin: 6ag/BaoKanAndroid

  1. dataSource.subscribe(subscriber, new Executor() {
  2. @Override
  3. public void execute(@NonNull Runnable command) {

相关文章