酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

開発-Windows Store Apps

WindowsストアアプリでFolderPickerを使ってフォルダ内のファイル一覧を取得する

Windows 8.1での挙動についてです。 Windowsストアアプリではユーザーの許可(選択)がないと、基本的にアプリからファイルシステムにアクセスすることができません。 例外としては、アプリ自身が管理するローカルフォルダ(ApplicationData.Current.LocalFolde…

Objective-Cで書かれたXcodeプロジェクトをWindows 10で動かす「WinObjC」のプレビュー版がでました

Objective-CやJavaで書かれたiOSアプリやAndroidアプリをWindows 10で動かすためのWindows Bridgeプロジェクトがあります。ワシントン州の地名をとったコードネームでそれぞれ「Project Islandwood」「Project Astoria」と呼ばれていました。 https://dev.wi…

OneDriveロゴを利用する際のガイドライン

これらのガイドラインに準拠する場合、ユーザーと OneDrive を接続するアプリの UI では、この zip ファイルに含まれているアイコンを使うことができます。これらのアイコンを使うことによって、ここで紹介するガイドラインに従うことに同意したものと見なさ…

WindowsストアアプリでWebViewのスクロールを抑止する

参照 How to disable WebView scrolling in Windows 8.1

WindowsストアアプリでWriteableBitmapExを使って画像をリサイズ処理、blit処理する

WriteableBitmapExを使って、画像のリサイズする方法と2枚の画像を合成する方法を紹介します。WriteableBitmapExの導入方法については「WindowsストアアプリでWriteableBitmapExを使ってクリッピング処理する - 酢ろぐ!」に書いたことがありますので参考に…

Windows 10 Technical Previewのインストールが「エラーコード 0xC1900101 - 0x2000C」で失敗してしまう

Windows 10 Technical Previewをまだ試せていない件について。 あらすじ 「Windows 9」や「Windows TH」と呼ばれていたWindowsの次世代バージョン「Windows 10」のテクニカルプレビューが公開されました。テクニカルプレビューの正式名称は10と書かずにWindo…

Windowsストアアプリで日付のコレクションから一番新しい日付/一番古い日付を取得する

「WindowsストアアプリでLINQを使って日付のコレクションをソートする - 酢ろぐ!」を応用して、ソート後に一番新しい(または古い)日付を取得します。ソートした後に一番先頭の要素を取り出すことで、一番新しいまたは一番古い日付を取得することが可能です…

Windowsストアアプリで文字列の配列を結合する

文字列の配列を結合します。 例えば、配列に「しばやん」「だるやなぎ」「がりっち」という3つの単語が含まれています。string.Joinメソッドを使って、これらの単語に「x」という区切り文字を付与して結合し、1つの文字列にしましょう。 var strings = new[]…

WindowsストアアプリでBackgroundDownloaderクラスを使ってバックグランドダウンロードしてファイルに保存する

BackgroundDownloaderクラスを使って、ファイルのダウンロードをバックグランドでおこないます。 ファイルをダウンロードする var urlString = "https://example.com/xxxx.pdf"; var downloadUri = new Uri(urlString); // ダウンロードしたデータを保存する…

WindowsストアアプリとWindows Phoneアプリをひとつに統合できる「ユニバーサルWindowsアプリ」について

2014年4月、「BUILD 2014」で「Visual Studio 2013 Update 2」のRC公開と共に「ユニバーサルWindowsアプリ(universal Windows apps)」とWindows Phone 8.1が発表されました。 ユニバーサルWindowsアプリ(以下、ユニバーサルアプリ)とWindows Phone 8.1の登場…

Windowsストア版Bingスポーツで日本のプロ野球情報が見られるようになっていた件について

Bingスポーツを起動するとデフォルトでMLB(アメリカのメジャーリーグ、大リーグ)のスコアボードが表示されています。 スコアボードをスクロールすれば「J1」や「J2」の試合の状況を見ることができるのですが、何故かNPB(日本のプロ野球)のスコアボードは存在…

Windowsストアアプリでタスクの処理完了の通知を受け取る

既に作成したタスクに対して、継続する処理を追加します。一通りの処理を完了した後にContinueWithメソッドで追加したActionを実行します。 var task = Task.Run(() => { Debug.WriteLine("task start"); // NOTE:すごい時間のかかる処理をしているつもり ne…

Windowsストアアプリでシステムに最適な分散数でタスクの並列処理をおこなう

マルチコアCPUを前提にして、システムに最適な分散数でタスクの並列処理をさせてみましょう。 var source = Enumerable.Range(0, 4); // マルチコア数にあった並列処理をする var list = source.AsParallel() .Select(n => { Debug.WriteLine("task{0} start…

Windowsストアアプリでタスクの並列処理をおこなう

Parallel.Invoke(() => { Debug.WriteLine("task1 start"); // NOTE:すごい時間のかかる処理をしているつもり new Task(() => { }).Wait(1000); Debug.WriteLine("task1 end"); }, () => { Debug.WriteLine("task2 start"); // NOTE:すごい時間のかかる処理…

Windowsストアアプリでタスク(Taskクラス)を使う

Windowsストアアプリでよく使うようになった機能のうちにタスクがあります。 var task = Task.Run(() => { Debug.WriteLine("task start"); // NOTE:すごい時間のかかる処理をしているつもり new Task(() => { }).Wait(1000); Debug.WriteLine("task end"); …

Windowsストアアプリで使えるポータルクラスライブラリ(Portable Class Library/PCL)について

サーバーサイドでの「ASP.NET」からスマートウォッチと呼ばれる腕時計などの組み込み機器向けの「.NET Micro Framework」まで、あらゆる分野で.NET Frameworkや各デバイス向けにカスタマイズされた.NET Frameworkのサブセットが存在しています。 .NET Framew…

Windowsストアアプリでの非同期処理

結論としては、 Windowsストアアプリの非同期処理には await/asyncキーワードを使おう! です。 Windowsストアアプリでの非同期処理 非同期プログラミングは、UIを持つアプリケーションを開発する上で抑えておかなければならない重要な要素のひとつです。 過…

Windowsストアアプリで文字列を置換する

文字列に含まれる指定した文字列から文字列に置換します。 例えば「僕の名前は、だるやなぎです。」という文字列があります。この文字列の「僕」を「俺」に、「だるやなぎ」を「さくさん」に置換します。文字列の置換にはstring.Replaceメソッドを使用します…

Windowsストアアプリで文字列を分割する

stringクラスのSplitメソッドを使って、指定した区切り文字を使って文字列を分割します。 // 分割される文字列 string text = "こんにちは、酢酸です。あなたは元気ですか?"; // 区切り文字を指定して分割する var array = text.Split(new[] { '、', '。' }…

iOSアプリからWindowsストアアプリやXamarin.iOSへ移植したい方へ。Objective-C to C#変換ツール「Automagical」が出ました

生存戦略しましょう! by Akkun on pixiv スマートフォンアプリ開発に従事している方は、案件によってC#(Windows Mobile、Windowsストアアプリ)であったりObjective-C(iPhone/iPad)であったり、Java(Android)であったり各プラットフォームによって様々な言語…

Windowsストアアプリで複数の重なり合った画像をRenderTargetBitmapクラスを使って合成して1枚の画像を作成する

今日起きたら @salvare777 さんから以下の質問を頂いておりました。 @ch3coohはじめましてブログを拝見してもしかしたらなと思い質問させてもらいます。 詳しい説明が必要な場合は説明いたします 現在ストアアプリの開発を行っているのですが、(続く)2014-…

Windowsストアアプリ向けTwitterクライアント「Neuronia」のalpha版を試してみました

Windows8.1用TwitterクライアントNeuroniaアルファ版リリースしました - がりらぼ URL #win8dev_jp2014-02-12 22:03:06 via Tweet Button ということで、年末からがりっちがTwitterで開発していることを公言しているにも関わらず、アルファ版を出してよーと…

WindowsストアアプリでGridViewのアイテムごとにタップしたエフェクトアニメーションを実行させるかどうか決めたい

かずき( id:okazuki )さんに「WindowsストアアプリのGridViewでタイルをタップした時に押した時のチルトエフェクトアニメが動いちゃうんですけど、アイテムごとにアニメするかしないか決めたいんですよ」と、何かのプロパティを変更するいいんでしょ?的なノ…

Visual Studio 2013向けの多言語アプリツールキット

Visual Studio 2012からWindowsストアアプリとWindows Phoneの多言語対応が楽になるツールが公式で用意されている。 今までのアプリ(WPFとかだと今でもかな)だと多言語対応する際に、言語ごとにリソースファイルを用意する必要があった。 多言語アプリツール…

Windowsストアアプリでインターネット接続されているかどうかを確認する

以前、Twitterで嘆いていたような気もするのですが、Windows Live SDKはインターネット接続されていない状態でSkyDriveのディレクトリを取得しにいったりしようとすると、度々ハンドルできない例外を吐いてアプリをクラッシュさせます。 x86とARM環境下でも…

Pixishare v1.2.4/1.2.5 リリースしました

Windows 8.1でpixivを見る奴、Pixishare v1.2.4/1.2.5 をリリースしました。 Pixishare 不具合修正とログイン機能実装のための実験的なアップデートになります。 次のページをロードしたときに画像が自動で選択されてしまう不具合の修正 月間ランキング、ル…

Windowsストアアプリ向け おみくじアプリ「プロ生ちゃんおみくじ」を試してみました

プロ生ちゃんおみくじが公開されています URL2014-01-14 14:14:46 via Tweet Old Post ウッソー!マジかー(棒2014-01-14 14:21:37 via web ということで、お正月明けて成人式も終わった1月15日ですが、「プロ生ちゃんおみくじ」を試してみました。バージョン…

無料で自分のアプリを紹介してもらえるWindowsストア向けのアドネットワーク「AdDuplex」

先日、ハッシュ計算するツール「Hash Calculator Tool」を公開しました。このアプリを使うと素早くハッシュ値の計算をすることができます。 Hash Calculator Tool 当然のことながらスナップ表示に対応していて、デスクトップアプリを操作しながらハッシュ計…

WindowsストアアプリとWindows Phoneアプリでパスワードの強度をチェックするシンプルなライブラリを移植しました

ウェブサービスなどでアカウントを作成する際にパスワード強度をチェックされることがよくあります。例えばGMailのアカウントを作成する時には下図のように表示されます。 jQueryでパスワード強度を計るライブラリをベースにして、laiso+iphoneさんがiOSアプ…

Xamarin for Visual StudioをインストールしたらWindowsストアアプリプロジェクトのXAMLが正しく表示されなくなった

Xamarin for Visual Studioをインストールしたら、Visual Studio 2013でのWindowsストアアプリプロジェクトのXAMLデザイナーが、下図のように正しく表示されなくなってしまいました。 XAMLデザイナーを開いていると50以上のビルドエラーが発生してしまい、XA…

Windowsストアアプリ向けTwitterクライアント「Rainfall」のalpha版を試してみました

昼になったのでもう一回宣伝、Windows 8.1向けのStore AppsなTwitterクライアントとしてRainfallのテスト版を公開したので興味があったら使ってみてください? URL URL2013-12-25 12:18:25 via web ということで、TLで話題になっている「Rainfall」を使ってみ…

Windowsストアアプリ向け2ch専用ブラウザ「IRIYA」を試してみました

8インチタブレット縦持ちでも快適に操作できるWindowsストアアプリ用2chブラウザIRIYA公開しました。 URL #win8jp2013-12-20 09:30:39 via Tween ということで、TLで話題沸騰のIRIYAを使ってみた。バージョンは「1.1.0.5」。 アプリを起動すると灰色の画面が…

Windowsストアアプリでキーボードやマウス、タッチデジタイザーなどの物理入力デバイスの接続の有無を調べる

Windowsストアアプリが動くWindowsデバイスでは、外付けUSBキーボードやマウスなどが接続されているかどうか調べることができます。 Windows.Devices.Input名前空間には、Windowsストアアプリで扱えるキーボードやマウスなどの入力デバイスが接続されている…

Windowsストアアプリを作った後にやると良いこと

昨日のブログで僕が作ったアプリを紹介するサイトを立ち上げたということを書きました。まぁ、まだ1つしか掲載していないですが、他にも作ったiOSアプリなどを追加していきたいと思います。 SOFTBUILD's Products さて、何度か書いた(話した)記憶があるけど…

Miix 2 8 買いました

Vaio買ってから1ヶ月たってないのに URL2013-12-12 20:51:55 via MobaUp しんじさんまで「評価端末」を買って品質を高めようとしているのに、僕がここで買わなくて良いのだろうか。2013-12-12 20:56:28 via OpenTween 共に品質を高めようではないか!!2013-…

Pixishare v1.2.2/1.2.3 リリースしました

Windows 8.1でpixivを見る奴、Pixishare v1.2.2/1.2.3 をリリースしました。 Pixishare タブレットでの操作を最適化 イラスト閲覧ページのUIをタブレットでの操作に最適化させるように一新しました。 イラスト詳細ビュー(画面右側)をフリック操作で前後のイ…

Windowsストアアプリで実行ファイルまたはアセンブリに埋め込まれたリソースを取得する

Windowsストアアプリで「埋め込まれたリソース」を取得してみましょう。 実行中のDLLアセンブリにアクセスするためには、下記のようにAssembly.GetExecutingAssemblyメソッドでAssemblyオブジェクトを取得していました。 var assembly = System.Reflection.A…

.NET Framework APIの型をWindows Runtime APIの型を変換する

本日は、Windowsストアアプリ Advent Calendarの第7日目です。 Windowsストアアプリでは、.NET Framework APIとWinRT APIの両方を混在させて扱うことができます。 仕事柄ダウンロードしてきたファイルを扱ったり画像を扱ったりすることが多いので、System.IO…

WindowsストアアプリでWindows.Storage.Streams.IBuffer型のバッファからSystem.IO.Stream型のストリームへ変換する

Windows.Storage.Streams.IBufferからSystem.IO.Streamの変換です。 // using System.Runtime.InteropServices.WindowsRuntime; // using Windows.Storage.Streams; System.IO.Stream stream = GetStream(); // ストリームからデータを読み込む var bytes = …

WindowsストアアプリでWindows.Storage.Streams.IBuffer型のバッファとbyte型配列とを相互に変換する

byte[] → IBuffer byte型配列からWindows.Storage.Streams.IBufferの変換です。 usingディレクティブにSystem.Runtime.InteropServices.WindowsRuntimeを宣言しておくことによって拡張メソッドが使用できるようになります。 byte型配列の拡張メソッドのAsBuf…

WindowsストアアプリでWindows.Storage.Streams.IRandomAccessStream型のストリームとbyte型配列とを相互に変換する

byte型の配列からIRandomAccessStream型のストリームへ変換する byte型配列からWindows.Storage.Streams.IRandomAccessStream型のストリームへの変換です。 Windowsストアアプリでは、System.IO.WindowsRuntimeStreamExtensionsクラスが提供されています。こ…

WindowsストアアプリでWindows.Storage.Streams.IRandomAccessStream型のストリームとSystem.IO.Stream型のストリームとを相互に変換する

まとめはこっちに書いています。 本記事ではWindowsストアアプリでのSystem.IO.Stream型からWindows.Storage.Streams.IRandomAccessStream型への変換。または逆のWindows.Storage.Streams.IRandomAccessStream型からSystem.IO.Stream型へ変換する方法を紹介…

Pixishare v1.2.0/1.2.1 リリースしました

Windows 8.1でpixivを見る奴、Pixishare v1.2.0/1.2.1 をリリースしました。 Pixishare 今回の追加機能は下記の通りです。 イラストをSkyDriveにアップロードする機能の追加 あと、アプリアイコンを変更しています。今までは僕の手書き文字でロゴが認識しづ…

WindowsストアアプリでSystem.IO.Stream型のストリームからIBufferオブジェクトへ変換する

WindowsストアアプリでSystem.IO.Stream型のストリームからIBufferオブジェクトへ変換する方法をご紹介します。 事前にusingディレクティブにSystem.Runtime.InteropServices.WindowsRuntime名前空間を宣言しておきます。System.IO.Stream型のストリームから…

WindowsストアアプリでStorageFileのファイルからテキストを読み取る

アプリローカルのフォルダに保存したテキストファイルからテキストを読み出そうとすることはよくあります。本記事ではStorageFileのファイルからテキストを読み取る方法をご紹介したいと思います。 ファイルからのテキストを読み取る Windows.Storage名前空…

Pixishare v1.1.1/1.1.2 リリースしました

Windows 8.1でpixivを見る奴、Pixishare v1.1.1/1.1.2をリリースしました。 Pixishare 下記の不具合を修正しています。 同じイラストを保存するとクラッシュしてしまう不具合修正 thanks @od_10z 漫画を保存使用するとクラッシュしてしまう不具合の回避 than…

Windowsストアアプリでチャームを開く

チャームを開く 設定チャームを開く Windows.UI.ApplicationSettings.SettingsPane.Show(); 共有チャームを開く Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI(); 印刷チャームを開く Windows.Graphics.Printing.PrintManager.Sho…

Pixishare v1.1.0 リリースしました

多々不完全なところがありますが、Windows 8.1でpixiv見る奴をリリースしました。 Pixishare まだまだ対応できていない機能であったりクラッシュする問題が多々ありますが、これからのアップデートにご期待ください。 ちなみに¥450の有料アプリとなっていま…

Windowsストアアプリでネットワーク接続状態が変わったイベントを取得する(接続状態の変化を検出する)

NetworkInterfaceクラスをつかうことで、デバイスがどんなネットワークインターフェースに接続されているのかを取得したり、接続されている回線の速度を取得したりすることができます。 Windows Phone 7でも、同名のクラスが存在していますが、Windowsストア…

WindowsストアアプリでWiFiに接続されているかどうか調べる

WindowsストアアプリでWiFiに接続されているかどうか調べます。 /// <summary> /// Property that returns the connection profile [ ie, availability of Internet ] /// Interface type can be [ 1,6,9,23,24,37,71,131,144 ] /// 1 -> Some other type of network </summary>…