Wrap a Web API around Your Enterprise & Take Microsoft SQL Server 2014 Data Offline w/ NoSQL via Universal Apps for Windows

Windows NoSQL

At TechEd New Zealand, I presented a session on how to integrate a company’s backend systems into SQL Server 2014 and deliver that data out to mobile devices via Web APIs to support the operations of occasionally-connected apps on mobile devices using NoSQL tables.

Enterprise mobility is a top priority for Chief Information Officers who must empower employees and reach customers by moving data from backend systems out to apps on mobile devices.  This data must flow over inefficient wireless data networks, be consumable by any mobile device, and scale to support millions of users while delivering exceptional performance.  Since wireless coverage is inconsistent, apps must store this data offline so users can be productive in the absence of connectivity.

In this video, I’ll teach you how mashup disparate backend systems into high-speed, SQL Server 2014 in-memory staging tables.  I boost the speed even further through the use of natively-compiled stored procedures and then link them to fast and scalable REST + JSON APIs using the ASP.NET Web API while employing techniques such as in-memory caching.  On the device, I’ll show you how your apps can work with offline data via in-memory NoSQL tables that use LINQ to support the same CRUD operations as relational databases.  You’ll walk away from this session with the ability to deliver flexible server solutions that work on-premises or in Azure and device solutions that work with Windows Phones, Tablets or Laptops.

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Supercharge your Mobile Line of Business Solutions with SQLite and Offline Data Sync via Universal Apps for Windows

Windows Phone SQLite

At TechEd New Zealand, I presented a session on Microsoft’s next generation data sync technology from Azure Mobile Services that uses SQLite to support the operations of occasionally-connected apps on mobile devices.

Most mobile apps require the ability to store data locally to deal with the realities of a disconnected world where ubiquitous wireless networks are non-existent.  While many consumer apps get by with saving light amounts of information as small files like XML or JSON, the data requirements of mobile line-of-business apps for the enterprise is significantly greater.  With Microsoft Open Technologies Portable Class Library for SQLite, .NET developers can build structured data storage into their Universal Windows Apps.  In this video I guide you through creating local databases and tables and show you how to work with offline data via CRUD operations on both Windows and Windows Phone.  I also demonstrate the new data sync capability in Microsoft Azure Mobile Services which supports conflict resolution and uses SQLite for local data storage and change tracking.  There’s no faster way to build robust mobile apps to meet your most demanding enterprise needs.

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Windows Phone 8.1 is Here

Windows Phone 8.1

For users of the Nokia Lumia 1520 on AT&T, the Microsoft Windows Phone 8.1 mobile operating system update is available for immediate download.

The smartphone built from the ground-up to address the security and management needs of every enterprise has arrived.  Some of you developers and early adopters running the developer preview may need to use the Nokia Software Recovery Tool to downgrade back to Windows Phone 8 before you phone will recognize that the Lumia Cyan update is available.  Here at Microsoft, we’ve created the ultimate device to span your business and personal life.  Our super-efficient operating system runs great on inexpensive hardware so no one gets left out.  Highlights include:

Cortana

She’s a personal digital assistant (Did I just say PDA?) powered by Bing that keeps track of your interests, makes appointments, answers questions,  provides helpful suggestions and reminds you of meetings.

Action Center

With a swipe of you finger, you get notifications, messages, alerts and configurable control of functions like Wi-Fi, Bluetooth and brightness.

Start Screen

All devices get a third column of tiles with the option of making them translucent to reveal a background image.

Word Flow Keyboard

The world’s fastest keyboard (ask Guinness) delivers shape-writing out of the box, so get swiping.

Data Sense

This allows you to get the most out of your data plan by compressing images and text while warning you when you get close to the end of your plan.

Battery Saver

Extend your battery life up to 20%.

Internet Explorer 11

This hardware-accelerated, HTML5 web browser with JIT-compiled JavaScript supports unlimited tabs, InPrivate mode, inline video and reading mode.

Skype

Deep Skype integration allows you to upgrade incoming voice calls to video calls and Cortana is always happy to help you start a Skype call of any kind.

Volume

Select custom volume levels for the ringer, notifications, media, and apps while being able to quickly switch between silent or vibrate mode.

