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

Great it will make the difference in using kodular. If you have enough time in the future
not now :sleepy:
[image] Can you make tutorial on how to use search in this app(that you have created)?

Oh yeah sure…

1 Like

Good work Zain :+1: :heart:
And it’s open-source, well done ! :clap:

4 Likes

@Still-learning @dora_paz @Franklin_Lopez @Boban and others interested in RecyclerList, I have a proposal of changing some blocks to make extension even more expressive.

Instead of Count, we can instead have Data property that accepts a list of data. And then you would be able to access individual list items inside OnBindView event. What are your thoughts??

Previous Blocks

count

on_bind_view

New Blocks

data

onbindview

Search List Example with new recycler implementation

:camera: Preview

20220509_143046

:file_folder: Project

What would you prefer?

Check sample project before voting.

  • Count Property
  • Data Property

0 voters

15 Likes

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:

8 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