Windows phone app test on difference devices - c#

I just made a Windows phone app and tested it on HTC Windows phone. Since there're multiple manufacturers out there, such as Nokia, Samsung, do I need to test on all of them to make sure the app work fine? Thanks!

As far as testing goes it's most important that it works on a Windows 7 phone as well as the emulator. Device specific concerns are not as real as they were with previous Windows Phone operating systems. The WP7 devices are all standardized - even the resolution of the screen.

In theory - you may not, but in real life there are some shades. First of all it would be useful to test application in different screens' sizes (3.5"-4.7") some elements can be extremely small for touch in 3.5". Phones of the first wave have old processors so when i.e. Lumia 800 draws UI quickly, the, let's say, Omnia 7 can do it slower with lags.
Also is very strange thing I figured out for myself - many bugs are reproduces only on the HTC Mozart o_O. Also don't forget to test your application in the emulator with 256mb of ram.

Related

Xamarin - Deployment on laptop without hardware acceleration support

I'm using MSVS2015Pro with C#/Xamarin.
I have a laptop that doesn't support Hardware Acceleration.
Then I have a question: can I develop for mobiles without having to spend too much time when deploying?.
I could deploy to my real android phone, but I don't know if that's slower than deploying to an AVD. Is it?
What Can I do? I don't wanna do things in a very slow manner.
Do I have to buy a another laptop that supports Hardware Acceleration?
If that's the case, what other requirements I need for that other laptop?
We are running windows 10 with VS 2015 Pro and no hardware acceleration available on the CPU. There is indeed a solid state drive and 16gig ram (The ram doesn’t really assist in running the emulator though. More ram doesn't make the emulator faster. It is rather the processor and or GPU. The ram does assist with running multiple emulator instances.)
Doing both xamarin.iOS and xamarin.android development. I would agree that with hardware acceleration things would be much faster but it is possible to dev on an enterprise level without it. The deployment to emulator (once emulator has started up and is running) vs actual device is much the same. It is indeed faster running the app on an actual device.
I would suggest using actual device to test functionality and the user experience of the app for quick feedback cycles while using the emulator to test different OS versions for compatibility.

Limitations of Background agents and cross-app access in Windows Phone 8.1

Basically I'm working on a project where I need to:
Have a background service that can receive small packets of data from a paired bluetooth (BLE to be precise) device.
Based on the received data, perform various functions on built-in Windows apps (media player, camera, phone dialler etc.) like switch to the next/previous track, alter volume level, take a picture, call a number etc (basically control built-in apps).
Now there was an extensive hardware part to this project which I began working on assuming that Windows Phone would offer the same level of flexibility as Android and that the aforementioned tasks could be easily performed, but now that I searched around a bit and saw the constraints for Background Agents I was dumbfounded to say the least, and by the looks of it the kind of functionality I'm looking for is completely unavailable in WP APIs. And while I couldn't find a definitive answer regarding the second task I wish to perform, I'm assuming the sandbox-style environment which WP apps run in will prevent that from happening as well.
Is there ANY way the above mentioned tasks can be performed with a Windows Phone 8.1 app or even something close?
Short answer: no.
Long answer: for various reasons Windows Phone is designed to provide ultimate control of system functions to the user. In general, all actions have to be user-initiated; even the background tasks have to be ok'd at some point. Reasons include battery life, stability, predictability.
A related policy is that no app may interfere with the operation of another. The only way apps can communicate is via launcher tasks or sharing protocols. Using these you can do things like prompt the user to dial a number.
Out of the tasks you list, the only one I can see being a feasible project is if you write your own camera app or music app that integrates with your Bluetooth device. It's either/or though, you won't be able to make a one-stop app.

Memory consumption on Windows Phone 8 is 3 times what is on Windows Phone 7

I'm developing an app that runs on both WP7 and WP8. After I finished it I started running the Performance analysis to improve the app overall performance.
The app is written for WP7, but I have some projects that run over WP8 to add features like in-app-purchase, lockscreen and so on.
When I ran the memory analysis on WP7, the app averaged 50mb of ram throughout execution, an acceptable value, the weird thing was when I ran the same xap on a WP8 device the app uses on average 150mb of ram.
I searched around the web and found nothing related to this issue.
I used a Lumia 800 and lumia 510 to make the analysis on the WP7., and use a Lumia 520, 820 and 925 to make the analysis on WP8 devices.
I'm using Visual Studio 2012.
I also considered that it could be a bug on VS2012, but the app crashes on the lumia 520 (with out of memory, after a while) but never crashes on the lumia 800 or 510.
The app is heavy on images, but all of them are the exact size that is used on the phone (never more than 50 100x100 jpg pictures are displayed in the app at the same time).
Any suggestions and solutions are welcome.
EDIT: The memory differences that I'm talking about is just by running the Home view, my performance analysis test is simply, launch the app swipe some controls (I have a pivot with 2 items) and close the session. There is no navigation involved. I'm using a RadDataboundListBox, but already tried to change to Listbox and LongListMultiSelector without any significant memory consumption change

Minimize Windows 8 Store App while tracking location with GPS

I'm working on a metro app and am having trouble finding how not to show the application.
We recently deployed tablets to our field reps, and need to add gps tracking. GPS is much easier to deal with in the metro libs (it's like 4 lines of code vs. unmanaged) so we're hoping to be able to push a metro app instead of spending time coding a winforms/wpf desktop app (the tablets are full version windows, so it's an option if we can't hide a metro app. I feel like it should be possible though as the start screen tiles update automatically without opening the main program).
In WPF, it's fairly simple to make a window invisible. I'm creating the metro app in wpf, but it uses different libs than desktop and I may just not know how to do it.
In desktop programs, it's fairly simple. You do something along the lines of:
<Page
x:Class = xxxxxxxx
..
Visibility="Hidden">
Unfortunately, with metro, the only options I have are collapsed and visible. Collapsed doesn't seem to have any effect, unless it's just because it's not deployed and visual studio shows it anyway...
So basically I'm trying to figure out if there's a way to start the program minimized or hidden so that it doesn't interrupt the field reps every time it takes their location.
If you really want to make a metro app and want it to run "minimised" you will need to look at background task. To start the background task the user would still need to start the app at least once, futhermore background task have limitation how how often and how long they can run. Also there is a lot of constraint on deploying a windows store app if you cannot publish it in the store.
If your goal is to just have access to GPS through C# apis, the GPS is actually one of the winRT api you can use from the desktop, you can find a tutorial on how to access winRT api from the desktop here
Here is the complete list of winRT api accessible from the desktop (You can find Geoposition class among them).
Have you looked into creating a background task that transmits GPS? The background task can run without the app running.
I am not entirely certain you can voluntarily minimize a Windows Store App on a user's behalf. I see nothing in IntelliSense about it, nor have I found anything online or see any app do it.
However, be aware that deploying the app without using the Windows Store -- sideloading -- requires Windows 8 Enterprise edition computers joined to the domain OR Windows 8 Pro with a sideloading key ($30 per key, purchased in packs of at least 100.) Perhaps a WPF app with unmanaged code is worth the money and effort.

Cross Device Devlopment for Windows Devices - multiple sdk's?

Couldn't find a direct answer for this...would like to get into windows device programming for some workplace solutions. I jumped onto google and typed in "Windows SDK" and I got found there are separate SDK's for Windows Phone 8, Surface RT, and Windows 8.
I thought to myself "this can not be true" so I hit the forums...haven't found anything relevant.
Does ANYONE know if there is an all-in-one solution for windows 8 programming that encompasses all devices? If I have to develop the same app 3 times to accommodate all three devices I am going to have to advise upper management against this decision.
I think this is exactly what you need.
Windows Phone 7/8 and Windows 8 Co-development.
You should separate you code, move platform independent logic to PCL.
You'll have to develop different UIs for WP and WinRT anyway.

Categories

Resources