Device Encryption

BitLocker provides encryption for internal storage as well as the app partition of the SD card.

Enterprise Enrollment

Automatically configure devices for enrollment in Exchange, SharePoint, network profiles, certs and many other configurations all in a single step.

Certificates

Cert-based auth for accounts, Wi-Fi, VPN, web browser, and line of business apps.

Enterprise Wi-Fi

You get enterprise auth with PEAP-MSCHAPv2, EAP-TLS and EAP-TTLS so now you get to use certs for Wi-Fi authentication.

Virtual Private Networking

App-triggered VPN including IPSec (IKEv2), SSL-VPN, Intranet SSO, auto-reconnect and support for split or forced tunneling.

S/MIME

Exchange encrypted email messages.

App Allow/Deny

IT can now require apps to be pushed to devices for installation as well as blocking certain apps or even the entire Microsoft Store.

Workplace

Enroll devices with enterprise mobility management (EMM) solutions to enforce policies, provision profiles and distribute apps.

Windows Phone 8.1 not only fits the bill for BYOD scenarios but it has security and management capabilities needed to be a corporate-liable phone at your organization. I’m just scratching the surface here, so update your phone and find out for yourself.

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Enterprise Mobility on STL Tech Talk CodeCast

STLTechTalk

I was thrilled to join Gus Emery (@n_f_e) and JJ Hammond (@jjhammondmusic) for a lively discussion of the past and future of Microsoft enterprise mobility on CodeCast Episode 12 of @STLTechTalk.

These guys are doing great work in the developer community! Go check out their site!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

//build/ : Wrap a Mobile API around your Enterprise and take Data Offline with NoSQL on Windows Phones and Tablets

BuildSession

For those of you who couldn’t make it to San Francisco, here’s my session on Wrapping a Mobile API around your Enterprise and taking Data Offline with NoSQL on Windows Phones and Tablets from //build/.

Enterprise mobility is a top priority for Chief Information Officers who must empower employees and reach customers by moving data from backend systems out to apps on mobile devices. This data must flow over inefficient wireless data networks, be consumable by any mobile device, and scale to support millions of users while delivering exceptional performance. Since wireless coverage is inconsistent, apps must store this data offline so users can be productive in the absence of connectivity.

In this video you’ll learn how to build fast and scalable REST + JSON APIs using the ASP.NET Web API while employing techniques such as data sharding and in-memory caching. On the device, you’ll learn how your apps can work with offline data via in-memory NoSQL tables that use LINQ to support the same CRUD operations as relational databases. You’ll walk away from this session with the ability to deliver flexible server solutions that work on-premise or in Azure and device solutions that work with Windows Phones and Tablets.

Download the two Visual Studio projects and associated source code from GitHub:
https://github.com/robtiffany/build-2014-mobile-api

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Mobile World Congress in Pictures

Hola

While Winter rages on in most of the northern hemisphere, Mobile World Congress brings us Springtime in lovely Barcelona.

Hola from sunny Barcelona!  Mobile World Congress 2014 is bigger than ever with over 85,000 attendees.  With mobility firmly in control as the world’s largest megatrend in both consumer and enterprise technology, MWC14 has cemented itself as the most important global conference.  Once the domain of network equipment manufacturers, handset makers, and mobile operators, this event now attracts entrepreneurs and executives from virtually every major company.

Hola

Having Mark Zuckerberg on hand for the keynote to kick things off definitely tells me something has changed.  Most of his keynote focused on having mobile operators work with Internet.org to deliver free bandwidth to connect the 2/3rds of the world that aren’t connected.  I won’t dwell on the $19 billion WhatsApp acquisition except to say that there’s never been a better time to be a mobile developer.

Zuckerberg_MWC14

This first announcements of the event came from Microsoft where we added to our existing lineup of partners (HTC, Huawei, Nokia and Samsung).  New hardware partners include: Foxconn, Gionee, JSR, Karbonn, Lava (Xolo), Lenovo, LG, Longcheer and ZTE.  This expands Windows Phone’s reach to 56% of the global smartphone markets.  Just as important was our announcement to lower of bill of materials (BOM) costs of Windows Phone hardware by supporting Qualcomm Snapdragon 200 and 400 series chipsets and soft keys.  This allows Windows Phones to penetrate more price-sensitive markets and go after the next billion smartphone users.  Along the way, we further enhance our adoption by supporting dual SIM phones and supporting all major cellular technologies, including LTE (TDD/FDD), HSPA+, EVDO and TD-SCMA.

