Hi all,
I must admit that I am completely new in the SW development for this kind of platforms. Therefore, I would like to ask you guys to direct me to a good way to start.
I have an application in mind that i would like to do it myself, and is for a personal application, so nothing to do with what is out... but it will involve the touch screen and it has to deal with a little database.
In other words, it would be like....
The main screen should be 9 squares (similar to a numeric keyboard), and pressing any one of those squares should pop/up a different screen with a list that correspond to that specific square (exactly how the calendar works).
There should be a secondary window to enter data to the list where I shoud associate every entry with an square.
This is basically all...
I have good experience programming C/C++... but not c sharp. So any document, example code, api, that you can provide is very welcome...
Thanks you all in advance...
Tuesday 4 April:
It looks like Samsung support is still broken. Feel free to continue testing and reporting any issues, but it looks like I'll need to try a few different things. HTC and LG still work, of course.
UPDATE 1.3.2 - Saturday 2 April:
I've added some more checks to the registry write code. If you're not sure if the app is working for you (i.e. Samsung device owners) please try it and report what happens when you switch search options, or install a new option. If you get a messagebox indicating success, you're good to go. If it indicates failure, please tell me what the message was. Also, if it indicates failure the first time, try hitting Save again, and see if you get the same result.
UPDATE 1.3.1 - Saturday 2 April:
There may have been a bug in the way I was implementing registry access via the RIL Client COM control. Based on comparisons with some code known to work, I think this bersion might actually do it. This is of course untested - I don't have a Samsung device handy - but it may actually work. If not, PLEASE let me know what happens!
Also, this app officially *does* work on HTC phones using NoDo. I don't expect NoDo to break anything, but if it used to work and now doesn't, please let me know whether you've updated since it last worked.
Sorry for the long delay between versions. I've been working on something extremely exciting: an app to allow people to back up the important data on their phones (application storage, documents, and other things that don't automatically sync) to a PC, and restore it. I'll put a thread on here when it's ready to publish. In the meantime, if anybody has a way to get filesystem access on anything but HTC phones, *PLEASE* contact me!!
If it works for your Samsung device, PLEASE post a reply saying so! That would be very exciting news. If it doesn't, please check the error that appears. If it's the same as in this post, just say so. If not, please post at least the first few lines of the error so I know what happened.
DESCRIPTION:
A tool for quickly changing the search engine used when you hit the hardware Search button from within IE. You can use the search provider that comes configured on your phone, the built-in Bing app, or any other providers you've manually added. You can also add and use the mobile search page from Google, Yahoo, or Bing.
NOTE 1: This app does not change the search app used outside of IE! It only changes what happens when you're in Internet Explorer, and hit the Search button or enter something that isn't a valid URL in the location bar. If anybody figures out how to change Search button behavior anywhere else, please let me know!
NOTE 2: This app can not cause the search button to launch another app, aside from the pre-installed Bing search! It can only open a URL, not an app. I'd like to enable launching other apps, but that's a bigger project than I have time for at the moment.
TO INSTALL:
This app is not in the Marketplace and therefore requires a developer-unlocked device. You can unlock your device if you have a Marketplace account, or with ChevronWP7.
Download the ZIP file at the bottom of this post.
Extract the XAP file under \IESearchSwitcher\Bin\Release\.
Deploy the XAP file to your phone.
TO USE:
From the Applications list, run the "IE Search Switcher" app.
Select the search provider that you want to use from the drop-down.
Press the Save button to change your search provider.
If the provider you want is not listed, hit the Add button to install more options.
In the Add view, select an option from the drop-down and hit Install.
You can hit Refresh to see what provider is currently set.
TO REMOVE:
Press-and-hold on the application in the list, then hit "uninstall".
This will NOT change or reset your IE search option. It will stay as last set until changed again.
Coming features:
Samsung support (maybe 1.3.1?)
Ability to add your own search providers
Ability to edit or delete existing providers
Support for Dell and other OEMs (if possible)
Ability to launch apps other than Bing when you hit Search (if possible)
Supported devices:
HTC HD7: Tested, works
HTC, other: Reported working
Samsung: May work as of 1.3.1, please test!
LG: Reported working as of 1.1.0
Dell: Unknown, unlikely to work
Other: Unknown, unlikely to work
SAMSUNG USERS: I'm trying to support your phones, but the problem is very confusing. As best I can tell, the technique I've been using has worked successfully in other apps. I'm trying something different for 1.3, so please test it out and let me know what happens!
THIS IS STILL A BETA! If something doesn't work, PLEASE post a comment in this thread with your device, what you were trying to do, and what exception message you got. If there was no exception, just explain what didn't work. THANK YOU!
FOR DEVELOPERS: The full source code for the app is included. I've also added some improvements to the Homebrew library from when I downloaded it. It's from the source for the WebServer project, and is copyright Dave Amenta. If you want to use it to make your own apps, be sure to include the following:
DLLs. Check the ReadMe.txt in the Homebrew project for more info.
WPInteropManifest.xml
The capability ID_CAP_INTEROPSERVICES in WMAppManifest.xml
Version history:
1.3.2 - Added a read check after every write. (2 April 2011)
1.3.1 - Fixed a possible bug in the use of COMRilClient.dll for Samsung registry. (2 April 2011)
1.3.0 - Implemented a different native DLL for Samsung registry access. It may actually work now. (18 Feb 2011)
1.2.1 - Fixed the search included provider URLs for search-from-location-bar. Some library improvements. (17 Feb 2011)
1.2.0 - Added another library used by Samsung and some more library code based on other Samsung projects. (8 Feb 2011)
1.1.2 - Disabled the check for existing search providers with the Add list. You can now re-install Google if you got the bad version 1.1.0. (7 Feb 2011)
1.1.1 - Use http://www.google.com instead of http://m.google.com. (7 Feb 2011)
1.1.0 - Added the ability to install some hard-coded options: Google, Bing, and Yahoo mobile pages. LG now uses ProvisionXML. (7 Feb 2011)
1.0.1 - Fixed cross-platform support. Added necessary dlls and updated ReadMe. (27 Jan 2011)
1.0.0.0 Initial Release (27 Jan 2011)
Not working on my T-Mobile Germany branded OMNIA 7.
Error: Unable to load provider options !
not work with my focus in chinamobile,thanks all the same.
works good on a htc hd7
ps , thanks for the source code .
Doesn't work LG optimus7 telus
Thanks for the reports, folks. Sorry to hear about the non-HD7 problems; the only phones I can physically test on are HD7s. Sounds like registry read on other devices is having issues. Sadly, this doesn't surprise me after the issues I had getting it working at all.
I'll make sure that the necessary libraries are included and that the error messages are as informative as possible (please mention the exception you get, it really helps the debugging). I'll have another version up tonight (Pacific time).
OK, Samsung and LG support should work for real this time. I was missing a couple of DLLs that are required for native access on those devices. Please try again.
Adding of new search options (Google, Bing, Yahoo, etc.) coming soon. Please feel free to suggest search engine options that you'd like to have built-in to the app. (For example, Baidu perhaps?)
doesn't work with Lg Optimus 7
doesn't work with HD2
Ouch... the LG should have worked but I can't really test. An HD2 (running WP7) should be functionally identical to an HD7, which definitely works.
Any chance you guys could describe the error you're getting? I'll need to find somebody with anything other than an HD7 to test on other devices.
Note that the app won't actually do anything until/unless you hit the Save button on the bottom bar. Just changing the option in the drop-down then pressing Back will have no effect (if that's what you're seeing).
Don't work in Samsung Omnia 7.
This is the error at the launch :
Unable to get current provider!
System.OutOfMemoryException:
OutOfMemoryException
à
Homebrow.deviceAPI.Registry.WindowsCERegistry.GetStringValue(Strin root; String path; String name)
à
IESearchSwitcher.RegistryAccess.GetCurrent()
à IESearchSwitch.MainPage.Refresh()
à IESearchSwitch.MainPage.LoadOptions()
à IESearchSwitch.MainPage.Page_Loaded(Object sender, RoutedEventArgs e)
à
System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
à MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
That's all ... =)
Of all the exceptions I wasn't expecting, OutOfMemeory is the one I was expecting least... ;-) I mean, I'm trying to read the contents of a single string in a single registry value. The program's memory usage should be measured in KB, most likely.
Anyhow, thanks for the info! I'll look into this when I get home tonight.
Oddly enough, this is not in a Samsung-specific API. It's part WindowsCERegistry, which is read-only but should be cross-platform. It's also not the first time that the program calls a registry read function (although it might be the first call to GetStringValue).
Would you be willing to run a XAP with a bunch of extra debugging messages enabled to try and nail down the location of the issue?
Hi,
tested on Samsung Omnia 7:
1. Changed to bing search
2. Press 'Save' button
3. Application exits at
Code:
SamsungInterop.IHybridInterface_FCRProxy.RegistrySetString()
There's no exception thrown at
Code:
SamsungRegistry.SetStringValue()
tested on my optimus 7, the only provider that i've in drop-down menu is bing? how to select google?
thank!
gianlucarugby said:
tested on my optimus 7, the only provider that i've in drop-down menu is bing? how to select google?
thank!
Click to expand...
Click to collapse
have the same problem
Sorry about the delay folks, it's been a busy weekend.
Currently the app only lets you switch between alread-installed providers. In most cases that will be one of either Bing or Google, plus the built-in Bing app (always available).
I'm adding support for putting in more providers. The app will include some pre-defined options (both Google and Bing, probably Yahoo, other suggestions are welcome) and the ability to create your own (maybe you *really* love the Firefox Start page?)
I was planning on nailing cross-device support first, but that's being surprisingly difficult at the moment (I may be able to get Samsung support by incorporating a different library than the one I've been using) so I haven't been focusing on this feature, but the code is halfway written already and could be finished quickly.
Could sure use Google search, bing sucks bad
Can only choose between bing app or search.
Doens't find the google app for some reason, it is installed though.
Using Mozart T-Mo Germany 16GB.
@megaprime: Sorry about the delays, but I'll have an update with the ability to add Google (or other options) soon.
@Aerox: It's not currently possible to have it start a different app, such as Google. It can either start the built-in Bing app, or go to a website (such as m.google.com). As I told megaprime, I'll have an update with the ability to add such sites ASAP.
Also, sounds like it works (so far as it's currently able to) on the HTC Mozart? That's good.
Hello,
I'm new to prgramming with C# and wanted to know how I can read a value from the phone's registry and display its data in a TextBox on WP7?
Thanks
The problem isn't C# per se, but the public phone API doesn't allow registry access. If you only need read support, there's a library out there that will give you read capability on most of the registry, though you won't get write (permissions issue). Write surrport is also available on some devices, though that gets... tricky.
One place you can find this library, along with an example of how to use it, is in my IE Search Switcher app, located on this site. The short version is you include the native.dll library, enable some optional application capabilities, use the phone's interop library to get COM import into C#, and import the nativle library using COM. You can then call them from the managed (C#/.NET) code.
The Homebrew library comments and and included readme should explain enough to get you started. Be aware that any app doing this will fail Marketplace certification; you'll only be able to distribute it to people who have developer-unlocked phones.
I'm looking for a stand alone application to work on my verizon SCH-i920. Here is a example of a online freight container check digit calculator ://shipping-container-info.com/container-number/check-digit-calculator and a windows version avalible for download at ://.expertconsultant.co.uk/containercheckdigit.html
I could only find these links with code but nothing for windows mobile ://checkdigit.tripod.com/ ://checkdigit.tripod.com/ContCheckDigit.java ://martfish.wordpress.com/2011/08/04/iso-6346-shipping-container-codes/#comments
Thanks in advance to anyone that can help.
ISO 6346
That was an interesting one!
After having had a quick look at the ISO 6346 page on Wikipedia, http://en.wikipedia.org/wiki/ISO_6346 the algorithm to work out the checksum digit is not too difficult, a few lines of C# will do the job.
It is pretty basic, but it does exactly what it says on the tin!
Enter the container number in the first text box as a ten character string in the format AAAAnnnnnn , in other words, four alphabetic characters followed by six numeric ones.
Nothing will happen until exactly ten characters have been entered, and they match the above validation mask. No error messages, no menus, no prompting, nothing. Get it right or nothing happens!
When the entry is valid, the eleventh check digit appears in the second text box, as in the image shown below. The container number in the textbox, is that shown in the image in the top right of the Wikipedia page. The original string is also turned into uppercase, and the text cursor is moved to the end of the textbox string. The default would be for it to jump to the start.
Unlike the code example given on the Wikipedia page, this program does NOT use a lookup table or any program startup code to convert the alphabetic characters into their corresponding values to be used in the checksum. It does it on the fly, in one line of code within a loop.
Your task Jim, if you choose to accept it, is to figure out how it does it. This tape will self destruct in 5 seconds. Good luck!
It is written in C# for .NET CF 1.0 for Windows Mobile 2002, but it will run on all later Pocket PC/WinMo Professional versions, as there is nothing exotic about it. (Not Smartphones, as they cannot deal with textboxes.) It has been tested on .NET CF 3.5 in the WinMo 6.5.3 emulator. There is no install cab file, just drop the executable contained within the zip file on to your device.
In the true spirit of .NET, before the world and his wife started messing about with it, the exact same .EXE file will actually run on your PC, because there is nothing more complicated in it than a form and two text boxes. See the second thumbnail image below. It will also run on a Windows CE device that has any version of the .NET CF Framework installed on it.
P.S. It assumes your device is using an ASCII compatible alphanumeric character set, which maps '0'-'9' to the values 48-57 and 'A'-'Z' to 65-90
Thanks stephj it works as you say "nothing exotic". It does the job and output validated using the online freight container check digit calculator's and that's the point - not having to connect to a network. THANKS again