[F/OS] Recycler List View - Render larger data sets efficiently using `RecyclerView` for AppInventor & Distros

One doubt:

If I have 14k row items , dynamic component created quickly but I am unable to generate individual lists as much as faster.

Each row 4 items. Totally 13k rows . App needs time to create each col into 4 lists… Is there any Recycler way of creating lists from base items?

And searching a item in 13k items recycler mode also feel lagging the app.

1 Like

Can you show what layout you want to implement?

1 Like

I have created Recycler view with Button and three labels in a cardview with the help of google sheet of having 4 colums… Like this more than 1000 cv i have created. Now i would like to search for a particular item (just like your previous Listutil extension).

If i search i wanna create the same like recycler based on search result…

Is there any way to have search result faster with more than 5k items?

1 Like

Well for searching a list this big, you should instead work on a background thread. The filtering process in slow. Recycler view doesn’t care how large your data is. Because it only renders views that are visible on the screen. I would recomment filtering data on a background thread.

4 Likes

I test it with a cvs file that contained ~13000 rows, 4 columns. Works really nice

See video

3 Likes

No, I just imported your csv to assets, no internet needed. Modified original aia provided by @Boban in How can i load big data(12600rows) from csv file using kodular dynamic without lag or freeze - #67 by Boban with latest version of extension, using data and ListUtils extension

1 Like

Your extension + gviz method was gives fantastic result…
Is there any way to clear generated list views ? If i do searching multiple times, result produces overlapping of list views

2 Likes

This is initial time needed to make a separate list (13k items into four lists).

1 Like

I have a really cool idea in mind of implementing pagination using android Paging3 library which will reduce initial load time by reducing amount of data being loaded. Just hope that I am able to do it.

Read more:

7 Likes

How we can fix overlapping cardview problem after search??

1 Like

Why four lists? No need to create 4 lists, just get table once and save it to a global list no overlapping at search

2 Likes

The main issue in implementing this functionality is the way data is loaded. Because in extension, I don’t know how a user is loading data. He/She maybe using local database or maybe some online platform. Maybe we could discuss it with some other interested devs to comeup with a better and scalabale solution. Thought??

2 Likes

In think the issue is that till now we needed to create separate lists to load different values. Now with your extension I load the hole table, no need to create separate lists. So using for example a google spreadsheet it took 3 seconds to get a big table and once you have the data you don’t need to call again the spreadsheet

Also this is very helpful

2 Likes

From the votes, it is clear that Data property is more readable and understandable than Count property. Therefor I will deprecate Count block. It will still work so the porjects will not break too much. However after next version, it will be remove and it won’t be present in newer projects either.

2 Likes

@dora_paz can you send aia ? how do you get data in offline mode without separate list
(using gsheet) i need blocks please

Schema works fine!

4 Likes

Thanks for letting us know. It’s great to hear that cause I really didn’t test it.

1 Like

Once again i felt the magical work of your extension…

Loaded 13k items from gsheet to app , created custom layout in microseconds, recreated again custom layout based on search result also flashes in microseconds…

Well-done @zainulhassan :clap: :clap: :clap:

the way of creating Recycler view from tinydb ,second time onwards, was Lightning fast… Uncompaprable extension Man…

3 Likes

Please add onrecyclerview scroll event to get (postion , up or down scrolled)

1 Like

Suddenly it is throwing this error with this aia…

Dont know the exact reason. Is it working fine V1 with anybody? Even i was created an app few days before , it was worked fine but today it is too throwing the same in companion

Version2 working fine, without error