How to get started with NNPack? - android

My work has asked me to try out the NNPack math library (see it on Github at https://github.com/Maratyszcza) and report on its suitability for our Android project. I've found no documentation either on Github or in the source code, and functions such as matrix multiplication involve so many unexplained parameters that it's difficult to impossible to perform even the simplest operation.
A Google search hints that NNPack is in use by many people. Is this in fact right, and if so, how did they learn how to use it?

Related

A working way to implement Aspect Oriented Programming in Android (either using AspectJ lang or annotations)?

I've recently had some tasks requiring that I need to log an Android app for some events, like adding to cart, checkout, signing in to the app, pressing on a specific button, etc... to Facebook and Firebase platforms.
Since these are non-functional requirements, I figured out it could be a good idea to start implementing the AOP (Aspect Oriented Programming) method, so events can be intercepted without changing any code in the app.
I've made my research and found out that you could implement AOP using either the AspectJ lang (which is compiled to Java Bytecode and can talk to java directly), or AspectJ annotations like #Before #After and #Around to intercept the pointcuts.
However, I have read some articles like This one And This one, they don't seem to be working for me, the code before of after the pointcut calls do not get invoked at all. I feel like I might have something missing or outdated in the build.gradle aspect code that is mentioned in the first article (which is 8 years old really).
I won't be providing any code here since I've tried the exact same examples in the tutorials and didn't work for me.
I'm asking for someone recently implemented AOP in his Android app.. And could provide me with some steps that I can follow, so I can get the code in the aspects invoked and working.
Also, I've seen some people on the internet trying to implement the aspects in another Android module, and some in another src directory, if someone would explain the difference? And since I'm using Firebase and Facebook dependencies to log the events, wouldn't making the aspects in a different module affect me in any way?
Also, if anyone knows if I'm approaching the best way here to log the events (for Firebase and Facebook), or there could be better? I've went to AOP since I don't feel like changing the existing code to log some events is ideal.
Please, and thank you.

android engine for development

I work on a lot of closed source projects but often find myself extending the same classes, implementing the same libraries, doing the same things for caching and solving memory issues, and seeing other companies I work with facing the same issues
It makes me wonder if there are engines for android out there created for certain purposes. My cursory google search on this issue was unproductive
but I think this question is constructive because there is a real answer to this instead of discussion. Alternatively, what StackExchange site would this be a better question on?
Google Play Services and Volley are great examples and responses by google to certain problems such as but not limited to GPS/Positioning logic, network calls, bitmap caching, but I was wondering if there was anything more that is also maintained.
It sounds like you have a few different problems that each have their own solutions.
extending the same classes, [...] doing the same things for caching and solving memory issues
Making your own library that contains these custom subclasses and caching implementations would probably suit your needs pretty well.
You may also want to learn how to create your own templates for Android Studio. Templates (such as the "new Master/Detail flow" default template) can be used to automatically generate classes and XML files to avoid spending time writing boilerplate code. Here's a GitHub repo with a number of examples.
implementing the same libraries
This sounds like your core complaint is that you want a way to automatically generate a base project of sort for your projects that might automatically include certain libraries, set up a package structure, etc. This can be accomplished using Maven archetypes.
If you want an example of how to create a Maven archetype, I would check out Velcro.

Android Bootstrap what is that really, what does it do?

According to this link www.androidbootstrap.com/‎ I am wondering what does it really do, what is for? Am I supposed to use it?
I've read all text on this main page but I am still confused and I do not know should I use it.
The main problem is I don't see the point. Could someone tell me what is it for?
I am open for new technologies but here is the example where I don't understand, but they say that using their package will shorten my work on application.
Regards and I am looking for any information.
I am wondering what does it really do
It generates a skeleton Android project containing specific libraries. It is reminiscent of the new-project wizard in Eclipse, just supporting more third-party libraries, particularly ones that may be a bit of a challenge to get working together.
I had a look at this project to provide a quick set up for actionbarsherlock and dagger DI.
I think it’s a good idea as it seeks to provide an android template, with an out the box solution including sherlock and dagger. But I couldn’t get it working on eclipse, and the forum had a lot of people saying the same (I think its designed for Intelij IDEA)
I also looked at androidkickstartr which is more mature, but again had import issues, so just made my own template and imported sherlock and dagger

I'm struggling to find helpful, clear resources for OpenCV

I'm attempting to use OpenCV (on Android) in a project, however I'm struggling to find good resources. I've found example demos from the OpenCV site, and several tutorials, but many of them aren't very clear.
Are there any step-by-step, clear tutorials available, ideally with accompanying code?
(Particularly anything helpful with object recognition - so things such as colour detection, so likely colour histograms, and any means of feature recognition - possibly Haar Training. Though anything on OpenCV would be great!)
The (many) tutorials / demos I have found include the following -
OpenCV Guide
http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=OpenCV_Guide
(One of the better ones, found through Stack Overflow)
OpenCV on Android
http://opencv.itseez.com/doc/tutorials/introduction/android_binary_package/android_binary_package.html
(This was very helpful in installing OpenCV to work with Eclipse and Android, though I found it lacking in any kind of documentation for the demo samples)
Haar Training
http://note.sonots.com/SciSoftware/haartraining.html
(I found this a bit vague and confusing)
OpenCV Tutorials
http://www.shervinemami.info/openCV.html
(This was one of the better tutorials)
I've had pretty much the same experience as you have. My strategy for getting good results with opencv has been a two-pronged approach:
Find a tutorial on whatever it is I'm trying to get done and scan for all references to opencv functions, and data structures.
Look up the documentation for all those items referenced in point 1: http://opencv.willowgarage.com/documentation/
Then re-read the tutorial, going to the corresponding documentation whenever there's something I don't understand.
I found that my understanding of the various tutorials went up drastically once I used the documentation and took it a step at a time. Not an exact answer, but hope it helps :-)

