WP开发实践之传感器和服务

1、重力加速器使用实例
    首先新建Windows Phone工程,添加 Microsoft.Devices.Sensors 的引用
  后台代码:
    
public partial class MainPage : PhoneApplicationPage

    {
        //定义全局量                 Accelerometer accelerometer;
 
        // 构造函数                 public MainPage()
        {
            InitializeComponent();
        }
        //通过此按钮事件启动和停止重力加速器                 private void startStopButton_Click(object sender, RoutedEventArgs e)
        {
            if (accelerometer == null)
            {
                accelerometer = new Accelerometer();
                accelerometer.ReadingChanged += new EventHandler<AccelerometerReadingEventArgs>(accelerometer_ReadingChanged);
 
                try                 {
                    statusTextBlock.Text = "开始启动重力加速器";
                    accelerometer.Start();
                }
                catch (AccelerometerFailedException ex)
                {
                    this.statusTextBlock.Text = "启动重力加速器时发生错误";
                }
 
            }
            else             {
                try                 {
                    accelerometer.Stop();
                    accelerometer = null;
                    statusTextBlock.Text = "停止重力加速器";
                }
                catch (AccelerometerFailedException ex)
                {
                    this.statusTextBlock.Text = "停止重力加速器时发生错误";
                }
            } 
        }
 
        //不同线程之间的调用                 void accelerometer_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
        {
            Deployment.Current.Dispatcher.BeginInvoke(() => MyReadingChanged(e));
        }
 
        void MyReadingChanged(AccelerometerReadingEventArgs e)
        {
            if (accelerometer != null)
            {
                statusTextBlock.Text = accelerometer.State.ToString();
                XTextBlock.Text = e.X.ToString("0.00");
                YTextBlock.Text = e.Y.ToString("0.00");
                ZTextBlock.Text = e.Z.ToString("0.00");
            }
        }
    }
    前台布局
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">          <Button  Content="启动" Name="startStopButton" Margin="0,0,253,540" Click="startStopButton_Click" />        <TextBlock Name="statusTextBlock" Margin="12,73,67,469" />         <TextBlock Name="XTextBlock" Margin="12,164,67,378" />         <TextBlock Name="YTextBlock" Margin="12,260,67,282" />         <TextBlock Name="ZTextBlock" Margin="12,350,67,192" />             </Grid>
  

知识共享许可协议
《WP开发实践之传感器和服务》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     159.88ms