I have to develop an android application able to acquire data and chart them in real time.
Now, on Android Platform there are not built-in graphical libraries, however It is open source, so there are many libraries you can download and install.
Many of these are not able to perform real time chart, and the most part lacks of tutorial and code samples, as a consequence I don't know which I could choose.
I have just tested Android Plot but the graphic thread clashed with the thread of acquisition and the main thread, causing a deadlock and I didn't know why.
I found on a web forum that this library doesn't fit very well with real time chart, so I decide to give up it.
I would be grateful if you advice me which library is more suitable for my problem.
I have never tried this although a technically possible solution would be to use AJAX-y requests in combination with the Google Charts Query Wrapper?
Could be awesome but this means your app would only be able to chart when connected to the internet. Where is the data being stored? Online or in a local SQLite database? The query wrapper chart would be less appropriate if you were just reading your data out of a local database but the approach (AJAX & Google Charts) would be sweet.
Related
I want to implement a searcher in the app. When the user searches for the video stored in the local phone database using the search bar, suggestion will be popping up to aid in their search. And to generate the relevant filters for each video, I’m thinking of using tensorflow lite to process each video in the database automatically (object detection, human activity recognition, audio recognition), and generate tags to store in the database. And from the database, it’ll be used for the suggestion for the search bar.
For the database, I’m thinking of using DAO, to store the data on the phone locally. I think it has sufficient storage as I’m thinking of storing the tags (such as what kind of object it contains, location when the video is taken, etc)
And for the TFlite models, I got the example codes from the official GitHub of tensorflow lite. And I’m still inspecting the code to get the output of the model and store it to the database.
I’m actually not sure on how to process the videos in the background automatically whenever there’s unprocessed or edited video added to the phone.
Any insight/feedback is definitely welcomed as I’m facing a huge block in implementing the app. Appreciate if links or relevant pointers can be provided so I can look further. And if there’s any wrong to my thought process in implementing, feel free to point it out. Thanks so much.
FYI, I’m coming from Electrical and Electronic Engineering background, and I had never learn android app development before. I’m self learning it now, and implementing the app using Jetpack Compose and Kotlin language, but as long as the methodologies are compatible with the existing project without breaking it, then it’s fine.
Let's start with why do I want to do that:
The project my company's currently working in, involves the possibility to have one of our client's employee to go to the end of the world, with absolutely no way of having a connection to a mobile network, taking a portable printer with him, and print a report from his tablet. We currently have a working report already being printed this way, but they added a little detail that caused lots of trouble, which is the reason I'm here, I need to put 3 charts at the end of a Jasper report.
In a web application that would be extremely easy, since Jasper itself offer this functionallity, but since it's a mobile project, we tried using PDFReporter. This API generates a PDF from a .jrxml file, but it doesn't support every single feature from Jasper, and charts are one of them. Searching the web I've found that we could export a chart to a PNG and then add it to the report, which would work with PDFReporter.
Starting today by 8am I've spent my day searching and testing different chart-generating APIs, just to discover that, so far, 100% of the android APIs are meant to generate a chart directly on a view you specified on your activity, but that doesn't work for me at all.
I've also tested a few Java APIs, but got an issue there too, since most of them use java.awt resources to manipulate images, and that package is not included in android's SDK, nor is it supported (discovered that by adding JFreeChart to my project, which made my build take about 15 minutes and in the end fail with an OOM error).
So what I need help with is: is there an API I can use directly on a mobile project, with no connection whatsoever, that generates a pie chart as a PNG without having to render it on a view and just then fetching the Image?
I'd just like to make it clear that I'm NOT 100% sure about most of the things I've said above, except for the limitations of PDFReporter, those are confirmed, so please, any kind of help will be GREATLY appreciated, even a little "that's not how it works" will help.
Thanks in advance if you at least took your time reading it :)
I am not sure why you say "... generate a chart directly on a view you specified on your activity, but that doesn't work for me at all". Everything you see of your Android app is in some View anyway (in your case it would probably be an ImageView).
Do you just want to generate the chart as a PNG in memory and store it or manipulate it further? In that case, you could first generate it in a hidden ImageView using the API of your choice, then extract it using ImageView.getDrawable() for example. Assuming the API has no problem with the view being hidden. Maybe this helps
I want to do Face recoginition (Not Face Detection) in my Android and iOS app. I have studied a lot on Web and found following possible solutions:
1.) openCV: I don't want to go into writing my own API using this. Also, I don't have prior experience in JNI for Android.
2.) Betaface API So far this is good.
3.) Sky Biometrics is also Good.
Now, I am searching for the solution from 3-5 days and came to know that I can use above API (so far I have decided to purchase license for Sky Biometrics). And this API will provide me a list of Features for the faces it recognised.
But, Now I am confused That how to use these features and save in my local data base to recognise faces from the pictures.So My queries are following
1.) How to convert Face features to Actual working Face recognition API means What is the actual algo or solution I can use to merge diffrent face features of a same person to identify him correctly.
2.) Uploading images and then creating database for Face-features set is a very time taking process. Do any one knows any Android/iOS Face Recoginition SDK to do this so that I can do this accurately and timely with no or less time taking process.
3.) Both solution-2 and 3 can be used with Images. Is there any other solution is available which can do the same with less efforts but with more accuracy.
OpenBR may be also interesting for you: http://openbiometrics.org/
Finally I am using Rekognition API. And this is good enough to serve my purpose.
I've looked at this doc: http://developer.android.com/guide/webapps/webview.html
It seems it might be attractive strategy to use HTML/Javascript to get:
result faster (I can use my browser to create a prototype very quickly, just updating my page in the browser, and not waiting for emulator to be update my changes)
avoid to to learn Android API too deep (but use what I know HTML/CSS/JS instead)
reuse my code, putting it to iOS, BlackBerry (not only Android)
The only question I have.. Is whether someone already did it for real? Because tutorials that I've found - just show how to print 'Hello world!' message in simple HTML.
But what would be more interesting to get is 'how it works with embedded database' in android,
OR better say, as an example what I mean:
How to handle JS' "onClick" to get some data stored to db?
UPDATE:
Yeah.. there are a lot of PRODUCTS. But what if I need just a storage support (need to put and read data from db). no need anything sophisticated like camera support. What I really want to avoid is:
waiting for Emulator updated
write simple and easy components and layout in HTML to get instant result (it seems more natural for me, even though I'm Java Dev.. but it's lame to wait for result building and waiting when working with UI)
I'm looking for someone's existing experience to avoid addition complexity and time gaps between builds/tries while working with UI.
Look into Phonegap to convert HTML, CSS, and JS code into a native phone app for android or iOS. Very useful as it puts a web wrapper around the web code to run it natively on your phone. This should solve storage issues as well, lots of documentation around for phonegap, be sure to check it out!
I just released http://www.protocoder.org under MIT license, give it a try! Its meant to basically do what you mention in the first point (prototype fast), and on the second avoid to learn the Android API to deeply.
Its still a young project but I hope it will grow really fast :)
I'm trying to develop an Android app that could be used by advocacy groups or campaigners such that they would be able to create their own forms (surveys) for which they can go out canvassing and collect opinion data from people who don't have Internet connections and thus can't take surveys/polls online. Could also be used at events or anything else that requires data collection "in the field"
The benefit is allowing data collection on the spot without having to transfer data from paper to the office computer by hand.
I've been looking over this tutorial by Frank Abelson: http://www.ibm.com/developerworks/xml/tutorials/x-andddyntut/section6.html
And have also been pouring through the Open Data Kit, but the ODK is a little more intense than I am prepared for and the Abelson tutorial doesn't discuss much how users could create their own forms.
I suppose users could just create their own XML files for custom forms in the office and store them on the server, but I was wondering if there was a way for them to do this on the Android app?
Just a hint about possible architecture or simple resources would be helpful, I am having a hard time picturing the solution at the moment.
i'm one of the developers of open data kit. odk has been successfully deployed by organizations all around the world for exactly what you describe.
we have a graphical form designer (and good alternatives in purcforms and xls2xforms), a server to host the forms, and an android mobile client (and good alternatives in javarosa). all the pieces are free, open source, and are driven by an active community.
if you could list what specifically about odk doesn't fit your needs (say, a need form design on the phone), i'd be could recommend alternatives...
ODK is a fantastic open source solution. A potential commercial alternative you can also try is Canvas at http://www.gocanvas.com which allows you to replace paper based forms with your mobile device.
It currently runs on Android, Windows Mobile and BlackBerry with iPhone and iPad support coming soon.
To get a quick overview of how to use Canvas:
Build a standard data collection app in 5 minutes and see it running on BlackBerry
Build a signature capture app in 5 minutes and see it running on Android
Hope that helps some,
-Chris
You should look into Fulcrum. I believe there is a 30 day trial period see if this software works for you. This is a one stop shop for mobile data collection teams. You can easily build your data collection forms right from your web account to include photo fields, text entry fields, choice fields, form sections, and repeatable sections. Repeatable, meaning parent-child relationships within a single data point.
They even have an App Gallery with a exemplary apps (forms) that allow you to use as a sort of "cheat-sheet" to get started. Here is the political canvassing survey they posted.
-P.Reyes
Check my project here: https://github.com/AndreiD/surveylib
PROS: Simple solution, open source, without any overkill, you don't have to display any logos, it doesn't cost a thing, it's easy to be extended, material design etc.
CONS: You must have the server part, for the transmission of the answers data.