【Android】AsyncTaskLoaderをもっと便利にする(実践編)

前回の続き…ってもう一ヶ月以上前なんですね。時の流れは早いものです。 別に書くのをサボっていたわけではなく(サボっていたけど)、まぁあの内容で大体なんとかなるので別に書かなくてもいっかなーと後回しにしていました。とりあえずもうクローズしてし…

【Swift】Appleの新言語「Swift」のリファレンスを読む(11) - Initialization

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(10) - Inheritance

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(9) - Methods、Subscripts

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(8) - Properties

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Android】Scala IDEを使ったAndroidの開発環境を構築する

特に何を作りたいわけでもないんですが、ちょっとしたツールを作るならJavaよりScalaの方が何かと楽ちんなので、開発環境を構築することにしました。 一昔前だと「Scalaで出来なくもないけどクソ重い」とか「ADTと衝突してビルドがクソ面倒」とかそんな記事…

【Swift】Appleの新言語「Swift」のリファレンスを読む(7) - Classes and Structures

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(6) - Closures、Enumerations

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(3) - Collection Types

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(5) - Functions

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(4) - Control Flow

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(2) - Basic Operators、Strings and Characters

(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…

【Swift】Appleの新言語「Swift」のリファレンスを読む(1) - The Basic

なんかApple製品だけで使える新しい言語が登場したらしいじゃないですか。まぁObjective-Cとか言う…いや、やめておきましょう。 リファレンスがiBooksだけでなくちゃんとウェブ版も用意されています。「apple reference swift」でぐぐったら出てきましたよ。…

【Android】クリック可能なToastをつくる(実装編)

Toastを作りなおそう。 androidのソースのライセンスがApache License 2.0じゃなかったら詰んでましたね。 とりあえずソースをコピペする 継承してどうにかなるものでもありません。ToastのソースをコピペするなりDLするなりして引っ張ってきて適当なプロジ…

【Android】クリック可能なToastをつくる(考察編)

今作っているTwitterのクライアントは常時UserStreamに接続、ふぁぼられたりRTされたりするとToastで表示すると言う誰しもが考えそうな承認欲求を満たすための機能がついています。 が、うっかり(n * 100)RT以上されるような長文Postをしてしまったがために…

【Android】Serviceとのプロセス間通信でデータを送受信する

AndroidではServiceを実装することでプロセス間で通信することが出来ます。 今回はMessengerを使ったServiceとActivityのデータの送受信方法について説明します。 Serviceとは? ドキュメントによるとこう説明されています。 サービスは、ユーザが異なるアプ…

【Android】Intentで渡すためのUriを作成する

Intent Filter編第二回です。今決めました。 前回はIntent Filterの設定方法と、暗黙的Intentを飛ばすときのお作法をやったので、実際にデータを送受信するUriの扱い方をまとめます。 URIのしくみ URIってそもそも何?とかそんな説明は面倒なんでしません。 …

【Android】暗黙的Intent と Intent Filter の使い方

2018/11/28 追記 リンクが切れている箇所を修正しました。 シンタックスハイライトを適用しました。 前書き AndroidManifest.xml にIntent Filterを設定しておくと、暗黙的 Intent を受信することが出来ます。 Intent は Android アプリの根幹に関わる仕組み…

【Android】FragmentPagerAdapterを実装し直す

以前「FragmentPagerAdapter is クソ」と言う話とともにとりあえずの対処法を書いたんですが、全然対処できないケースがあることに気づいたので、ちょっと本気を出してPagerAdapterを継承して実装しなおしました。 GitHubに動作確認用のActivityとFragmentも…

【Android】FragmentPagerAdapterを実装し直す(補足編)

前回の記事に対する補足事項です。 文字数制限に引っかかってしまったので別の記事になってしまいました。 dataSetChangedの動き そもそもPagerAdapter#notifyDataSetChanged()が呼ばれるとどうなるのでしょうか。 ViewPagerのdataSetChangedの動きをたどっ…

【Android】Androidプロジェクトでjavax.annotation.processing(APT)を使う

Sqliteを使っていると一々テーブル名やカラム名を文字列で書かないといけません。コード補完も効かなくて面倒です。 そんなわけで無理矢理コード補完が使えるよう、「テーブルのメタ情報だけを持ったクラス」を作成し、そっから参照するようにします。 が、…

【Android】AsyncTaskLoaderをもっと便利にする(準備編)

大昔に「AsyncTaskLoader便利じゃね?いっぱい使うんじゃね?」みたいなことを書いたんですが、全然使ってません。以前作ったこの子が便利すぎるからです。 とは言えちょっと不満なところもあります。再帰の処理を組み込むと、結構読みにくいんです。AsyncTa…

【Twitter4J】Twitterのエラーハンドリング方法

Twitter4JからTwitterのAPIを叩くメソッドにはほぼ100%の確率でthrows TwitterExceptionが設定されています。 Twitterと通信しにいく過程、もしくは、通信した結果でエラーが発生すると原因etcが全部このクラスに詰め込まれてthrowされます。 じゃあ結局何が…

【Android】Viewが表示された時のイベントを設定する

Viewが表示される瞬間のイベントを設定したいことがあります。 例えば、ListViewのフッタが表示されたら自動で次のデータを取りに行く、なんて処理。 世の中の人はこれを「最後尾までスクロールされたかどうか」を調べて実現するんですが、ちょっとクールじ…

【Ruby】クラスの作り方覚書

ずーっとC Familyな言語ばっかり使っていたので(VBの話はやめよう)クラスを作るだけでもどうやるのか調べないといけません。 面倒なのでずらずらずらっとメモしていきます。 宣言 ふつーにclassです。 class Hoge end 継承はこんな感じ。 class Hoge < Fug…

【Android】Fragment単位でキーイベントを管理する

Androidのキーイベントの管理はActivity#onKeyDownで行うことが出来ます。 が、Fragmentにはそれに該当するメソッドがありません。呼び出したActivityのonKeyDownを実行してしまいます。 まぁ色んなActivityで再利用されることを前提にしているので、「Activ…

【Ruby】RubyでもGoogle APIを使うためにOauth2.0認証する

C#でGoogle APIを使う時にも説明しましたが、各言語のライブラリが公開されています。当然Rubyにもあります。 そんなわけでRubyでもGoogle APIが使えるようにしておきましょう。前回の使いまわしなのでInstalled applicationです。Web applicationとかは(省…

【サクラエディタ】選択した行をコメントアウト/解除するマクロ

(function(){ function hasStr(str) { str = str.replace(/\s/g, ""); return str.length > 0; }; if(Editor.IsTextSelected() == 1 || Editor.IsTextSelected() == 2) { var lineTo = GetSelectLineTo(); for(i = GetSelectLineFrom(); i <= lineTo; i++) {…

【Ruby】Tumblr Clientを使って記事一覧を取得する

RubyでTumblrのAPIを使用するのはTumblr Clientを使用するのが一番簡単みたいです。 記事投稿のサンプルはネットに色々転がってるんですが、全記事を取得するサンプルは見当たらなかったのでメモ代わりに載せておきます。 Tumblr Clientを使用するための準備…

【Ruby】非同期処理の継続を作ってみる

一年に一つは知らない言語を触ってみよう、と言う自分ルールがあって、今年はRubyにしようかな、と環境を構築しました。 個人的にRubyのコミュニティに属している人たちの色々な言い方があんまり好きじゃない(解説サイトでもすぐに「驚き」とか「魔法」みた…