SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
ここまでできる!
WindowsPhone7!
すまべん関西&Androidの会関西支部 共同開催
2010/09/25
tmyt
こんにちは!
• tmyt/つもゆた っていいます。
• だいたい大学院生をやっています。
• WindowsMobileシリーズに一途です。
 • 先日iPhone/iPad持ってないのでdisられました。
• Azureaとか作ってます。
• C++担当です。
• ARMのアセンブラは一般教養です!
本日のお題
• ついにRTMされたWindowsPhone7!
• そしてSDKも先週RTWされましたね!

• でも気になるのは結局なにができるの?
 • Silverlightだからこそできる!を中心に見ていきましょう!
最初からネガティブな話題で申し訳ないので
すが…
WindowsPhone7でできなくなったこと
•   タスクを並列して2個以上同時に実行すること
•   ネイティブコードを実行すること
•   実行中にコードを書き換えること
•   変数に代入した機械語を実行すること
•   他人のプロセスをフックしていろいろすること
•   ファイルシステムへアクセスすること
•   システムDLLをP/Invokeしていろいろすること

• などなど。変態的なことは基本的にできません
現時点でできないこと
• 日本語入力
 • これ重要。
 • 日本人からするとただこの一つに尽きます
  • 解決策を後ほど…
• エミュレータ上でのLiveIDの設定
• エミュレータ上でのメールアカウントの設定
じゃぁできるようになったことは・・・?
できるようになったこと
•   加速度センサへのアクセス
•   DeepZoomの利用
•   4点以上のマルチタッチ
•   Silverlightを使用したアプリケーション開発
•   PushNotificationの利用
•   統合されたロケーション情報へのアクセス
従来のWindowsMobileとの違い
•   外部の情報へのアクセスにTaskを使用
    •   写真を撮るも開くも、アドレス帳から選択してくるのもみんな同じ
        手順で利用可能に
•   タスクが殺される前にコンテキストの保存をしないといけなく
    なった
•   開発がSilverlightになったのでXAMLをいじらないといけなく
    なった
•   XNAが使えるようになった
    •   Silverlight+XNAのキメラもできます!
新しくなったユーザインターフェース
• PivotやPanoramaといったMetro UI
 • もちろんユーザアプリケーションも利用できます
• Hubからはじまるオペレーション
 • People,Game,Music+Video,Photo,Office…
• シンプルで大きなコントロール
新しくなった開発フロー
• Blendでデザイン
 • UIの配置
 • アニメーションの作成
• VisualStudioでコードの実装
• アプリケーションのデバッグ
• マーケットプレイスへの配信
開発する上での注意
•   XAPは400MBまで
•   マーケットプレイスを経由していないアプリケーションは10個まで
•   UIスレッドをブロックするコードは書けません
•   Unlockできる端末は3台まで
•   Etc…
コードで比較してみます

UIの実装が圧倒的に楽になりました
某アプリケーションのこれ
C++だとこんなかんじ
Blendでかくとこう
文字が読める!!
すばらしいですね!!
Blendすばらしいですね
• あのUIがコードを1行も書かずに実現できます
• Silverlightすごいですね
• では次からはTaskやPanoramaなどを実例を交えて紹介します
使用例1

様々なTask
いろいろなものを開くTask
• アプリケーションからデータにアクセスする場合はTaskを経由しなけれ
  ばなりません。
• Taskはこんなのが用意されています
 •   CameraCaptureTask
 •   EMailAddressChooserTask
 •   EmailComposseTask
 •   MarketplaceDetailTask
 •   MarketplaceSearchTask
 •   PhoneCallTask
 •   PhoneNumberChooserTask
 •   PhotoChooserTask
 •   SaveEmailAddressTask
 •   SavePhoneNumberTask
 •   SearchTask
 •   SmsComposeTask
 •   WebBrowserTask
Taskを使用する際の注意点
• Taskを呼び出すにはShow関数を呼びます
• Taskを呼び出すと自分のアプリケーションは終了されます
• Taskから帰ってくると自分のアプリケーションが再度起動します。
 • その際にCompletedイベントにハンドラを設定した直後にハンドラ
   が呼び出されます。
 • Loadedイベントでイベントハンドラを設定するのがおすすめ
• エミュレータで実行するとタスクから戻ってくると30秒程度待ち
  時間があるのでその間にデバッグを再度実行しましょう