ReyJuanCarlos

Targeting emerging markets, Nokia announced the X family of low-cost Android smartphones.  Positioned below the Windows Phone Lumia range, these devices swap out Google services for Microsoft services including things like OneDrive, Outlook.com, Here maps, and Skype.  With the announcements made by Microsoft the previous day to lower Windows Phone hardware BOM costs, this new line of devices may find themselves bumping into the low end of the Lumia line.  They definitely have apps on their side with reports that they’ll run 75% of Google Play apps out of the box.  Speaking of low-cost, the Nokia Lumia 520 won the Global Mobile Award for Best Low Cost Smartphone at MWC this year.

NokiaX

Via its Unpacked event, Samsung launched the Galaxy S5, Gear 2, Gear Neo, and Gear Fit health band.  The Galaxy S5 looks a lot like the GS4 with a dimpled back cover, finger scanner, heart rate monitor, and an upgraded camera.  I suppose it’s the same kind of “yawner” upgrade that Apple gets away with each year with the iPhone.  Of all their new wearables, the sleek, Gear Fit stole the show with a colorful, curved display reminiscent of the Nike Fuel Band.

SONY DSC

On the enterprise side of the house, Samsung has made updates to their KNOX technologies.  KNOX 2.0 takes advantage of the multiuser capabilities of Android KitKat to provide dual/multi persona container capabilities without requiring app wrapping.  This means that just about any app in the Google Play store should work unmodified which eliminates the “hassle factor” of app wrapping to run a particular container.  Speaking of containers, KNOX 2.0 will now work with 3rd party containers such as Good’s secure container, Fixmo’s SafeZone and MobileIron’s AppConnect.  Last but not least, Samsung also launched KNOX EMM and Marketplace which support mobile device management, Identity and Access Management, and apps from the cloud with Galaxy and iOS devices.

Samsung KNOX

Lots of folks liked to hang out in the Sustainability Garden to take a break under the bubble.

SONY DSC

Almost everyone found themselves grabbing a snack and talking to other attendees in the various Networking Gardens.

SONY DSC

In other news, Samsung is taking over the world via the clever use of footballers.

SONY DSC

AppMachine facilitates rapid, multiplatform development of native apps via their web apps and Lego blocks.  Very impressed with their demo!

SONY DSC

Embarcadero keeps Delphi development relevant across mobile devices.  Let’s hear it for Object Pascal and the enduring legacy of Anders Hejlsberg!

SONY DSC

kwamecorp is an agency doing very cool mobile design and development work around the world.  They also fund startups that they think will drive positive change in the world.

SONY DSC

MicroStrategy has a mobile app platform that allows you to turn any business function into a mobile app without writing any code.

SONY DSC

The W3C is here to remind us that HTML5 is the only open, multiplatform development technology that isn’t controlled by any one company.  I’m a fan!

SONY DSC

vserv.mobi is one of many mobile advertising platform companies present in the App Planet hall in Fira Gran Via.

SONY DSC

This just looks cool.

SONY DSC

Globo demonstrated their secure container solution for Windows Phone 8 and Windows 8.1 for me.  Their container included an Exchange Active Sync client and remote file access.

SONY DSC

Nice to see Washington State representing all our great local technology companies.

SONY DSC

The beautiful HTC One snagged the Global Mobile Award for Best Smartphone at MWC this year.  They also launched the mid-range Desire 610.

SONY DSC

SAP is charging into the world of enterprise mobility with the one-two punch of Afaria for device management and SAP Mobile Platform to build apps across all mobile operating systems.  They also announced a new partnership with Xamarin to allow Microsoft Visual Studio developers to link to SAP’s Mobile Platform.  Merging Sybase Unwired Platform (SUP) and Syclo Agentry platform and implementing OData represents their MEAP/MADP roadmap.

SONY DSC

