[Windows Mobile Apps and Games] Deleted member 1890170:
Please, leave feedback in this thread if it works, if it doesn't work or if you have encountered a problem somewhere! Thank you.

This tool is meant to be used on a Windows PC. It's completely written in MortScript language. "Why this?", you may ask. Answer is really simple: You, at any time, can alter the tool's source code to match your needs, and best thing is, you don't need a compiler to get it up and running on your Windows PC.

In addition to simply converting a given XML-file exported from an Android device into a Windows Mobile readable XML-format, the tool also offers the features:

• Filtering

• Sorting

of the SMS messages to be converted.

To get an idea how the tool does it's job, here's the tool's code:

//////////////////////////////////////////////////////////////////////////
//
// Name:
// SMSconverter.mscr
//
// Author:
// jwoegerbauer
//
// License:
// GPL v3
//
// Purpose:
// Android to WinMo SMS Converter tool.
//
// Important:
// Only useful for phones running Windows Mobile 5.0, 6.x.
//
// Description:
// It creates from a given XML file exported via "Super Backup" from an Android device a
// pretty self-explanatory XML file
//
//	<SMSExport><store name="SMS">
//	<folder name="Deleted Items"/>
//	<message date="DATE" sender="SENDER MOBILE NUMBER" recipient="">MESSAGE CONTENT</message>
//	</folder><folder name="Drafts"/>
//	<message date="DATE" sender="SENDER MOBILE NUMBER" recipient="">MESSAGE CONTENT</message>
//	</folder><folder name="Inbox">
//	<message date="DATE" sender="SENDER MOBILE NUMBER" recipient="">MESSAGE CONTENT</message>
//	</folder><folder name="Outbox"/>
//	<message date="DATE" sender="SENDER MOBILE NUMBER" recipient="">MESSAGE CONTENT</message>
//	</folder><folder name="Sent Items"/>
//	<message date="DATE" sender="SENDER MOBILE NUMBER" recipient="">MESSAGE CONTENT</message>
//	</store></SMSExport>
//
// to be imported via "SMSImport v1.0.1" to a Windows Mobile 5.0, 6.x device
//
// Links:
// Super Backup: https://play.google.com/store/apps/details?id=com.idea.backup.smscontacts
// SMSImport: http://www.freewarepocketpc.net/ppc-download-smsimport-v1-0-1.html
//
//////////////////////////////////////////////////////////////////////////
//
ErrorLevel("warn")
//
Include("SMSconverterSubs.mscr")
//
DEBUG=1
//
SMSALL=0
SMSINBOX=1
SMSOUTBOX=2
SMSDRAFTS=3
SMSDELETED=4
SMSSENT=5
SMSASCENDING=1
SMSDESCENDING=2
//
// Note:
// In MortScript all variables by default are global. So here we force the use of
// local variables only, in order to NOT get any conflicts, if this script is run
// as a subroutine via Call(subroutine [,parameter])
//
@Main()
//
//
Sub Main()
Local(mAndroidOutputXMLFile,mWinMoInputXMLFile,mEditor,mSMSFilter,mSMSSortOrder)
Local(mTitle,mSuccess,mMsgText,mSMSStore,mSMSWrite,mDebugWrite,mProceed)
mSuccess=0
mProceed=1
//
// input XML file
// Get Android formatted XML file to be processed: if it's not passed as argument, a dialog will
// be shown you select the file from
mAndroidOutputXMLFile=""&argv[1]
If(mAndroidOutputXMLFile EQ "")
mAndroidOutputXMLFile=SelectFile("Select Android XML file",0,"*.xml",("Please select Android XML file that should get converted"))
If(mAndroidOutputXMLFile EQ "")
// Quit
// ExitSub() doesn't work with MortScript's PC-version
mProceed=0
EndIf
EndIf
If(mProceed)
//
// output XML file
mWinMoInputXMLFile=""&argv[2]
If(mWinMoInputXMLFile EQ "")
mWinMoInputXMLFile=SystemPath("ScriptPath")\"Output\"&TimeStamp()&".import.xml"
EndIf
//
mEditor="C:\Windows\notepad.exe"
mSMSFilter=SMSALL
mSMSSortOrder=SMSASCENDING
mDebugLogFile=SystemPath("ScriptPath")\"Output\Debuglog.txt"
//
mTitle=SystemPath("ScriptName")
// ask for SMS filter
mSMSFilter=@DetermineSMSFilter(mTitle)
// ask for SMS sort order
mSMSSortOrder=@DetermineSMSSortOrder(mTitle)
//
StatusType(ST_MESSAGE,0,0)
StatusListEntryformat(10,8)
mMsgText="Converting file^NL^"&FileBase(mAndroidOutputXMLFile)&FileExt(mAndroidOutputXMLFile)
mMsgText&="^NL^to file^NL^"&FileBase(mWinMoInputXMLFile)&FileExt(mWinMoInputXMLFile)&" ..."
StatusInfo(mTitle,mMsgText)
mSMSStore=Array()
//
// Read in Android's output XML file
StatusMessageAppend("^NL^1. Reading ...")
mSMSStore=@ReadAndroidExportedXMLFile(mAndroidOutputXMLFile)
mProceed=((ElementCount(mSMSStore)>0)?1:0)
EndIf
If(mProceed)
If(DEBUG)
mDebugWrite="^NL^Result after Reading:^NL^"
mDebugWrite&=@JoinXMLLInes(mSMSStore,"^NL^")
WriteFile(mDebugLogFile,mDebugWrite,0)
EndIf
//
// Filter SMS messages, if a filter is specified
//
StatusMessageAppend("^NL^2. Filtering ...")
If(mSMSFilter<>SMSALL)
mSMSStore=@FilterXMLLines(mSMSStore,mSMSFilter)
mProceed=((ElementCount(mSMSStore)>0)?1:0)
EndIf
EndIf
If(mProceed)
If(DEBUG)
mDebugWrite="^NL^^NL^Result after Filtering:^NL^"
mDebugWrite&=@JoinXMLLInes(mSMSStore,"^NL^")
WriteFile(mDebugLogFile,mDebugWrite,1)
EndIf
//
// Do an inplace-conversion of the XML lines read in
//
StatusMessageAppend("^NL^3. Converting ...")
mSMSStore=@ConvertXMLLines(mSMSStore,mSMSSortOrder)
mProceed=((ElementCount(mSMSStore)<>0)?1:0)
EndIf
If(mProceed)
If(DEBUG)
mDebugWrite="^NL^^NL^Result after Converting:^NL^"
mDebugWrite&=@JoinXMLLInes(mSMSStore,"^NL^")
WriteFile(mDebugLogFile,mDebugWrite,1)
EndIf
//
// Sort the SMS messages by date/time, if a sort filter is specified
//
StatusMessageAppend("^NL^4. Sorting ...")
If(mSMSSortOrder=SMSDESCENDING)
mSMSStore=@DescendingSortXMLLines(mSMSStore)
mProceed=((ElementCount(mSMSStore)<>0)?1:0)
EndIf
EndIf
If(mProceed)
If(DEBUG)
mDebugWrite="^NL^^NL^Result after Sorting:^NL^"
mDebugWrite&=@JoinXMLLInes(mSMSStore,"^NL^")
WriteFile(mDebugLogFile,mDebugWrite,1)
EndIf
//
// Write out WinMo's input XML file
//
StatusMessageAppend("^NL^5. Writing ...")
mSuccess=@CreateWinMoInputXMLFile(mSMSStore,mWinMoInputXMLFile)
EndIf
mMsgText="^NL^Conversion "
mMsgText&=((mSuccess=1)?"DONE":"FAILED")
StatusMessageAppend(mMsgText)
Sleep(1000)
If(mSuccess)
// Show conversion's result
Run(mEditor,mWinMoInputXMLFile)
EndIf
EndSub
//
//////////////////////////////////////////////////////////////////////////

Note: This is an experimental application and because I don't have a Windows Mobile phone I haven't been able to test it properly.

My development environment used I've attached.