Will Android 2.2 apps work on Tablets running on 3.0 and higher version - android-3.0-honeycomb

My basic question is : Will developing android apps with android 2.2 SDK work for android tablets running on Honeycomb (android 3.0) and higher versions ?
Also, will apps developed for phones work on tablets ?
Adithya.

Yes, you can have the same apk work with 2.x and 3.x. Just use something like this in your manifest xml:
<uses-sdk android:minSdkVersion="4"
android:targetSdkVersion="11" />
If you have created a virtual android tablet you can test it on a tablet emulator, just right click your eclipse project, Run as -> Run Configurations, then check android 3.0+ in target tab.
For more info see:
http://developer.android.com/guide/practices/optimizing-for-3.0.html#Optimizing

As to the first they should, it's supposed to be forward compatible.
Having said that depending on how you developed you app it's possible that you are making use of features not present on the tablet. I have had apps that work on phones tank when I tried them on the tablet, mostly because I was not checking feature sets properly (mostly in the camera) so you do have to take some care.
Really this is not a tablet issue, more of a supported hardware issue but it becomes pretty apparent on those, many don't have cameras for instance, some don't have GPS etc.
As to the second, yes, but they won't be optimized for the tablet so your users might not like tiny images if you have not provided for higher resolution screens

I think no. Devices with Android 3.0 ang higher have xLargeScreen resolutions. And Android 2.2 doesn't have support for this. Only Android 2.3+

Related

UI Framework for CrossPlatform Development

I am looking for a UI framework that can help in providing end-user experience on different platforms using a single code-base. The platforms I am targeting includes Windows, Android (phone, tablet, tv, watch), Chromebook, Linux, macOS, iOS, iPadOS, tvOS, watchOS etc.
Does anyone have any suggestions on what all frameworks are present out there that can be tried ?
Thanks in advance !
You can take a look at AlterNET UI, it's a cross-platform .NET UI framework, primarily targeting desktop applications development.
It's still in the early betas, we're about to release beta 2 with WPF-like features like support for layouts, bindings, dependency properties, routed events and handling keyboard/mouse input.
These are other frameworks we looked at before coming up with own solution: JavaFX, Electron, Qt, AvaloniaUI and MAUI, you may read a bit more information here.

Xamarin UI Test - different element selectors for Phone / Tablet

I am looking at Xamarin UI test as a POC for a native Android and iOS app. Not used Xamarin before or C, so I am bluffing my way through at the moment. I have managed to get it running on the Android Phone version of the app, but how do I make it clever enough to look for different elements between the Phone / Tablet implementation? Going further I will be trying to make the POC cross platform so will need to take into account the platform too.
I have seen references to platform and idiom but not sure how to use them in the Tests.cs file.
Thanks.

React native vs Xamarin forms

We need to build a commercial mobile app that is supported on iOS, Android and UWP platforms. We have been looking at react native and xamarin forms to do so. What is more recommended/preferable technology to implement this?
Reasons why we wanted to use react native in first place:
1) more experience in JavaScript
2) Some of the UI designs in our mobile app includes having cross platform features which by default could be native to either IOS or android. Such as having icon badges on tab items, having toggle search box in navigation bar. On react native we found these were more easily achievable by git hub plugins but in xamarin forms you need to write custom renderers to achieve so.
Reasons why started investigating on xamarin forms: Since the app needs to run windows phones too, we stared using react native XP plugin to support that. But end prototype on windows phone wasn't very impressive in terms of performance and user experience of some of react native plugins we have used. Plus we also had to do quite a bit UI customisation in terms of specifying width/heights to make components work.
I have been develop on Xamarin a few years now. My honest opinion is that there is a lot of third party libraries and components that only has support for Android and iOS only. Maybe you you check out what third party libraries you need and work back from there.
If Windows Phones are an honest target for you going forward, unless you can limit to those capable of UWP apps (Win 10 Mobile) then scratch Xamarin from the list. Windows Phone 8 and 8.1 support is deprecated and will be dropped soon from Forms.

Does Android X86 in virtual machine represent a real alternative to Android Emulator?