CameraCaptureTask
•   カメラを起動して画像を入力
•   WMでいうところのCameraCaptureDialog
•   C++だとSHCameraCapture
•   撮影した写真は保存されません
EMailAddressChooserTask
• アドレス帳からメールアドレスを選択します
EmailComposseTask
• Emailを新規作成します
• 送信先や、件名、本文などを設定できます
• エミュレータで動作しないので詳細をチェックできてません
MarketplaceDetailTask
• マーケットプレイスで指定した製品の詳細情報を呼び出します
• 動作確認する方法が現時点で無いので試していません
MarketplaceSearchTask
• マーケットプレイスを検索します。
• これもLiveIDを設定できないので試せません。
PhoneCallTask
• 指定した番号へ電話をかけます。
• 左図のような確認画面がでます。
PhoneNumberChooserTask
• アドレス帳から電話番号を選択します。
• 選択後PhoneCallTaskを使って電話をかけたりします
PhotoChooserTask
• 保存されている画像ファイルを読み込むために使用します
SaveEmailAddressTask
• Emailアドレスをアドレス帳に保存します
SavePhoneNumberTask
• 電話番号をアドレス帳に保存します
SearchTask
• OS標準のWeb検索を呼び出します
• 検索文字列を任意に設定できます
SmsComposeTask
• SMSを作成します
 • auでいうCメール、Docomoのショートメールですね
WebBrowserTask
• Webブラウザを起動します
• URLを指定するとそのURLを開いてくれます
使用例2

Pivot/Panorama
Pivot
• WMでいうところのタ
  ブコントロールのような
  もの
• タブページ間に強い
  つながりが無い場合
  に使う
• 左右フリックでページ
  切り替え
• かっこいい
Panorama
• Pivotよりページ間の
  つながりが強い
• ページは1枚の大きい
  横長の一部が表示さ
  れる
• フリックでゆるやかに
  ページ切り替え
• かっこいい
使用例3

ロケーション
WMでのロケーション
• GPSのみ
• Intermidiate Driverが仮想化してくれていた
• 基地局測位は自分でがんばるしかない
 • PHSだとCOM叩きますよね
 • 3GだとRILのCE向けAPIを叩きます
    • 叩いた後GoogleのAPIとかに投げると経度緯度に変換してくれたり
• いろいろ大変でした。
WP7でのロケーション
• とても楽になりました。
• .NET 4のロケーションAPIと互換
    • つまりWindows7のロケーションAPIと互換
•   GPSを扱えます
•   基地局測位もあつかえます
•   Wifi測位も使えるかもしれません
•   全部まとめて1つのインターフェースで提供されます

• 位置検出デバイスを指定できないのがちょっと残念
コードで書くとこんな感じ
 public partial class Location
  {
     GeoCoordinateWatcher geo;
     public Location()
     {
        geo = new GeoCoordinateWatcher();
        geo.PositionChanged += new
EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(g
eo_PositionChanged);
     }

    void geo_PositionChanged(object sender,
GeoPositionChangedEventArgs<GeoCoordinate> e)
    {
      // いろいろ
    }
  }
使用例4

DeepZoom
DeepZoomって?
• Deep Zoom は、高解像度のイメージをインタラクティブに表示
  できる機能です。アプリケーションのパフォーマンスに影響を及
  ぼさずにすばやく、イメージをズームインしたりズームアウトしたり
  できます。Deep Zoom では、複数解像度のイメージを用意し、
  スプリング アニメーションを使用することによって、滑らかな読
  み込みとパンを可能にしています。
 • http://msdn.microsoft.com/ja-jp/library/cc645050(VS.95).aspx
• つまりGoogleMapのWebみたいなのをやるコントロールです
とりあえず使ってみる
•   Deep Zoom Composerで画像を分割、XMLを生成
•   VSのプロジェクトに追加
•   MultiScaleImageコントロールを配置
•   Sourceにxmlのパスを設定

• とりあえずこれだけ書けば使えます。
動的に画像をダウンロードする…?
• 画像キャッシュを自分で書かなくていい
 • らくちん!
• 解像度に応じた画像を動的にダウンロードするってどこかで聞
  いたような・・・
これですね!
MultiScaleTileSource
• MultiScaleImageにXMLを指定した場合、DeepZoom用に生
  成したXMLでないとエラーになりました。
• さっきのアプリはもちろんDeepZoom用にXMLは作られていま
  せん
