本サイトからスピンオフした姉妹サイトです。Twitter2015年6月2日TwitterのAPIを扱えるライブラリであるCoreTweetを使用して、Twitterデータを検索するアプリを作成。CoreTweetの導入と、検索したテキストの表示までを紹介する。APIを利用することになるが、そのためには、OAuth認証など、少し複雑な作業が必要になる。そのため、いくつかの複雑手順を隠ぺいして、簡単に扱えるようにした各種のライブラリが開発されている。CoreTweetは、そのようなライブラリの一つであり、C#からも使用できる。今回は、このCoreTweetを使用して、Twitterデータを検索するアプリを2回に分けて紹介する。第1回は、CoreTweetの導入と、つぶやきの本体のみをテキストで表示するところまで、そして、第2回は、ListViewコントロールの表示をカスタムセルにしてつぶやきのデータを見やすい形で表示する方法を紹介する*1。Studioでも同様の手順で、本稿の内容が実現できることは確認している)。使用しているXamarin.Formsのバージョンは、プロジェクト作成時に利用されている「1.3.1.6296」である。最終的な完成画面は、次のようになる。最終的な完成画面(iOS/Android)【コラム1】CoreTweetCoreTweetは、下記のリンク先で配布されているTwitter用のライブラリである。ほとんどのAPIでLINQが使用可能であり、また、async/awaitによる非同期によるアクセスにも対応している。Libraryなお、GitHubでコードが公開されているだけでなく、本記事で紹介しているようにNuGetライブラリからも簡単にインストールが可能である。Portable)]を選択し、名前を「TwitterClientSample」として[OK]ボタンを押す。CoreTweetパッケージの追加CoreTweetは、NuGetパッケージで簡単にインストールできる。パッケージの管理]ダイアログから行う。検索欄に「CoreTweet」と入力すると、目的のパッケージを簡単に見つけることができる。図3の[インストール]ボタンを押した後、続いて表示される[プロジェクトの選択]ダイアログでは、全てのプロジェクトにチェックを入れて[OK]ボタンを押す(図4)。この時点で、依存関係からNewtonsoft.Jsonパッケージも同時にインストールされる。最初に、画面を作成するためApp.csファイルを以下のように修正する。listView}};}}}}画面を構成するコード(App.cs)2は、検索文字列を入力するためのEntryコントロールであり、3は、検索を開始するButtonコントロールである。Tweetの内容を表示するには、ListViewコントロールを使用し(4)、それぞれを、StackLayoutで配置した(6)。ListViewコントロールのデータソース(5)として、string型のObservableCollection(ここでは、_tweetsとしている)を定義している(1)。事後、取得したデータをこの_tweetsに詰め込むと、ListViewコントロールに表示される仕組みである。このコードを実行すると次のような画面になる。CoreTweetによるTwitter検索CoreTweetを使用してTwitterを検索するため、App.csファイルを以下のように修正する。<-9}}}}CoreTweetを使用してTwitterを検索するコード(App.cs)Twitterを検索して、ListViewコントロールのデータソースを初期化するファンクションとしてRefreshメソッドを定義し(2)、Buttonコントロールをクリックしたイベントで、これを呼び出す(1)。CoreTweetを使用してTwitter検索を実施するには、最初にTokensクラス(CoreTweet名前空間)のインスタンスを生成する(ここでは、tokensとした)。Management]ページで取得する(コラム2参照)tokensが取得できると、Twitterを操作する各種のメソッドが利用可能になるが、そのうちの一つである、Search.TweetsAsyncメソッドで、指定した文字列でのTwitter検索ができる(8)。検索した結果は、SearchResult型(CoreTweet名前空間)のデータとして取得できるが、このデータはコレクション型となっているので、foreachを使用して_tweetsに追加した(9)。【コラム2】Twitterキーの取得方法TwitterのAPIを利用するためには、アプリケーションの登録が必要である。App]ボタンから行う。Token](※そのページ上で作成)の取得が可能である。Management]のページこのコードを実行すると次のような画面になる。まとめ今回は、CoreTweetを使用した、Twitter検索するアプリ作成の第1回として、CoreTweetの導入と、検索したテキストの表示まで紹介した。次回は、ListViewコントロールの表示を拡張し、最初に紹介したような、ユーザー名、登録日付、アイコンなどをレイアウトした画面の作成を行う。※以下では、本稿の前後を合わせて5回分(第50回~第54回)のみ表示しています。INDEX]を参照してください。Xamarin.Formsでローカルデータベースを使用するには?アプリを終了して再起動したときに、ユーザーデータを復活させたい場合、ローカルやクラウドにデータを保存することになる。その一つの方法として、SQLite.Netを使ってローカルDBに保存する方法を説明する。MvvmCrossでカスタムコンバーターを作成するには?MvvmCrossでのiOS/Androidアプリ開発において、バインディングする値を変換できるカスタムコンバーターの使い方を説明する。Xamarin.FormsでTwitterクライアントを作成するには?TwitterのAPIを扱えるライブラリであるCoreTweetを使用して、Twitterデータを検索するアプリを作成。CoreTweetの導入と、検索したテキストの表示までを紹介する。MvvmCrossでWebBrowserプラグインを使用するには?WebBrowserプラグインを追加・利用する例を通じて、MvvmCrossでのiOS/Androidアプリ開発におけるMvvmCrossプラグインの基本的な使い方を説明する。Studioの正規表現ツールキットを使って手軽に行う方法を紹介。機械学習エンジニアを目指す人~初中級者のための技術情報サイトです。「機械学習&AI」「クラウド&ビッグデータ」「IoTデバイス」のネット記事情報を共有中。開発者のためのSlackチーム、作りました:「機械学習&AI」「クラウド&ビッグデータ」「IoTデバイス」のネット記事情報を共有中。2020最適なビューへの切り替えを推奨します:スマートフォン用表示に。