読者です 読者をやめる 読者になる 読者になる

酢ろぐ!

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

C#で半角カタカナを全角カタカナに変換する

public static class StringKatakanaConvertExtension { private static Dictionary<char, char> halfToFull = new Dictionary<char, char> { { '\uFF75', '\u30AA' }, // オ { '\uFF8E', '\u30DB' }, // ホ { '\uFF82', '\u30C4' }, // ツ { '\uFF78', '\u30AF' }, // ク }; public </char,></char,>…

C#とCoreTweetを使ってフォロワーの情報を取得する

本記事ではC#とCoreTweetを使って、自分のフォロワーを取得する方法を紹介します。 Twitterのフォローとフォロワーがたまにわからなくなりますが、自分のフォロワーとは「自分をフォローしている他人」のことです。 CoreTweetのNuGetを使った導入方法とTwitt…

C#とCoreTweetを使ってAPIの残数(rate limti)を取得する

本記事ではC#とCoreTweetを使って、APIの残数(rate limti)を取得する方法を紹介します。 CoreTweetのNuGetを使った導入方法とTwitterの開発者サイトでのアプリケーション登録(アクセスキーの取得)に関しては以前紹介した「C#とCoreTweetを使って簡単にTwitte…

C#とCoreTweetを使って特定のキーワードを含むツイートを検索する

本記事ではC#とCoreTweetを使って、特定のキーワードを含むツイートを検索する方法を紹介します。 CoreTweetのNuGetを使った導入方法とTwitterの開発者サイトでのアプリケーション登録(アクセスキーの取得)に関しては以前紹介した「C#とCoreTweetを使って簡…

Xamarin.iOSでMD5やSHA1のハッシュ値を計算する

MD5(Message Digest Algorithm 5)は、入力に対して128ビットのハッシュ値を出力するハッシュ関数のことで、不可逆的な一方関数を用いているところから認証などで広く使われています。他にもダウンロードしたファイルが第三者によって作者(配布者)が意図しな…

Xamarin.iOSを使ってiOSデバイスの機種名を取得するライブラリを作りました

過去に「Xamarin.iOSでiOSデバイスの機種名(モデル名)を取得する - 酢ろぐ!」でiOSデバイスの機種(モデル)名を取得する方法を紹介しました。この方法は機種名を取得するものと言うよりかはiPhone7,1といったデバイスモデルの識別子を取得する方法でした。 …

Xamarin.iOSでHtml Agility Packを使ってHTMLをスクレイピングする

この記事は「Xamarin Advent Calendar 2014 - Qiita」の10日目です。 Xamarin Advent Calendarは、Xamarinを使ったアプリ開発のTipsが1日1つずつ紹介されています。この記事はXamarin.iOSについて書いていますが、他の方はXamarin.AndroidやXamarin.Formsな…

Xamarin.iOSで新しいプロジェクトを作成する(Unified API)

過去にXamarin.iOSとXamarin.Macは別々のコードでメンテナンスされていて、さらに64bit対応されていませんでした。それを受けて、2014年9月に品質管理と64bit対応のため統合された「Unified API」が登場しました。過去のものは「Classic API」という位置付け…

C#でHtml Agility Packを使って秀和システムの新刊情報を取得する

Html Agility Packという.NET Framework向けに書かれたHTMLパーサーライブラリがあります。このライブラリはC#から利用することができます。簡単にウェブスクレイピングすることができます。 今日もリスト形式で並んでいるデータを取得してみましょう。過去…

C#でHtml Agility Packを使って豊橋技科大の休講情報を取得する

この記事は「TUT Advent Calendar 2014」の3日目です。たまたまAdventarで発見した豊橋技術科学大学関係者向けのアドベントカレンダーで、3日目が空いていたので学外の人ですが参加してみます。 Html Agility Packという.NET Framework向けに書かれたHTMLパ…

C#でHtml Agility Packを使ってYahoo!ファイナンスの現在の株価を取得する

Html Agility Packという.NET Framework向けに書かれたHTMLパーサーライブラリがあります。このライブラリはC#から利用することができ、簡単にウェブスクレイピングすることができます。 株価を調べる際に「Yahoo!ファイナンスは20分遅れの株価を表示してい…

C#でHtml Agility Packを使ってウェブサイトのタイトルを取得する

Html Agility Packという.NET Framework向けに書かれたHTMLパーサーライブラリがあります。このライブラリはC#から利用することができます。簡単にウェブスクレイピングすることができます。 まずは最初ということで、このブログ(blog.ch3cooh.jp)のタイトル…

Xamarin.iOSでサイズを指定して空の(または単色の)UIImageオブジェクトを生成する

本記事では、Xamarin.iOSを使ってUIImageオブジェクトをプログラム(コード)だけで動的に生成する基本となる方法を紹介します。Objective-Cで実現する方法については下記の記事をご覧ください。 サイズを指定して空のUIImageオブジェクトを生成する - iOSアプ…

Xamarin.iOSで画像(UIImage)をカメラロールへ保存する

Objective-Cで画像を保存するにはUIImageWriteToSavedPhotosAlbum関数を使いました。Xamarin.iOSで同じことをしたかったのですが検索能力が低くて該当するメソッドを見つけることができませんでした。 UIImageWriteToSavedPhotosAlbum関数に相当するメソッド…

Xamarin.Androidの開発Tipsの記事まとめ

随時更新していきます。ここまで書いてから一覧性が悪いような気がしてきました。 Xamarin.Android開発ことはじめ 画面やUIパーツ 画面遷移 テキストを表示させるラベル(TextView) ボタン(Button) 画像を表示するビュー(ImageView) アラート、ダイアログ(Ale…

Xamarin.iOSで画像をUIImageViewに表示させる

Interface Builderを使用せずに、スクリーン上にイメージを表示させる方法です。UIImageViewを生成してUIImageオブジェクトを設定します。 var imageRect = new RectangleF(0f, 0f, 320f, 109f); using (var myImage = new UIImageView(imageRect)) { myImag…

Xamarin.iOSで自動ロック(スリープモード)に突入させないようにする

セキュリティ、および節電の為にiPhoneやiPadを放置していると自動ロックがかかり、スリープ状態に突入します。 自動ロック(スリープモード)を無効にする 動画閲覧アプリなど長時間ユーザーが触らないことが想定できます。デバイスを触らずに放置していた際…

Xamarin.iOSの開発Tipsの記事まとめ

日本語で書かれたXamarin.iOSについてのTipsがあまり検索で引っかからないので忘備録代わりにメモしています。基本的時自分用に書いているのでザックリとした記載になっていますが、Xamarin.iOSでなにかやりたいという時の逆引きとして使っていただけると嬉…

Xamarin.iOSで指定したフォント名で描画する

UIFontを生成する際にUIFont.FromNameメソッドを使うことで指定したフォント名のUIFontオブジェクトを生成することが可能です。UILabelのFontプロパティに生成したUIFontオブジェクトを設定することで指定したフォントで文字列が表示されます。 特にXamarin.…

Xamarin.iOSでAsset CatalogからUIImage型の画像を取得する

下図のように「NotFoundImage.imageset」という名前でAsset Catalog(xcassets)があったとします。 以下のコードでUIImage型の画像オブジェクトを取得することができます。 var defaultImage = UIImage.FromBundle("NotFoundImage"); 関連記事 Xamarin.iOSを…

Xamarin.iOSでiOSデバイスの機種名(モデル名)を取得する

iOSデバイスも当初と比較するとiPad、iPod、iPhoneとそれぞれの派生モデルが複数登場してきました。搭載されているメモリや画面サイズなどアプリによって適切な表現方法が異なるケースがよくあります。 Objective-Cを使ってモデル名(機種名)を取得する方法は…

Xamarin.iOSでUIImage型のバッファとbyte[]型とを相互に変換する

Xamarin.iOSでUIImage型のバッファとbyte型とを相互に変換してみましょう。 UIImage型とbyte型とでは相互に直接型の変換をおこなうことができません。一度、NSData型に変換した上で希望する型への変換をおこないます。 UIImageとbyteとを相互に変換する UIIm…

Xamarin.iOSでUnwind Segueを使って前の画面に戻る(Storyboard使用時/プログラム編)

iOSで表示された画面はスタック構造で履歴が管理されており、pushViewController:animated:メソッドやpopViewControllerAnimated:メソッドを使用することで、指定した画面へ遷移したり遷移元の画面に戻るということをしていました。 iOS 5でStoryboardが導入…

Xamarin.iOSでNSUserDefaultsにデータを保存する

iOSでアプリケーションの設定値などを永続的に保存するために使われる方法のひとつにNSUserDefaultsがあります。iOSには他にもCoreDataやファイルとして保存することができますがNSUserDefaultsはその中でも最も簡単な方法でしょう。 文字列をNSUserDefaults…

Xamarin.iOSでUIActionSheetを表示する

Xamarin.iOSでUIActionSheetを表示させます。 var title = "サインインするサービスを選択します"; using (var sheet = new UIActionSheet(title, null, "Cancel", null, new []{ "pixiv" })) { sheet.Clicked += (sx, ex) => { Console.WriteLine("clicked.…

C#で東京メトロオープンデータAPIを使って列車ロケーション情報(運行状況)を取得する

おはようございます。週もあけました。 さて、今日もC#で東京メトロオープンデータAPIを使ってみましょうか。本記事では、odpt:Trainを指定して、列車ロケーション情報を取得します。 列車ロケーション情報というのは、特定の列車がどこの駅にいるのか。どこ…

C#で東京メトロオープンデータAPIを使って施設情報(駅施設情報)を取得する

おはようございます。今日もC#で東京メトロオープンデータAPIを使ってみましょうか。本記事では、odpt:StationFacilityを指定して、施設情報(駅施設情報)を取得します。 施設情報を取得する 東京メトロの施設情報は、JSON.NETを使って取得したJSON-LD形式の…

C#で東京メトロオープンデータAPIを使って駅情報(乗降人員数)を取得する

さて、今日もC#で東京メトロオープンデータAPIを使ってみましょう。本記事では、odpt:PassengerSurveyを指定して、駅情報(乗降人員数)を取得します。 東京メトロ駅情報を取得する 東京メトロの駅情報は、JSON.NETを使って取得したJSON-LD形式のデータをパー…

C#で東京メトロオープンデータAPIを使って駅情報を取得する

さて、今回も東京メトロオープンデータAPIを使ってみましょう。 タイトルでは駅情報を取得するとなっていますが、正しくはodpt:Stationで指定する東京メトロ駅情報を取得するです。 東京メトロ駅情報を取得する 東京メトロの駅情報は、JSON.NETを使って取得…

C#で東京メトロオープンデータAPIを使って路線情報を取得する

前回からの続きです。タイトルでは路線情報を取得するとなっていますが、正しくはodpt:Railwayで指定する東京メトロ路線情報を取得するです。 東京メトロ路線情報を取得する 東京メトロの路線情報は、JSON.NETを使って取得したJSON-LD形式のデータをパース(…

C#で東京メトロオープンデータAPIを使って遅延時間(遅延情報)を取得する

先週末、東京メトロオープンデータ活用コンテストに向けて、@daisuke_nomura がミニ勉強会を開いてくれました。東京メトロオープンデータ活用コンテストについてはこちらのページをご覧ください。 取得可能なデータに関しては下記の通りです。 東京メトロ全…

C#でローカルマシンのIPアドレスが変更されたことを検出する

アプリをバックグランドで起動させておいてIPアドレスに変化がないのか監視するのもよさそうだったのですが、そんなにクリティカルな問題でもないのでアプリを常駐させるよりも定刻でチェックすればよいという話になりました。 ということで、C#を使ってロー…

C#で政治データAPIを使って日本の政治家一覧を取得する

MA10に向けて何か作ろうかなと思って各社提供のWebAPIを色々と触っています。本記事では、KPI社のC#を使って政治データAPIの政治家データを取得します。 API Ref | Seiji.kpi-net.com 事前準備 政治データAPIはレスポンスにxmlとjsonを選択することが可能で…

C#とCoreTweetを使って簡単にTwitterへツイートするbotを作る

しばやんが日々のブログのPV数をツイートするために、Google Analytics APIを使う方法を書いていました。 Google Analytics API を使って前日の PV を取得するコードを C# で書いてみた - しばやん雑記 どうやら、なかじさんがPVツイートbotを作る流れに乗っ…

自動エアコン調整システムを考える(2) - C#でtesseract-ocrを使って数値を取得する

我が家にはみそあんというキンクマハムスター(長毛種)という天使がいることは前回「自動エアコン調整システムを考える(1) - 部屋の間取りとシステムの基本構成 - 酢ろぐ!」の記事で書きました。今回は室温を取得するためにどうしたら良いのかを検討していき…

自動エアコン調整システムを考える(1) - 部屋の間取りとシステムの基本構成

うちの天使でもあるキンクマハムスター(長毛種)のみそあんです。下の写真はゲージから脱獄しようとしてるところですね。 ハムスターは賢いのかアホなのか分からないのですが、試行錯誤を繰り返して安定的に天蓋まで登る方法見つけます。少し前に外出中にみそ…

AWS SDK for .NETを使ってAmazon Simple Storage Service(S3)にファイルをアップロードする

AWS SDK for .NETを使ってAmazon Simple Storage Service(S3)にファイルをアップロードしてみましょう。 AWS SDKをインストールする NuGetを使って「AWS SDK for .NET」をインストールします。 ファイルをアップロードする ボタンをクリックするとピクチャフ…

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

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

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

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

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

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

C#でISBN-13からISBN-10へ変換する/ISBN-10からISBN-13へ変換する

個人的にネットで書籍を買う時に使うのが楽天ブックスとAmazonです。 どちらのショップでもISBNの表記を見つけられるはずです。ISBNとは書籍を管理する番号です。ISBNの規格には10桁で管理するISBNと13桁で管理するISBN-13が存在しています。 基本的にはISBN…

C#を使って楽天証券にログインしてセッションIDを取得する

大納会に近付きつつある今日この頃です。 過去に株売買の自動システムを作ろうとしていた時期がありました。プロジェクトからソースコードを切り出して下記のようにいくつかブログにも書いてたことがありました。 C#を使って楽天証券のMarketSpeedへの自動ロ…

Windows Phoneでアプリリソースのファイルを分離ストレージにコピーする

アプリケーション内に存在しているビルドアクションを「コンテンツ」にした画像ファイルを、分離ストレージにコピーします。 アプリリソースとして存在しているimage01.gif〜image07.gifのストリームを取得して、分離ストレージのユーザーストアにファイルを…

列挙型変数に0が代入できる

http://msdn.microsoft.com/ja-jp/library/aa691283.aspx 暗黙の列挙値変換を利用すると、decimal-integer-literal の 0 を任意の列挙型に変換できます。 暗黙の列挙値変換があるのを初めて知りました。ちょっとビックリ 例えばこんな型があるとします。 enu…

Windows Phoneでmarkdownで書いたテキストをhtmlに変換して表示する

この記事は、Windows Phone Advent Calendar 2013の8日目です。 markdownって知っていますか? 普段のメモもはてダ記法で書くくらい傾倒していた私ですが、markdownに触れてからというものこのブログ「酢ろぐ!」やWordPressで運用している「SOFTBUILD」でma…

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

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

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

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

WindowsストアアプリでファイルパスとStorageFileから拡張子を取得する

パスから拡張子を取得する System.IO名前空間のPathクラスのGetExtensionメソッドを使用します。 var url = "http://example.net/39804785_m.jpg"; var ext = System.IO.Path.GetExtension(url); 上記のサンプルコードを実行するとextには.jpgが格納されてい…

WindowsストアアプリでLINQを使ってクエリ文字列(URLパラメータ)を簡単に作る

下記のようによく見かけるURL形式があります。 http://example.com/action?param1=hoge&param2=hige 「?」以降のparam1=hoge&param2=higeの部分をクエリ文字列(URLパラメータ)と呼びます。 string.Formatメソッドを使ってhogeとhigeの部分を当てはめる方法も…

C#でジャンプリストを表示する

ソリューションエクスプローラーの[参照設定]を右クリックして、参照マネージャーからPresentationFrameworkを追加します。 JumpTaskオブジェクトを生成して、JumpListオブジェクトに詰め込んでApplyメソッドを使って適用させます。 using System; using Sys…