Is "AndroidAnnotaions" reliable?

Is "AndroidAnnotations" reliable? I've searched it but couldn't find many articles on it(reviews or tutorials).
I've been considering using this library in my project which already has quite lots of users. Before adopting it, I need a good reputation on it. So my concerns mainly are,
Are there famous products using this library?
Can I say it's stable enough to adopt it for my big project?
Will it be maintained well? (bug fixes, etc)
Thanks in advance.
I am the lead developer of AndroidAnnotations. Let's answer your questions:
Can you rely on AndroidAnnotations?
I think so. AndroidAnnotations is a compile time framework which generates code. The generated code is readable java code, which means that if you need to understand what happens, you can. No magic happening at runtime => you are in control.
We try to maintain a list of external articles / tutorials here.
Are there famous products using this library?
Let's be honest: I don't know. Matthias Kaeppler from Qype talked about AndroidAnnotations at DroidCon London 2011. The frontpage lists the applications that we know for sure are using it. I know there are way more people using it because they ask for enhancements and report bugs, but they usually don't let us know when they publish an app. And of course, the idea of "writing clean and maintainable Android code" is not yet very common in the Android community.
Can I say it's stable enough to adopt it for my big project?
We are using it in our own apps, and we find it perfectly stable. So I would answer yes, but I think you should just try it :-) . Download the 2.2 RC2 (will be released stable soon), follow the instructions and see for yourself. You can do progressive enhancement, and start enhancing only one or two activities. See how it fits you, and let us know if anything goes wrong. And if you do release an app with AndroidAnnotations on the Android market, please let us know, we'll update the front page.
Will AndroidAnnotations be maintained?
Yes, it will. Although it started as a personal project, AndroidAnnotations is now sponsored by a company, eBusiness Information. This company employs people (including me) to work on AndroidAnnotations, with the aim of making it a major Open Source Android framework.
As you can see here and there, we are adding a lot of new features for the 2.2 release. And you won't find a lot of open Defects in the issues, because we concentrate on fixing any bug before adding new features.

Categories

Resources