How to capture audio from your microphone in WP7

image

One very common task for many mobile applications is the ability to capture the audio from your microphone and use it inside your application. Doing this on your WP7 device could not be easier.  To do this you really need like 20 lines of code .

Here is the code: http://devlicio.us/blogs/derik_whittaker/archive/2010/10/22/how-to-capture-audio-from-your-microphone-in-wp7.aspx

RSS News Framework for Windows Phone 7

image

News Framework is an offline news reading framework on which any RSS based news website can have its own Windows Phone 7 application in just minutes. The configuration, content and styles can be managed from outside of the framework itself to fit the needs.

Features

  • Offline news reading experience
  • Text size adjustment
  • Save for later
  • Share with friends via SMS/Email
  • News by category
  • Rotation support
  • Search within the news
  • Theme support
  • Open Source: to be released very soon. Only a demo app is currently available.
  • Full functioning demo included: An unofficial Mashable fan app. See below images.

Blog: 3 steps to build a Windows Phone 7 app using News Framework

Codeplex: http://newsfx.codeplex.com/

Video: http://codetv.net/36/introducing-news-framework-for-windows-phone-7/

Sterling Isolated Storage Database with LINQ for Silverlight and Windows Phone 7

image

Sterling is a lightweight object-oriented database implementation for Silverlight and Windows Phone 7 that works with your existing class structures. Sterling supports full LINQ to Object queries over keys and indexes for fast retrieval of information from large data sets.
The goal behind Sterling is to keep it:

  • Non-intrusive. You shouldn’t have to change your classes just to persist them.
  • Lightweight. As of this writing, the DLL for Sterling is under 70 Kb. No one needs to bloat their project for something as simple as persisting data.
  • Flexible. While the core is light, Sterling is designed to handle any serialization task and make it ultra-easy to query databases using LINQ-to-Objects.
  • Portable. Sterling is designed to run on both Silverlight 4.0 and the Windows Phone 7.

http://sterling.codeplex.com/

download: http://sterling.codeplex.com/releases/view/48124#DownloadId=133379

Documentation: http://sterling.codeplex.com/documentation

Sample App: http://csharperimage.jeremylikness.com/2010/07/introducing-sterling-object-oriented.html

Windows Phone 7 Life Cycle

image

One of the key dilemmas facing Windows Phone 7 programmers is how we maintain an extremely responsive experience for the user, provide some sort of multi-tasking and preserve battery life, all at the same time? The solution offered by Windows Phone 7 is to tombstone applications when they are inactive.  This tutorial will explore tombstoning, multi-tasking and the entire application life cycle in detail.

The guiding model for the entire lifetime of an application, from launch to termination, is called the Windows Phone Execution Model.  It is designed to provide a responsive system, at all times. The strategy to accomplish this is to avoid having two or more applications continuing to run in the background, competing for resources, slowing the foreground application and draining the battery.

To accomplish this, Windows Phone 7allows only one application to be running in the foreground, and no 3rd party applications are allowed to run in the background; even when they appear to do so.    When an application is moved to the background, but not closed, it is tombstoned.  Tombstoning means that the application is inert, but, the operating system maintains state information for the application. If the user returns to the tombstoned application, the state information is passed to the application before it is restarted, allowing the programmer to restore the application to the state it was in when it was tombstoned.  This can give the very effective illusion that the application was there all along.

1

For more goto http://jesseliberty.com/2010/09/22/windows-phone-7-for-silverlight-developers-life-cycle/

A 24k Powerful MVVM Framework which solves a variety of real-world problems

image

Caliburn Micro: A Micro-Framework for WPF, Silverlight and WP7

A small, yet powerful implementation of Caliburn designed for WPF, Silverlight and WP7. The framework implements a variety of UI patterns for solving real-world problems. Download here.

Documentation here

A video that talks about some of the features of the MVVM framework – the post and the video

Exit out of a Windows Phone Application

image

Scenarios for needing Exit

The two most common scenarios people cite when asking for an Exit method are because (a) the user failed accept a EULA, login to an account, or something else that renders the application inoperable, or (b) the application is in an unstable state due to unexpected errors, etc. and needs to be shut down.

The solution: Throwing Exceptions to Exit your Silverlight App

Peter Torr has a great blog post here about all the various scenarios you may want to exit a WP7 application and each of their side affects.  I would encourage you to read his post to learn more about this topic

Silverlight Layout States with Reactive Extensions

image Here is a sample.

If you want iitems in a ListBox (or an ItemsControl) at startup to appear on the screen one by one, with a short delay, not all at once. Using ListBoxItem’s layout states took care of handling how an individual item would appear in the list, but I still needed to handle a short pause between each item being added to the list. Usually I resorted to using a Timer, which sorted out that needed delay for me, but that really felt like hacking that had nothing to do with the real problem. Reactive Extensions, however, offer a much elegant solution. The GenerateFromTime() construction operator is a close relative to the Generate() operator used in my previous blog entry, except GenerateFromTime() adds an important time dimension to generated sequence – the last parameter in this operator lets you specify a delay between each call to OnNext():


private readonly IObservable<string> numbers = 
             Observable.GenerateWithTime(1, i => i <= 8, i => i + 1, i => i.ToString(), i => TimeSpan.FromSeconds(.3));

private void OnLoaded(object sender, RoutedEventArgs e)
{
    numbers.ObserveOnDispatcher().Subscribe(AddImage);
}

private void AddImage(string image)
{
    list.Items.Add(image);
}

The above code snippet will produce an observable sequence of 8 strings,  progressing through these strings with a 0.3 seconds delay.
Note the ObserveOnDispatcher() operator again – GenerateWithTime uses a  timer operating on a background thread so we need to ensure the  AddImage() method is called on the UI thread.

Part 1: Silverlight Layout States with Reactive Extensions

Part 2: Lost in time? Zip it!

Part 3: Reactive Extensions #3: Windows Phone 7