How to not ask user permission to read data?

picasso extension does not support dynamic component as yet.

I tired your extension, got tons of download notification on mobile and was also not able to route file location successfully.

I have a question -
I edited android manifest file, and removed the code requesting user for permission to read, then Why is it still asking user read permission? I had removed that code!!

You can try this:

1 Like

Hi,
Does it work with dynamic components? With the sample blocks not able to figure out to use it with dynamic components.

Waiting for an update of your extension.

@Atom_Developer can answer.

Sure.

1 Like

extension can work with dynamic components, see an example here

1 Like

Wait…Picasso has been migrated to AndroidX so it will not work in Kodular.

Let’s assume there are 3 items in the URL list. Then the paths to the images are:

/storage/emulated/0/Android/data/io.makeroid.companion/files/image1.jpg
.../image2.jpg
.../image3.jpg

So where is the problem?

The component is requesting falsely this permission (there is no way to workaround). If you remove READ permission from the Manifest, it is no longer possible to ask for this permission and you get an error message.

Note: A permission must be declared in the Manifest to be able to ask for it.

Does this work with kodular dynamic components as well? I tried and got an error.

Okay.

Which error? And show all relevant blocks.

error : Argument #2 (com.google.appinventor.components.runtime.util…) to ‘com.atomdeveloper.GlideImageLoader.GlideImageLoader.LoadImage(com.google.appinventor.components.runtime.Image,java.lang.String)’ has wrong type (com.google.appinventor.components.runtime.util.KodularDynamicUtil$ComponentReturnHelper) (expected: com.google.appinventor.components.runtime.Image)
Note: You will not see another error reported for 5 seconds.

@sanatmalani your block are wrong the Glide Image Loader is taking imageview as a parameter but you are giving it a card view that causes the whole error

I tried with image view as well still getting the same error


error: Argument #2 (com.google.appinventor.components.runtime.util…) to ‘com.atomdeveloper.GlideImageLoader.GlideImageLoader.LoadImage(com.google.appinventor.components.runtime.Image,java.lang.String)’ has wrong type (com.google.appinventor.components.runtime.util.KodularDynamicUtil$ComponentReturnHelper) (expected: com.google.appinventor.components.runtime.Image)
Note: You will not see another error reported for 5 seconds.

It need an simple image component for loading the image for url it doesn’t accept kodular dynamic image.
If you want to use the dynamic component with this extension then use the dynamic component extension by @yusufcihan

does it accept paths from links?

I tried with the dynamic extension you mentioned. Still getting error. The operation select list item cannot accept the arguments: , [https://ww.example.com/image.png], [2],

this url belongs to index 2 as index 1 is header.

my list has more than 250 items

Please show me your full blocks you are giving a list at place of index

How about debugging your blocks?

See here (point 4):

will try.

I have one question. In this App I am using 1 view pager, 1 vertical scroll, 6 horizontal arrangements, 24 vertical arrangement - these arragnments are not dynamc.
250 - cards, image verticals arrangements, label - dynamic.

Will my app take a lot of time to load? I want to minisize app load time - any suggestions?

You need to test this on several devices, Android versions, devices with small and big RAM etc. I would also always have at least one internal test track checked by the Goggle Pre-Launch Report on their test devices. Among other things, the loading times are also displayed there.

This extension is crashing my app :confused: . There are two versions, I tried both, they are craashin my app.

the second one worked in companion, but crashed when installed.

Any solution??? Community people??