Panasonic is the real deal when it comes to enterprise mobility solutions.  I was excited to see them launch the Toughpad FZ-E1 running Windows Embedded 8 Handheld.  If you can build Windows Phone apps, you can build apps for their new rugged handheld.  Get after it!

SONY DSC

I found a company trying to cash in on the likenesses of Bill Gates, Steve Jobs, and some other guy.

SONY DSC

fitbit is one of the wearable fitness pioneers, but you’d never know it if you judged them by the size of their booth at this giant, mobile beauty pageant.

SONY DSC

SOTI touted their MobiControl Android+ technology to enable, optimize and secure Android for the enterprise.

SONY DSC

Sophos talked-up IDC’s research note that found the 25% of SMB organizations currently utilize Sophos Mobile Control as their MDM solution to govern and manage their mobile devices.

SONY DSC

Who doesn’t love GoPro?  I need to head back to Whistler.

SONY DSC

Citrix announced XenMobile for Samsung KNOX and claims the most KNOX-certified apps.

SONY DSC

Huawei launched the MediaPad X1 tablet with a 7-inch screen and cellular connectivity, which means it also serves as a giant smartphone.  They also introduced TalkBand wearables that pair with the X1 via Bluetooth to provide fitness data.

SONY DSC

LG launched the G Pro 2 phablet as well the G2 Mini.  LG’s Knock Code is an interesting security feature that allows you to tap the phone on the correct quadrant of the display to unlock it.

SONY DSC

Sony had a giant booth that seemed like a spaceship.  The launched their flagship Xperia Z2 smartphone and Xperia Z2 tablet.

SONY DSC

Sony also released their SmartBand fitness and tracker wearable that works with their new smartphone.

SONY DSC

The world’s top PC company introduced 3 new Android smartphones as well as a new 10-inch Yoga Tablet that gets 18 hours of battery life.

SONY DSC

Bill is doing a great job of demonstrating Microsoft’s 3 screen strategy across Xbox, Windows and Windows Phone.

SONY DSC

ZTE launched their ultra slim Grand Memo II LTE phablet with a 6 inch screen.  Additionally, they showed-off their ZTE Open C built in partnership with Mozilla and Telefonica.  It looks like they’re covering the high-end with Android and the low-end with Firefox OS.  They also talked about their smart city solution, ZTE iCity.

SONY DSC

Qualcomm chipsets power more mobile devices found at MWC than anyone else.

SONY DSC

John Chambers, the chairman and CEO of Cisco, claimed the Internet of Things space has the potential to generate $19 trillion worth of profit and economic benefits over the next decade.  That’s a lot of cash.

SONY DSC

Newly-acquired AirWatch had a massive booth and really emphasized their Secure Content Locker (MCM) technology this year.

SONY DSC

This small version of Oracle’s Americas Cup sailboat was the coolest thing at their booth.

SONY DSC

A $25 Firefox OS reference design was the talk of MWC.  I played with their HTML5 mobile operating system running on Alcatel and ZTE phones and they’ve definitely come a long way since last year.

SONY DSC

I actually kinda like Asus’ new ZenUI for the ZenFone.  Gotta differentiate from other Android handset makers somehow.

SONY DSC

What are my broad takeaways from this event?

  • There’s lots of unimaginative Android rectangles for sale that are undifferentiated from competitors
  • There’s a flood of fitness wearables taking advantage of Bluetooth LE
  • Lots of new players entering an already crowded EMM space
  • The device I saw people using most often was a Moleskine + Pen
  • Reaching out to the next billion people with low cost phones and connectivity is trending

See you next year!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Enterprise Mobile Management with Intune

In this week’s episode of “Inside Windows Phone,” Matthijs Hoekstra and I discuss enterprise mobility management with Microsoft Intune.

Yes, we covered exciting acronyms like EMM, MDM, MAM, MIM and MCM.

– Rob

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Sign Up for my Newsletter and get a FREE Chapter of “Mobile Strategies for Business!”

[mc4wp_form id=”5975″]

SQLite for Windows and Windows Phone: Data Definition

SQLite

SQLite WinRT allows Windows and Windows Phone developers to create and manipulate database objects through the SQLite Data Definition Language (DDL).

