I am developing an app using the ArcGIS Runtime SDK for .NET in Visual Studio Community 2017, currently set to Debug configuration.
There are these two black boxes/squares with numbers in them, one floats top left of the app window and another one floats top right of my desktop.
I have outline the one floating in the app in red in the following image:
Black box floating in app window with ArcGIS Runtime app for .NET
I assume its some sort of debug information specific to the ArcGIS SDK but searching online has yielded no results and the documentation on the ESRI website does not seem to make mention of it.
Note: It does not display when running the app on an android device, only when running the UWP version.
I would like to know what they are (1) and (2) How to enable and disable them.
That is a debug feature provided by UWP & Visual Studio. There are two black bars in the screenshot you posted:
In the center is the XAML debugging tools. You can disable this by going to Tools> Options> Debugging> General and unchecking 'Enable UI Debugging Tools for XAML'.
On the left is the framerate counter. You can disable this in code:
in App.xaml.cs (within the UWP project):
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
DebugSettings.EnableFrameRateCounter = false;
}
#endif
Note that the above code already exists in that file, but EnableFrameRateCounter is set to true.
Also note that those tools only appear in debug mode.
Learn more: DebugSettings class
Related
I couldn't find or start Xamarin.Forms Previewer using VS Community 2019 update 16.9.2.
As you can see from the attached screenshots after I've built the project I can't find away to toggle to XAML preview mode even the View Designer from context menu isn't working also Shift + F7. Also I can't fin Xamarin.Forms Previewer under View Menu >> Other Windows
https://i.stack.imgur.com/G4wnx.png
https://i.stack.imgur.com/jqzCh.png
https://i.stack.imgur.com/gW2xU.png
I couldn't find or start Xamarin.Forms Previewer using VS Community 2019 update 16.9.2.
As far as I know, there is no XAML Previewer in Visual Studio 2019 version 16.9.2. For now, it use the Hot Reload insead and provide a live visual tree to receive a real-time view of your running XAML code. It shows a tree view of the UI elements of your running Xamarin.Forms application.
When you debug you project, by default, it appears on the IDE's left. If you don't see it, use Debug > Windows > Live Visual Tree to show it.
I have reported this problem for Microsoft team, maybe it will be restored in the next version, please wait a minute.
I have a brand new Samsung A10 with Pie on it.
I'm attempting to run the Sample Application provided in MediaPlugin:
https://github.com/jamesmontemagno/MediaPlugin
At first I was getting this error when I tried to build:
Invalid value 'armeabi' in $(AndroidSupportedAbis). This ABI is no
longer supported. Please update your project properties to remove the
old value. If the properties page does not show an 'armeabi' checkbox,
un-check and re-check one of the other ABIs and save the changes.
Then I did some reasearch and went to Android Properties / Android Options / Advanced and unselected armeabo-v7a.
As I understand it this will remove 32 but support, which I'm fine with.
Now I get this error:
ADB0020: Android ABI mismatch. You are deploying an app supporting
'x86;x86_64;arm64-v8a' ABIs to an incompatible device of ABI
'armeabi-v7a;armeabi'. You should either create an emulator matching
one of your app's ABIs or add 'armeabi-v7a' to the list of ABIs your
app builds for.
I'm targeting a new A10 Samsung phone with Android Pie on it. I can't see where to set the 'device ABI', though why would a new Pie phone be interseted in armeabi-v7a anyway?
Where can I set the 'device ABI' or otherwise fix this?
I can't find anything on Google. Thanks.
UPDATE
I've found this work around which is as worrying as it is bizarre:
Untick the armeabi-v7a option
Build
Re-tick the option
Build
Deploy
from
https://forums.xamarin.com/discussion/146174/vs2019-error-this-abi-is-no-longer-supported
I'd like to understand what's going on here rather than just work around it.
This is only an issue with my A10 physical Samsung phone, in emulators it seems to work fine.
I got this error before. You could untick all the supported architectures to tick all of them like below. Delete the obj and bin folder of project to clean and rebuild. Most of times, it works.
Different Android devices use different CPUs, which in turn support different instruction sets. Each combination of CPU and instruction set has its own Application Binary Interface (ABI).
For more support of Android ABIs, you could refer to the Android ABIs guides.
https://developer.android.com/ndk/guides/abis
To fix this issue on a Xamarin.Forms Android application, Right click on your android project and then select Properties > Android Options > Advanced.
You will see a dropdown for supported architectures. Select x84 & x86_64.
The app should now build and run on the emulator.
go to your project folder and edit yourproject.csproj
and remove starting <AndroidSupportedAbis> line completely.
add:
<AndroidSupportedAbis>armeabi-v7a;x86_64;arm64-v8a;x86</AndroidSupportedAbis>
save and debug. (changes accept on visual studio)
Enjoy.
Do not setup retry abis on xamarin.
I changed to Debug mode from Release mode after signing a release.
For Mac:
Android Project -> Option -> Android Build -> Advanced. Then tick all.
Click Option from Solution Explorer for Android:
Click Android Build then Advanced:
I'm a starter in writing app code in Visual Studio 2013 Community Apache Cordova and have managed to connect VS2013 with my Mac. Once I have gone through the process of building the app in VS and on my Mac and installing in on my iPhone, I open it up and it won't rotate. It doesn't rotate for a number of basic apps that I've written nor does it rotate if I build the default new project "Hello, your application is ready!" app.
I have done some research and tried changing the config.xml "Orientation" preference to "both", through the code window and also in the designer window but that doesn't change anything. I've also noticed that adding in a "BackgroundColor" preference doesn't work either.
Does anyone know if I may have configured something incorrectly or perhaps need to add something to my code?
All the HTML, JS and CSS that I've written seems to work okay (with the exception of trying to link URLs to the Safari Browser but that's another issue).
I have noticed the same issues. I tried finding some settings to fix that in the config.xml, but was not successful. I have resolved myself to just opening the iOS project in XCode and changing a few things:
Device Orientation: no matter the config.xml setting, its always only Portrait. I click-check the other 3 orientations.
Team: I have multiple developer profiles, and I need to choose correct one here.
Bundle Identifier. I screwed up one project, and have different case for iOS and Android. I leave the VS one as the Android one, so I can build completely correct for Android. Since I know I have to go to XCode for iOS anyway, I change the bundle identifier here.
You can find the project using Finder at ~/remote-builds/builds/9999/cordovaApp/platforms/ios/*.xcodeproj, where 9999 is the build number, though not necessarily the latest, largest number, but the latest datetime of the folder.
You can also refer to Greg's answer in this related post as an alternative solution.
I have a phongap app with a sqlite plugin that runs in both android and iphone. When I try to run it in Ripple i get several errors depending on the inclusion of the cordova version and device I use. Non of them are working at all. In some comments in stackoverflow i've seen people running sqlite in phonegap under ripple.
I'm using the PG-SQLitePlugin-Android plugin in my project, which it acually only supports Phonegap 2.7.0+.
I've found that i can force Ripple to use 2.7.0 by calling it :
file://localhost/Users/----/----/----/www/index.html?enableripple=cordova-2.7.0
Ripple actually loads great after enabling access to file system through chrome.
When i include cordova-2.7.0.js in my script
The index.html pops me a pop up with the following text :
gap:["Device","getDeviceInfo","Device119187522"]
that i can accept or cancel, then 2 more dialogs appeare, if I accept it gets hanged.
the js console shows that cordova 2.7.0 is really running :
Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. cordova-2.7.0.js:906
deviceready is not fired
When i include cordova-2.9.0.js in my script
It happens the same as 2.7
Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. cordova-2.7.0.js:906
but this time I get this other errors
Failed to load resource file://localhost/Users/laullobetpayas/-------/---/------/www/cordova/cordova_plugins.json
Failed to load resource file://localhost/Users/-------/---/------/www/cordova/cordova_plugins.js
deviceready is not fired
When I don't include any cordova.js in my script
SQLitePlugin.js:31
Uncaught ReferenceError: cordova is not defined SQLitePlugin.js:34
Am I using the proper plugin ?
which is the propper version of cordova / device tu run with the plugin and ripple ?
Do i have to include the cordova.js in my project
Hel will be very apreciated, it's for a long time that I'm trying to solve this.
Thank you in advanced.
Phonegap plugins won't work with Ripple because the idea of a Phonegap plugin is that it provides a Javascript interface in order to execute native code. That means, in the case of Android, the Javascript will invoke native Java code and in the case of iOS, the Javascript will invoke native Objective-C.
Ripple is purely Javascript-based, so the Javascript part of the plugin has nothing to interface with.
In the case of the SQLitePlugin, for example, calling SQLitePlugin.close() results in the call:
cordova.exec(null, null, "SQLitePlugin", "close", [this.dbname]);
where SQLitePlugin is the native class name and close is the native function name.
If you want to use the same storage API across Android, iOS and Ripple, maybe consider using lawnchair with appropriate adapters.
As for the issues with Ripple and Phonegap 2.7.0/2.9.0, Ripple has not quite caught up with Phonegap, so you will get these popups and error messages in the console, but that will not stop your Phonegap app (without native plugins) running in Ripple. You can convince yourself of this with a simple test case like:
document.addEventListener("deviceready", function(){
alert("I'm alive");
});
But the answer is, yes, you do need to include cordova.js in order for it to work at all in Ripple.
The Cordova-SQLitePlugin is a drop-in replacement for the HTML5 SQL API, so when running inside Ripple you don't need to call the Cordova layer you can just replace calls to sqlitePlugin.openDatabase() with window.openDatabase(). I've not yet tested this with Ripple but it should work. There are some database size limitations but this is probably all you need for testing.
There several ways to test if your inside Cordova. You could create a shim for the openDatabase() method based on testing for Cordova on app startup.
Since your primary goal is really to do rapid testing of SQLite with Cordova (rather than specifically to use Ripple) I'd like to suggest another new alternative to using Ripple.
I wrote an app call Sencha Touch Live that can be used for rapid development of Cordova / HTML5 apps by allowing you to Live Edit and Debug the HTML/JS/CSS code on your mobile device simply by updating files on your development computer - so you can skip most recompile/redeploy/restart debugger time costs. It has tons of other cool features. I'm using it myself for SQLite app testing instead of Ripple or Weinre
Detailed overview and Step by Step Guides
Installation Guide
It's based on the code from Adobe's PhoneGap Developer App so core code is well tested. It's been extensively adapted and tuned for Sench Touch framework though it should also work for jQuery Mobile or any framework that places HTML5 code under the phonegap/www or cordova/www folder. Just start up the server in you PhoneGap or Cordova project folder.
For testing your SQL and controller logic, I recommend using Geny Motion emulator with a version of Android 4.4.x KitKat. Start up an recent version of Chrome on your desktop and once you get your app working on the emulator or real device open chrome://inspect and now you can use the full Chrome debugger on your remote device app. You can also use a recent version of Safari for OSX/iPhone Simulator testing.
You can watch a demo here (starts at the 5 min. mark). Yes! It needs a more polished video with less echoes but you'll get the idea:
https://www.youtube.com/watch?v=94J4HBB0f7I
I'm trying to create custom icons for my taskbar/desktop icons in my Flex WindowedApplication. So far, I've edited my -app.xml file to include the following:
icons/t_16.png
icons/t_32.png
icons/t_48.png
icons/t_128.png
When the application is run, however, the default flex/air icon is still showing. I have my systemChrome set to standard, and transparent to false, not that they have any relevance to this.
Any ideas?
Have you actually built a release version and installed your air app, or is just the debug version ?
UPDATE:
You have to deploy a release
version before the custom application
icon will be enabled.