I am developing an Android application with jQuery Mobile, Phonegap and the jQuery plugin for Google maps. The emulator takes too long to load a web page, making the test of my code a painful operation. I have installed Android x86 on a virtual machine and linked it to Eclipse to debug my application.
This solution is faster than the emulator but the problem is that my application always crashes, which is not the case in the emulator. This leads me to question: is Android x86 on a virtual machine a stable alternative to the emulator?
In my experience, the answer is definitely Yes.
Unlike the situation you are describing, my application never crashes on the Android-x86 VM and since the SDK's emulator doesn't support microphone input, it is actually the only way to test my app without having to purchase a real device for each variant of Android.
Also, as you noted, it runs much faster. Contrary to Google's claim for "near native speed", Android's SDK runs extremely more slowly than Android-x86 and it is certainly slower than a real phone or tablet.
The fact that your application crashes when run on an Android-x86 VM may actually be a good thing: An opportunity to check for ways to make your application more robust in unforeseeable circumstances (you know, there are many types of devices out there).
The only downside to Android-x86 is that it is only available up to ICS (Android 4.0.4) which means that you cannot test your application in Jelly Bean (Android 4.1.x). That may be solvable by building your own VirtualBox-AOSP.
A lot of virtualization software and systems depend on hardware virtualization capability of the CPU (VT and such), but VirtualBox runs Android x86 (eeepc iso) great (fast) even without it. There are obvious limitations, but bear in mind that any emulator can only go so far.
If your CPU has no support for hardware virtualization, it is a very good alternative.
Google's Android SDK Emulator went native since version 17.
Google said in their ADT version-17 changelog
One of the new features is a big update
to the Android emulator – contributions to AOSP from Intel mean that
the emulator now runs at near native speed on Windows and Mac OS X.
So you shouldn't be seeing huge differences In speed of the application running if you are using the latest version of sdktools and emulator.

iPad development without a mac

I am interested in developing an app for my new iPad purely for my own use. (well to start with at least)
Is there a way to develop an app without a mac?
Can I install the app only on my own iPad without having to sign up to the right to publish it when I might not even want to do that?
EDIT:
Could i use an old G3 powerbook for development? They can be picked up really cheap on ebay. Would something of that spec be up to running the xcode development environment?
I think the best option is to develop the application using HTML5 / Javascript and CSS, and use a service like appMobi or PhoneGap to compile it for IOS. They both have an online service that can make the build for you without needing you to own a Mac.
You have also the added advantage that you can compile your app not only for IOS, but for Windows Mobile, Android, Blackberry and even the good old web.
You have some Javascript libraries like JQTouch that allows you to easily implement the IPhone look and feel in your web app. Normally you can't access the native API from Javascript, but these solutions (appMobi and PhoneGap) offers a Javascript API that you can use to access Camera, GPS, Gyro, etc...
I think normally serious apps are coded for many platforms, and if you don't have the structure to pay to 4 different skill sets, it makes sense to code in HTML5, and from there you have a more future and device proof solution. Even if you "can" pay different developers to code in diffrent mobile platforms I would prefer to do it in HTML5.
Oh, and also take a look at applicationcraft.com, pretty cool online IDE (wysiwyg) connected to PhoneGap, really easy to develop prototypes. The generated HTML/Javascript is not very usefull to continue editing it outside their IDE (a bit complicated), but, again, for something very simple or a prototype it's something you must check out.
Good Luck
Is there a way to develop an app without a mac?
Officially, no. Realistically, unless you like wasting countless hours, no.
Can I install the app only on my own iPad without having to sign up to the right to publish it when I might not even want to do that?
No, you must be a paid developer in order to push to anything but the simulator.
xcode for windows.
http://ipodtoucher55.blogspot.com/2010/12/installing-ios-sdk-and-xcode-on-windows.html
Yes, you can develop without apple computer (using hackintosh).
And yes, you can install the developed app on your iPad without having to pay for developer program. There are a tons of guides over the internet about running (thus installing) apps on ios devices without developer program.
check this:
How can I deploy an iPhone application from Xcode to a real iPhone device?
You can develop for iOS without a Mac by using Adobe Flex. The Flex SDK is free and Open Source, and includes a compiler + packager. If you want an IDE, you can get Adobe FlashBuilder (not free, but with a free 90-day trial), which makes your development time much more productive.
You would not develop in C, C++, or Objective C, but in a combination of ActionScript (a dialect of Javascript) and MXML (markup language, mainly for rich GUI layout).
On the minus side: you have less control over what you can do (you can still do a lot) and you cannot use the iOS SDK directly.
On the plus side: it is very easy to develop great looking apps, and with very little changes, you can recompile them for Android, Blackberry Playbook, Windows, and Mac OS X.
You do not technically need a Mac to develop an app, unless you are serious about it. There are couple of solutions available to you for developing mac-less.
First, there are some services that port your HTML5 web apps into an iOS app, so you only need to write your code HTML5.
Second, if you dont want to buy a Mac, you can instead buy Snow Leopard or Lion, and build your own "hackintosh" (a windows computer hacked to run off the mac operating system).
Finally, you cannot make your app available for purchase in the App Store unless you are a paid developer. However, you could publish online as an HTML5 web application, or you could publish your app in a third-party app developer market (however you could only intall that app if you jailbreak your iPad).
Not sure how new this is, but Dragon Fire SDK is 100% Windows based (you do submit your code to them for compilation), but at no time are you required to own a Mac.

Resources