• このクラスを実装したクラスをImageSourceに指定することで
  画像のダウンロードをカスタマイズできます
使用例5

マルチタッチ
WP7のマルチタッチ
• Silverlightのマルチタッチです。
• つまりWindows7のマルチタッチと互換です。
• Touch.FrameReported イベントにハンドラを書いておくとマル
  チタッチイベントが捕捉できます。
• ピンチイン・ピンチアウトの検出などの気の利いた機能はありませ
  ん
 • 自分で書きましょう
マルチタッチできるなら!
• やるしかないですよね!
 • すこし時代遅れ感がありますが・・・
使用例6

Silverlght+XNA
XNAのクラスをSilverlightから
• XNAのクラスをSilverlightから呼べます!
• 深く叩いたわけではないのでどこまで呼べるかちょっとわかりま
  せんが…
そんなのいつ使うんだ!
• Silverlightで動的にWaveを生成して再生したいときですよ
• たとえばこんなとき。
実はあのアプリ
• RIFFヘッダとか動的に生成してます
• Sinウェーブも動的生成です。
• つまりWaveファイルを動的にメモリ上に構築してXNAで再生し
  ています

•あほです
使用例7

日本語入力を実現してみる
日本人の最大の悩み
• そう、それは、日本語入力
 • WMではATOKとかインストールしてましたね
• Windows Phone 7では日本での発売が未定なのもあるのか
  IMEは実装されていません
 • 今後実装されるでしょう!
• でもいま日本語入力が使いたい!とおもうのはしかたないこと。
• 悲しくも僕たちはデベロッパなのでIMEを作るかという発想にい
  たるわけです…
id:iseebiがやらかした
• 22:29:08 <iseebi> つもりん、AjaxIME実装した?
• 02:24:55 <iseebi> できたあああ

• たった4時間でid:iseebiがやってくれました。
これがそれ
せっかくなので
• コントロールにしました。
• 組み込むだけで日本語入力が使えます!
こんなかんじ
実装
• 裏でSocialIMEを叩いてます
• 文節の調整はサポートしてません
 • だれかやって!
• エディットコントロールが2枚重なってます
• ローマ字変換は自前のテーブルです!
• http://d.hatena.ne.jp/tmyt/
 • ここで配布してます!
かけあしで見てきましたが
• WindowsPhone7はSilverlightでできることがほとんどすべてで
  きます
• 表現力もiOSやAndroidに負けないぐらい高まりました
• 国内の発売が楽しみですね!
ご清聴ありがとうございました

Contenu connexe

En vedette

Wm勉強会@関西#1
Wm勉強会@関西#1Wm勉強会@関西#1
Wm勉強会@関西#1Yutaka Tsumori
 
Independent Myth Project
Independent Myth ProjectIndependent Myth Project
Independent Myth ProjectAshley F
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++Yutaka Tsumori
 
#CollegeCash linkedin for students Chat Session
#CollegeCash linkedin for students Chat Session#CollegeCash linkedin for students Chat Session
#CollegeCash linkedin for students Chat SessionSteve Cassady
 
21 Tactics for Specialty Retailers
21 Tactics for Specialty Retailers21 Tactics for Specialty Retailers
21 Tactics for Specialty RetailersJohn Saywell
 
Collegecashlinkedinforstudents october 11 2012
Collegecashlinkedinforstudents october 11 2012Collegecashlinkedinforstudents october 11 2012
Collegecashlinkedinforstudents october 11 2012Steve Cassady
 

En vedette (6)

Wm勉強会@関西#1
Wm勉強会@関西#1Wm勉強会@関西#1
Wm勉強会@関西#1
 
Independent Myth Project
Independent Myth ProjectIndependent Myth Project
Independent Myth Project
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++
 
#CollegeCash linkedin for students Chat Session
#CollegeCash linkedin for students Chat Session#CollegeCash linkedin for students Chat Session
#CollegeCash linkedin for students Chat Session
 
21 Tactics for Specialty Retailers
21 Tactics for Specialty Retailers21 Tactics for Specialty Retailers
21 Tactics for Specialty Retailers
 
Collegecashlinkedinforstudents october 11 2012
Collegecashlinkedinforstudents october 11 2012Collegecashlinkedinforstudents october 11 2012
Collegecashlinkedinforstudents october 11 2012
 

