{"id":195,"date":"2016-04-21T14:56:55","date_gmt":"2016-04-21T05:56:55","guid":{"rendered":"http:\/\/kanehiro.exe.jp\/?p=195"},"modified":"2016-04-21T14:59:56","modified_gmt":"2016-04-21T05:59:56","slug":"xamarin%e3%80%81%e3%82%b6%e3%83%9e%e3%83%aa%e3%83%b3%e3%80%81%e9%9d%92%e7%a9%ba%e3%80%81%e6%99%b4%e3%82%8c%e3%81%9f%e7%a9%ba%e3%80%80%ef%bc%8d%e5%8a%a0%e9%80%9f%e5%ba%a6%e3%82%bb%e3%83%b3%e3%82%b5","status":"publish","type":"post","link":"https:\/\/kanehiro.exe.jp\/?p=195","title":{"rendered":"Xamarin\u3001\u30b6\u30de\u30ea\u30f3\u3001\u9752\u7a7a\u3001\u6674\u308c\u305f\u7a7a\u3000\uff0d\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\uff0d"},"content":{"rendered":"<p>\u3000\u3053\u3061\u3089\u306e<a href=\"http:\/\/www.kerorin.com\/fanclub\/cm.html\" title=\"\u30b1\u30ed\u30ea\u30f3\" target=\"_blank\">\u30b5\u30a4\u30c8<\/a>\u306e\u30e1\u30ed\u30c7\u30a3\u30fc\u3068\u3068\u3082\u306b\u304a\u697d\u3057\u307f\u304f\u3060\u3055\u3044\u3002<br \/>\n\u6b63\u5f0f\u306a\u30bf\u30a4\u30c8\u30eb\u306f<strong>Visual Studio\u306eXamarin\u3067Android\u30a2\u30d7\u30ea\u3092\u4f5c\u308b(#5)\u3000\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046<\/strong>\u3067\u3059\u3002<br \/>\n\u30005\u56de\u76ee\u3068\u306a\u308b\u4eca\u56de\u306f\u3001\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3063\u3066\u307f\u307e\u3059\u3002<a href=\"https:\/\/developer.xamarin.com\/recipes\/android\/os_device_resources\/accelerometer\/get_accelerometer_readings\/\" target=\"_blank\">developer.xamarin.com<\/a>\u306e\u30ec\u30b7\u30d4\u3092\u53c2\u8003\u306b\u3057\u307e\u3059\u3002<br \/>\n\u4eca\u56de\u306fMainActivity\u306e\u5168\u30b3\u30fc\u30c9\u3092\u63b2\u8f09\u3057\u307e\u3059\u3002<br \/>\nMainActivity<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nusing System;\r\nusing Android.App;\r\nusing Android.Content;\r\nusing Android.Runtime;\r\nusing Android.Views;\r\nusing Android.Widget;\r\nusing Android.OS;\r\nusing Android.Hardware;\r\n\r\nnamespace AcceleGet\r\n{\r\n    &#x5B;Activity(Label = &quot;AcceleGet&quot;, MainLauncher = true, Icon = &quot;@drawable\/icon&quot;)]\r\n    public class MainActivity : Activity, ISensorEventListener\r\n    {\r\n        static readonly object _syncLock = new object();\r\n        SensorManager _sensorManager;\r\n        TextView _sensorTextView;\r\n\r\n        protected override void OnCreate(Bundle bundle)\r\n        {\r\n            base.OnCreate(bundle);\r\n            \/\/ Set our view from the &quot;main&quot; layout resource\r\n            SetContentView(Resource.Layout.Main);\r\n            _sensorManager = (SensorManager)GetSystemService(Context.SensorService);\r\n            _sensorTextView = FindViewById&lt;TextView&gt;(Resource.Id.accelerometer_text);\r\n        }\r\n        public void OnAccuracyChanged(Sensor sensor, &#x5B;GeneratedEnum] SensorStatus accuracy)\r\n        {\r\n            \/\/throw new NotImplementedException();\r\n        }\r\n        public void OnSensorChanged(SensorEvent e)\r\n        {\r\n            lock (_syncLock)\r\n            {\r\n                _sensorTextView.Text = string.Format(&quot;x={0:f}, y={1:f}, z={2:f}&quot;, e.Values&#x5B;0], e.Values&#x5B;1], e.Values&#x5B;2]);\r\n            }\r\n        }\r\n        protected override void OnResume()\r\n        {\r\n            base.OnResume();\r\n            _sensorManager.RegisterListener(this,\r\n                                            _sensorManager.GetDefaultSensor(SensorType.Accelerometer),\r\n                                            SensorDelay.Ui);\r\n        }\r\n        protected override void OnPause()\r\n        {\r\n            base.OnPause();\r\n            _sensorManager.UnregisterListener(this);\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>\u3000\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u306b\u306fISensorEventListener\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u30a4\u30f3\u30d7\u30ea\u30e1\u30f3\u30c8\u3057\u307e\u3059\u3002<br \/>\nISensorEventListener\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u30a4\u30f3\u30d7\u30ea\u30e1\u30f3\u30c8\u3059\u308b\u5834\u5408\u306f\u3001OnAccuracyChanged\u30e1\u30bd\u30c3\u30c9\u3068OnSensorChanged\u3092\u5b9f\u88c5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\n\u3000\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u306b\u306f\u3001OnResume\u30e1\u30bd\u30c3\u30c9\u3067\u3001SensorType.Accelerometer\u3092\u6307\u5b9a\u3057\u3066\u3001SensorManager\u306eRegisterListener\u3067\u30ea\u30b9\u30ca\u30fc\u3092\u767b\u9332\u3057\u307e\u3059\u3002SensorDelay.Ui\u306f\u30bb\u30f3\u30b5\u30fc\u306e\u5024\u3092\u53d6\u5f97\u3059\u308b\u9593\u9694\u306e\u6307\u5b9a\u3067\u3059\u3002<br \/>\n\u3000OnPause\u30e1\u30bd\u30c3\u30c9\u3067\u306fUnregisterListener\u3067\u30ea\u30b9\u30ca\u30fc\u306e\u767b\u9332\u3092\u89e3\u9664\u3057\u307e\u3059\u3002<br \/>\n\u3000OnSensorChanged\u30e1\u30bd\u30c3\u30c9\u3067\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u5024\u3092\u53d6\u5f97\u3057\u3066\u753b\u9762\u306b\u8868\u793a\u3057\u307e\u3059\u3002lock\u3067\u4ed6\u306e\u30b9\u30ec\u30c3\u30c9\u304b\u3089\u66f4\u65b0\u3055\u308c\u306a\u3044\u3088\u3046\u306b\u6392\u4ed6\u5236\u5fa1\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n<div id=\"attachment_196\" style=\"width: 178px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/kanehiro.exe.jp\/wp-content\/uploads\/2016\/04\/acceleget2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-196\" src=\"http:\/\/kanehiro.exe.jp\/wp-content\/uploads\/2016\/04\/acceleget2-168x300.png\" alt=\"\u5b9f\u884c\u753b\u9762\" width=\"168\" height=\"300\" class=\"size-medium wp-image-196\" srcset=\"https:\/\/kanehiro.exe.jp\/wp-content\/uploads\/2016\/04\/acceleget2-168x300.png 168w, https:\/\/kanehiro.exe.jp\/wp-content\/uploads\/2016\/04\/acceleget2-576x1024.png 576w, https:\/\/kanehiro.exe.jp\/wp-content\/uploads\/2016\/04\/acceleget2-624x1109.png 624w, https:\/\/kanehiro.exe.jp\/wp-content\/uploads\/2016\/04\/acceleget2.png 720w\" sizes=\"(max-width: 168px) 100vw, 168px\" \/><\/a><p id=\"caption-attachment-196\" class=\"wp-caption-text\">\u5b9f\u884c\u753b\u9762<\/p><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3000\u3053\u3061\u3089\u306e\u30b5\u30a4\u30c8\u306e\u30e1\u30ed\u30c7\u30a3\u30fc\u3068\u3068\u3082\u306b\u304a\u697d\u3057\u307f\u304f\u3060\u3055\u3044\u3002 \u6b63\u5f0f\u306a\u30bf\u30a4\u30c8\u30eb\u306fVisual Studio\u306eXamarin\u3067Android\u30a2\u30d7\u30ea\u3092\u4f5c\u308b(#5)\u3000\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u3067\u3059\u3002 \u30005\u56de\u76ee\u3068\u306a\u308b\u4eca\u56de\u306f\u3001\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,12,13],"tags":[],"_links":{"self":[{"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=\/wp\/v2\/posts\/195"}],"collection":[{"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=195"}],"version-history":[{"count":0,"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=\/wp\/v2\/posts\/195\/revisions"}],"wp:attachment":[{"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kanehiro.exe.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}