OSGi container for Android - android

I'm working in a project similar to Taintdroid that uses a scientific technique called "dynamic taint analysis" .
So I have to find the appropriete containers for OSGi to deploy on android.
I find answers in https://stackoverflow.com/questions/560794/what-osgi-container-do-you-recommend
but it is is not destinated to Smartphones.
So what's the favorites OSGi containers for Smartphones and why?

I use Apache Felix, which has support for Android out of the box. I like it because of its 'clean' OSGi implementation, and its modest footprint makes it a good choice for a smartphone (especially since componentizing your application stops some of the Android tooling's optimizations).
Other than that, assuming that you get other containers to run on your device, it all comes down to personal preference and finding the best fit for your situation.

Related

Android UI framework

I have some issues in working with Android layouts and make them adapt for all screen sizes..
I have found that there is an alternative solution : Android Bootstrap http://www.androidbootstrap.com/ for that and provide nice UI components (buttons etc...).
Since I'm developing natively, is this kind of frameworks won't make the App runs slower ?
Is this only a UI framework like for the web (Bootstrap from twitter) ? if not, can we use with it everything in Android (Camera, micro etc...) and Can we include some Jars like Zbar ?
Thank you.
I have found that there is an alternative solution : Android Bootstrap
It is not an "alternative solution". You still will need to be "working with Android layouts and make them adapt for all screen sizes", because Android Bootstrap does not change much related to that.
and provide nice UI components (buttons etc...)
It uses the same Android widget set that all other Android apps use.
is this kind of frameworks won't make the App runs slower ?
There is nothing in an Android Bootstrap project that would necessarily make the app significantly slower.
Is this only a UI framework like for the web (Bootstrap from twitter) ?
It is not even that. It is a starter project that demonstrates how to tie together a dozen or so open source libraries for Android app development. You can think of it as an extended version of the templates used to create new applications and activities in Eclipse or Android Studio.
This is not to say that Android Bootstrap is bad -- far from it. However, it does not resemble your description.
can we use with it everything in Android (Camera, micro etc...)
I have no idea what "micro" is with respect to Android. Since you are writing an Android application, just like any other Android application, you can use it with whatever parts of Android you choose to.
Can we include some Jars like Zbar ?
I see no reason why not.
It is very common for such templating engines not to have exactly most components you need. for android it is basicallly about adding support third party libraries to get the exact experience you need.
Thus you may want to consider adding more or lacking parts by leveraging some external libraries like those from HERE

Best choice for OSGI implementation with Android

I want to develop an android application that supports dynamic loading and unloading of bundles. Therefore, I am considering using an OSGI implementation framework.
What would be my best OSGI implementation choice?
By best, I am talking about Documentation (Availability of resources), Compatibility with Android API, and support for embedding OSGI in Android Application.
While searching, I found two implementations that seem to be good:
1- Apache Felix
2- Knopflerfish
Any suggestions? Thanks.
Both work on Android. Like Balazs pointed out in a comment, there are quite a few subtle differences between Dalvik and the JVM and some of those do bite you when doing OSGi style dynamic loading of code. From memory, you also have to worry about not being able to load the same class twice (even if they are privately packaged in different bundles). However, since you're probably designing the application from scratch, you can probably work around such issues.
You will also find some information here: OSGi container for Android
One tricky aspect though is that Android is also a bit of a moving target. The first version of Android did not have the classloader methods exposed that we needed to get Felix running, so we had to do a bit of reverse engineering. It is hard to predict what future versions of Android will bring though. Things might break. Are you going to choose your own version of Android and deploy it to the devices you target, or does the code need to run on existing devices?

Asp.NET Apple Android Windows8 phone GUI

I am thinking of developing a program within ASP.NET. But that I could port easily to Apple, Android and Windows phones and tablets. I also want the program to be able to run on PCs (MAC´s?).
This seems to be fine. However, the normal GUI of Windows does not look at all like the GUI from e.g. iOS or Android. And this would be a big show stopper. It should be at least optimized for touch mode. So all on screen widgets should be a bit bigger.
Are there libraries, providing controls, which looks like normal ones on the operating system? It would be best if this works kind of automatically. So the program should find out where it runs and load the standard GUI best fitting to the device, where it is being started.
I could of course develop own controls, but this may be a bit too much of effort.
It would also be very nice if the library would handle different screens or modes like portrait and landscape. So that it may switch depending on the orientation of the tablet, or phone for instance.
I am searching for something like that, which provides a good result, without the programmer needing too much to do by himself.
I also like if one can recommend a library he is using already by a bigger program. From my own experience, you get to know the strengh and weakness of such libraries with the time passing by.
Best Regards.
I already discovered some tools like PhoneGap, Sencha, Mono. I do not know, if these are well suited for me.
I like to create an app most likely for all plattforms at the same time. Is this the case with e.g. PhoneGap?
I am not familar with JavaScript, or CSS or HTML development.
I am an experienced C# programmer and I am quite familar with Java. So VisualStudio is my daily working environment, and I am using Eclipse also a lot.
Mono:
I only read about it and found out this aspects:
cost 999$ to use it in Visual Studio. Hope that this price includes development for all plattforms and not just one. Did not yet check this.
The coding looks very good.
There are APIs for Android, iOS, and Windows Phone to setup controls. So these parts needs to be rewritten for any supported application. One may create a core library, which can be used for all components. This aspect is not so nice.
However, I would prefer a solution, where the GUI is even described on another level. And then it should be brought to the current plattform automatically, if not specific libraries are used. So HTML5 may be more flexible.
Best Regards,
Patrick

Android Cross-Platforming

I want to know more about Cross-Platform. I'm currently working on my thesis and decided to make an Android Application but not all target users uses Android device. So, We've come up with an idea to Cross-Platform the android application.
I have read the same topic but it didn't get to me too well. iOS / Android cross platform development. I want to know if there is another way than using the frameworks discussed in the link.
I want know what is the best/shortest way to cross platform a Android Application?
Cross Platform tools are in my opinion not a good idea at all. Android is Java, and iOS is Objective C. Android can use NDK to use a C/C++ library so theoretically if you did most of your code in C/C+ it could be used on both sides. I think two natives is more in order. Study NDK to see what could run on both devices. Lets say you built your app as a C++ Library except for UI interactions. Then in theory the library should work on both sides. C/C++ a lot easier on iOS than android however.
Also it really depends on the dependencies your app will have. Lets say you want to use a library but its only available in Java or C++ how does this effect your decision.
You might also consider designing your app so that it just captures data on the devices and the actual processing of the data takes place in a web service.
Another way is use Mobile Web HTML5 Framework like Phonegapp, Sencha touch and more.
Although web technologies don’t perform as well as native, but it is a useful thing that you can try.
See Choosing Mobile Web HTML5 Framework and http://operationproject.com/2011/adventures-in-html5-part-one/
Android application are apk files that are basically zip file that contains dex/odex files and all other resources that you may wish to add.But I think you can use any coding language to develop as long as you have IDE that converts your code to apk and dex .And most important of all your programming language must support corresponding api or must have something similar to cross compile.The reason Google used Java for Android was they felt it is convenient to do it(read it during case Google v/s Oracle)
Personally I feel cross-platform is good since it increases the developers base and understanding of the System (here Android).And I think the same analogy would go with other Systems as well.

How would I go about making a completely new GUI for the Android OS or Linux OS?

I am getting into making my own embedded system and I wanted to use an open source OS to run on it but I can't seem to find any information for making a completely customized GUI (Meaning desktop Icons, Menus, and windows). Would anyone know how to go about doing this? Or could point me into the right direction to research?
You've got quite a vague question there :
Here is an article on how to port Android to an embedded system
Information for making a completely customized GUI (Meaning desktop Icons, Menus, and windows)
You can start by learning android development.
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Have you picked out a development kit for this yet? If you get a Beagleboard or something with a TI processor, there are great resources for getting started with Android or Linux. The beagleboard would be a particularly good choice, due to a rather active community.
Freescale also has good support, particularly with its Linux builder LTIB.
I am not entirely familiar with how one would go about re-inventing a GUI for Android, but in Linux a good place to start might be with GTK+ or Qt libraries.

Categories

Resources