Similaire à Sumaben#11

TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門Hiroshi Sakate
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーShin Ise
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
技術者なら Kindle でしょ
技術者なら Kindle でしょ技術者なら Kindle でしょ
技術者なら Kindle でしょYoshitaka Seo
 
ソフトウェア開発が好きだ
ソフトウェア開発が好きだソフトウェア開発が好きだ
ソフトウェア開発が好きだKoichi Ota
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまc-mitsuba
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSSShogo Iwano
 
サイドバー用アプリを XPages で開発してみよう!
サイドバー用アプリを XPages で開発してみよう!サイドバー用アプリを XPages で開発してみよう!
サイドバー用アプリを XPages で開発してみよう!Takeshi Yoshida
 
application Next Generation presented by android女子部
application Next Generation presented by android女子部application Next Generation presented by android女子部
application Next Generation presented by android女子部Yuki Anzai
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Atsushi Harada
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた伊藤 祐策
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことKouji Hosoda
 
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々Yu Uno
 
Windows phoneファーストインプレッション
Windows phoneファーストインプレッションWindows phoneファーストインプレッション
Windows phoneファーストインプレッション高見 知英
 

Similaire à Sumaben#11 (20)

TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバー
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
技術者なら Kindle でしょ
技術者なら Kindle でしょ技術者なら Kindle でしょ
技術者なら Kindle でしょ
 
ソフトウェア開発が好きだ
ソフトウェア開発が好きだソフトウェア開発が好きだ
ソフトウェア開発が好きだ
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくま
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
 
サイドバー用アプリを XPages で開発してみよう!
サイドバー用アプリを XPages で開発してみよう!サイドバー用アプリを XPages で開発してみよう!
サイドバー用アプリを XPages で開発してみよう!
 
Gorilla.vim#6
Gorilla.vim#6Gorilla.vim#6
Gorilla.vim#6
 
application Next Generation presented by android女子部
application Next Generation presented by android女子部application Next Generation presented by android女子部
application Next Generation presented by android女子部
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
 
Serverless on GCP
Serverless on GCPServerless on GCP
Serverless on GCP
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた
 
.NET CoreアプリでWindowsの外に出発
.NET CoreアプリでWindowsの外に出発.NET CoreアプリでWindowsの外に出発
.NET CoreアプリでWindowsの外に出発
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
 
ネットワークについて
ネットワークについてネットワークについて
ネットワークについて
 
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
 
Yapc2012ltthon
Yapc2012ltthonYapc2012ltthon
Yapc2012ltthon
 
Windows phoneファーストインプレッション
Windows phoneファーストインプレッションWindows phoneファーストインプレッション
Windows phoneファーストインプレッション
 

Plus de Yutaka Tsumori

未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないためにYutaka Tsumori
 
Aristeaのコード補完
Aristeaのコード補完Aristeaのコード補完
Aristeaのコード補完Yutaka Tsumori
 
せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなしYutaka Tsumori
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄Yutaka Tsumori
 
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)Twitter Client for ZSH (2)
Twitter Client for ZSH (2)Yutaka Tsumori
 
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!Yutaka Tsumori
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!Yutaka Tsumori
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSHYutaka Tsumori
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJavaYutaka Tsumori
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_likeYutaka Tsumori
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとかYutaka Tsumori
 

Plus de Yutaka Tsumori (20)

Buri2019
Buri2019Buri2019
Buri2019
 
Setsな話
Setsな話Setsな話
Setsな話
 
XAMLで条件分岐
XAMLで条件分岐XAMLで条件分岐
XAMLで条件分岐
 
BuriKaigi2018
BuriKaigi2018BuriKaigi2018
BuriKaigi2018
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
 
Blync light for HACK
Blync light for HACKBlync light for HACK
Blync light for HACK
 
Aristeaのこと
AristeaのことAristeaのこと
Aristeaのこと
 
Aristeaのコード補完
Aristeaのコード補完Aristeaのコード補完
Aristeaのコード補完
 
せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなし
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄
 
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
 
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
 
PhoneからPCへ。
PhoneからPCへ。PhoneからPCへ。
PhoneからPCへ。
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSH
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJava
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_like
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとか
 
たのアプLt
たのアプLtたのアプLt
たのアプLt
 
よくわかるMPNS
よくわかるMPNSよくわかるMPNS
よくわかるMPNS
 

Sumaben#11