SQLite supports DDL statements including CREATE, ALTER, and DROP to work with objects like Tables, Indexes, Triggers, and Views.  This is complimented by simplified, dynamic data types including INTEGER, NULL, REAL, TEXT, and BLOB.  Admittedly, this takes some getting used to by those of you who use database engines with static typing.  Here’s a quick explanation:

  • INTEGER: A signed integer that is flexibly stored in 1, 2, 3, 4, 6, or 8 bytes depending on the size of the value you INSERT.
  • NULL: Nothing to see here.
  • TEXT: A variable-sized text string stored using UTF-8, UTF-16BE or UTF-16LE encoding.
  • REAL: A floating point value stored as an 8-byte IEEE floating point number.
  • BLOB: Stores whatever you INSERT into it.

Lets cut to the chase so you can see how to create a new SQLite database:

private async void OpenCreateDatabase()
{
    var db = new SQLiteWinRT.Database(Windows.Storage.ApplicationData.Current.LocalFolder, "Contoso.db");
    try
    {
        await db.OpenAsync();
    }
    catch (System.Runtime.InteropServices.COMException ex)
    {
        var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult);
        throw new Exception("Failed to create database " + result);
    }
}

Walking through the code above, you quickly notice that I created an async function.  This is because I use await when opening the database asynchronously on a worker thread to keep things fast and fluid.  The first line of code is flexible enough to either create new database called Contoso.db or use an existing one which make our lives easier.  You’ll also notice that I’m placing the database in the LocalFolder used for storage by my Windows or Windows Phone app.  SQLiteWinRTPhone is used for Windows Phone and SQLiteWinRT is used for Windows tablets, laptops, and desktops.  I’m wrapping the aforementioned code to open the database in a try/catch block specifically designed to deal with COM exceptions since our WinRT code is interoperating with native C++ code from SQLite.  You’ll use GetSqliteErrorCode in order to retrieve the HResult from SQLite and then throw the error up the stack using a standard Exception object.

With your database created, the next thing you’ll want to do is create one or more tables.  The structure for the CREATE TABLE statement can be found at http://www.sqlite.org/lang_createtable.html.  Below, I’ll show you the code to create a typical Parent/Child table relationship between a Product and ProductDetails table:

private async void CreateTables()
{
    var db = new SQLiteWinRT.Database(Windows.Storage.ApplicationData.Current.LocalFolder, "Contoso.db");
    try
    {
        await db.OpenAsync();
        string sql = @"CREATE TABLE IF NOT EXISTS Products
                       (ProductId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                       Name TEXT)";
        await db.ExecuteStatementAsync(sql);

        sql = @"CREATE TABLE IF NOT EXISTS ProductDetails
                (ProductDetailId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                Color TEXT,
                Quantity INTEGER,
                ProductId INTEGER,
                FOREIGN KEY(ProductId) REFERENCES Products(ProductId) ON DELETE CASCADE)";
        await db.ExecuteStatementAsync(sql);
    }
    catch (System.Runtime.InteropServices.COMException ex)
    {
        var result = SQLiteWinRT.Database.GetSqliteErrorCode(ex.HResult);
        throw new Exception("Failed to create tables " + result);
    }
}

In the code above, I use a sql string variable to create two different DDL statements. While they both start out with CREATE TABLE, we also have the luxury of using IF NOT EXISTS before the table name.  This means if the table already exists, this DDL statement is harmless and no operation will be performed.  The next part of the statement creates one or more columns and constraints.  In both tables I create an integer-based Id column that serves as the primary key which enforces uniqueness.  SQL Server DBAs and developers who like to use Identity columns will be happy to see the AUTOINCREMENT constraint that automatically increments the value of the integer each time a new row is inserted.  Other columns and their data types are separated by commas.  Last but not least, the ProductDetails Child table enforces a referential integrity constraint with the Products Parent table.  FOREIGN KEY points to the local ProductId column and REFERENCES the ProductId in the Products table.  ON DELETE CASCADE ensures that when a Product is deleted, associated ProductDetails are also deleted.

Once you’ve created tables, you’ll want to speed up your queries by creating indexes, prepackage SELECT statements into views, and trigger various actions whenever an INSERT, UPDATE, or DELETE occurs:

Sometimes you need to make changes to an existing table.  SQLite allows you rename tables and add columns via ALTER TABLE: http://sqlite.com/lang_altertable.html.  If you find you no longer need certain indexes, views, triggers, and tables, you can drop them:

No matter which DDL operation you need to perform, you’ll follow the same pattern I showed you in the CREATE TABLE code sample above.  You’ll piece together the appropriate statement in a string variable and then call the ExecuteStatementAsync() method.

Now that you know how to use SQLite WinRT to work with SQLite’s Data Definition Language, you can build any data structure that you mobile app needs.  In my next article I’ll show you how to work with SQLite’s Data Manipulation Language (DML) to bring you database and app to life.

– Rob

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Sign Up for my Newsletter and get a FREE Chapter of “Mobile Strategies for Business!”

[mc4wp_form id=”5975″]

SQLite for Windows and Windows Phone: Installation

SQLite

SQLite WinRT empowers Windows and Windows Phone developers to build mobile enterprise apps using Windows Runtime (WinRT) APIs to work with the world’s most popular mobile database.

SQLite advantages include cross-platform (OS + Processor) support, speed, ACID reliability, and support for indexes, views, foreign keys, and triggers.  Developers of SQLite apps on iPhones, iPads and Android devices will feel right at home programming against the SQLite WinRT APIs since they provide just a thin layer around familiar SQLite functions.

To get started with the installation, you need to get the SQLite Extension SDK downloaded and working with Visual Studio.  From within Visual Studio, go to the menu and select Tools | Extensions and Updates.  From the dialog that appears, expand the Online tree view node on the left and then type SQLite in the search box on the right and hit enter.  You’ll be shown a list of search results as shown in the figure below:

ExtensionAndUpdates

Click Download for both SQLite for Windows Runtime and SQLite for Windows Phone so you’ll be ready to develop across all platforms.  The VSIX Installer dialog will pop up during both downloads and you’ll need to click Install for each.  Click the Restart Now button at the bottom of the dialog so that the changes will take effect.  This gets the SQLite3.dll native library installed and Visual Studio will notify you whenever future updates are available.  Keep in mind that future versions will prevent your existing Visual Studio projects from opening due to file path changes because of new version numbers.  You simply need to update the reference in your project file each time you choose to work with newer versions of SQLite.

The next step in the installation process is to download the SQLite WinRT source code from http://sqlwinrt.codeplex.com/.  On the CodePlex site, click the Source Code tab, and then click the Download icon to download the zip file.  When you extract the zip file, you’ll see a Visual Studio solution with a project for Windows and another project for Windows Phone.

Windows Phone

Create a new Windows Phone App project in Visual Studio and target Windows Phone 8.0.  Once the empty project has opened, go to the Solution Explorer and right click on the Solution then select Add | Existing Project.  When the file dialog pops up, navigate to the SQLiteWinRTPhone folder within the extracted files you downloaded and select SQLiteWinRTPhone.vcxproj to add the project to your solution.  From the Phone solution, right click on References and select Add Reference.  In the Reference Manager dialog, expand the Solution node on the left to show Projects.  Check the checkbox for SQLiteWinRTPhone and click OK.  Save and rebuild the solution to ensure everything installed properly and then you’re ready to go.

Windows

Create a new Windows Store App project in Visual Studio.  Once the empty project has opened, go to the Solution Explorer and right click on the Solution then select Add | Existing Project.  When the file dialog pops up, navigate to the SQLiteWinRT folder within the extracted files you downloaded and select SQLiteWinRT.vcxproj to add the project to your solution.  From the Windows Store solution, right click on References and select Add Reference.  In the Reference Manager dialog, expand the Solution node on the left to show Projects.  Check the checkbox for SQLiteWinRT and click OK.  Save and rebuild the solution to ensure everything installed properly and you’re all set.

With the installation steps complete, you’re now ready to begin developing apps for Windows Phones, Tablets, Laptops, and Desktops.  In my next SQLite article I’ll get you started with basic Data Definition Language (DDL) tasks.

– Rob

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Sign Up for my Newsletter and get a FREE Chapter of “Mobile Strategies for Business!”

[mc4wp_form id=”5975″]