[ Flutter QRcode successive scans ] - flutter

I'm developing a Flutter application based on QRcode scan.
I'd want the user to be able to scan multiple QRCODES without exiting the scan screen so we can scan like ten of them in a row that would update a results list and when the user manually exit the screen and is back on previous screen would display this results list.
How can i achieve this please ?
Is there a Qr code reader package from pub.dev allowing this ?
Thanks for any help !
PS : I'm actually using "qr_flutter" lib here : https://pub.dev/packages/qr_flutter
because it seems to be the most popular but can change if needed.
EDIT :: Also checking this one :: qr_code_scanner 0.5.2 https://pub.dev/packages/qr_code_scanner
as popular as the first one and seems to allow continuous scan for QRcodes...

if you want to try continiusly scan for the screen check this package https://pub.dev/packages/flutter_barcode_scanner

Well i finally used qr_code_scanner 0.5.2
https://pub.dev/packages/qr_code_scanner
That works very well and allows to scan several QRcodes in a row and personnalize your "QRView" as you want.
That's, of course, more code than using the 1st lib which gives you it's own "QRview" and just return a single scan result per time.
So
1st lib > 1 result per time / easiest to use
2nd lib > customize as you want ^^

Related

When shrink litedb files then app cannot find index on <collection>._id. How could i fix it?

I use 3.xx version of litedb and want to shrink the file since it always grows its size.
I shrunk it using LiteDbExplorer's "shrink" button, but now app cannot use this db file.
But still it seems good when using viewer litedbexplorer, litedbviewer, litedbstudio.
I can see data well on these viewers.
but when run application then
it shows
message like "LiteDB.LiteException: Index not found on '<collection_name>._id',
at LiteDB.Query.Run(CollectionPage col, indexService indexer)
at
LiteDB.LiteEngine.<>c__displayClass14_0.b__0(Collectionpage col) ~~~..."
Did I make it broken?
but Index on _id(primary key) and other indexes still exist well.
I check it using "db.collectionname.indexes".
anybody help me through?
It was because of collections' name restriction.
If collection's name is not fit then it cannot manipulate itself, not only its documents.
And also LiteDBExplorer's shrinking function might have some problem.
It does not work always, but LiteDBshell works.
Please use "db.shrink" at shell.
I guess messages like "Invalid format: Collection" at shell can be fixed by changing collection's name.

Update Binding Items Upload Collection

I'm trying to use a UploadCollection in my SAPUI5 App, to upload files and display them to the user. My page has two UploadCollections. One to upload and display PDF-Documents and one for JPG-Image files. The upload via a Odata V2 Service works perfectly well, but I ran into a difficulty displaying the uploaded files in the correct UploadCollection.
After the successful Upload of all files in both UploadCollections I'm triggering a refresh on the binding Items of both Upload Collections. Sadly this refresh is ignoring the filters which are applied to the items of each UploadCollection. This leads to the unfortunate situation, that the pdf and image files are displayed in both UploadCollections and not only in the correct Image- or PDF-UploadCollection. I would love to know why this is the case.
I've already tried to filter the binding items again, but then the request magically remembers that there has been a filter applied to the UploadCollection items from the beginning and therefore is executed with the same filter applied two times which leads to an error.
The only solution I found this far is to completely reload the page to reapply the correct filter to each Upload Collection. It would be fantastic if someone could help me with issue and possibly supply any solutions.
UploadColelction items Binding:
UC1: items="{path:'ImageSet', filters:[{path: 'Filetype', operator: 'EQ' , value1: 'IBR'}]}"
UC2: items="{path:'ImageSet', filters:[{path: 'Filetype', operator: 'EQ' , value1: 'DBR'}]}"

Reading Dogbone (Magnus 3) sensor tags with Zebra RFD8500

I'am trying to read the new sensor tags Dogbone, (with Magnus S3 IC) but I don't have luck.
I'am using Zebra RFD8500 and programming with the Zebra SDK for Android.
I want to read the RSSI or the temperature values, but it seems the problem is with the Select command.
In either case, it is a two step procedure : 1) select command to match a specific tag pattern in a specific pointer address at the MEMORY_USER_BANK. Then the IC detect that have to store
the solicited value in a specific address at the MEMORY_RESERVED_BANK and 2) read the value, from the specific address at the MEMORY_RESERVED_BANK.
For the Select command (C1G2) I tried with Access-filters and Pre-Filters, but although the tag is matched, the IC doesn't store a value in the RESERVED Bank.
Somebody knows if Zebra APIs support the reading of this newers tags ? Or suggest me any other test?
Thanks a lot for your help
Regards.
It's possible to read the RSSI value with EPC Gen2 tags, so if the tag you're referring to supports this standard it should work.
Try downloading the Zebra RFID sample app > Perform inventory > If the tag is found it should display the RSSI. The sample app code can be found here
As for the temperature values try reading the USER memory in the sample app as well to see if you can get it.
I suggest using the SLS smartSLED; it has built-in functionality for the Magnus (Axzon) chip family (both S2 and S3).

Stable ID's in fiori launchpad

I am using a FlexColumnLayout for my app.
In the mid column I need to access a controll of the begin column of the FlexColumnLayout. Here is the problem:
Since it is a different view I cannot use
this.getView().byId("myId")
My first solution was to use stable ID's, by giving the views (XML) IDs.
Like that I could use:
sap.ui.getCore().byId("application---viewId--myId")
At first it worked just fine, but now that I integrated my app into the fiori launchpad the first part of the stable ID (the part before "viewId") changed and when I transport into productive it will change again.
Is there a way to access the mid column controls without sap.ui.getCore().byId?
Or is there a way to load the first part dynamically so I don't need to change my IDs when tranporting?
Sadly I don't know how to reproduce a Launchpad for testing purposes, but for those who want to test their ideas about my problem, my FlexColumnLayout is build just like in the DemoApp: https://sapui5.hana.ondemand.com/#/entity/sap.f.FlexibleColumnLayout
Ok guys i found a solution:
this.getView().getParent().getParent()
returns the FlexColumnLayout. This has a method called "getBeginColumnPages", which returns an array of the views representing the begin column. Now that i can access the view in which my control is found, i can access it with the sap.ui.core.mvc.View.byId() method.
Now I have
this.getView().getParent().getParent().getMidColumnPages()[0].byId("myId")
Since the doulbe .getParent() doesn't seem to be ideal, please post a better solution if you know one : D
You have to use createId() function, this will return the complete ID of your control.
this.byId(this.createId("myid"));

Using barcode scanner to read barcode in forms 10g

I want to use barcode to read instead of using input from keyboard. I use Key Enter trigger and passing null against it but it did't fire. Any solution.....
I Googled for it and found this article. The pertinent line is
"In order to cause the key-next-item to execute you will need to ensure
the bar code reader sends a TAB key sequence at the end of each scan
so that the key-next-item trigger will fire."
I don't know whether that will solve your problem but the solution will probably be something along those lines: configuration of the reader.