前回の続き…ってもう一ヶ月以上前なんですね。時の流れは早いものです。 別に書くのをサボっていたわけではなく(サボっていたけど)、まぁあの内容で大体なんとかなるので別に書かなくてもいっかなーと後回しにしていました。とりあえずもうクローズしてし…
(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…
(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…
(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…
(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…
特に何を作りたいわけでもないんですが、ちょっとしたツールを作るならJavaよりScalaの方が何かと楽ちんなので、開発環境を構築することにしました。 一昔前だと「Scalaで出来なくもないけどクソ重い」とか「ADTと衝突してビルドがクソ面倒」とかそんな記事…
(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…
(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…
(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…
(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…
(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…
(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…
なんかApple製品だけで使える新しい言語が登場したらしいじゃないですか。まぁObjective-Cとか言う…いや、やめておきましょう。 リファレンスがiBooksだけでなくちゃんとウェブ版も用意されています。「apple reference swift」でぐぐったら出てきましたよ。…
Toastを作りなおそう。 androidのソースのライセンスがApache License 2.0じゃなかったら詰んでましたね。 とりあえずソースをコピペする 継承してどうにかなるものでもありません。ToastのソースをコピペするなりDLするなりして引っ張ってきて適当なプロジ…
今作っているTwitterのクライアントは常時UserStreamに接続、ふぁぼられたりRTされたりするとToastで表示すると言う誰しもが考えそうな承認欲求を満たすための機能がついています。 が、うっかり(n * 100)RT以上されるような長文Postをしてしまったがために…
AndroidではServiceを実装することでプロセス間で通信することが出来ます。 今回はMessengerを使ったServiceとActivityのデータの送受信方法について説明します。 Serviceとは? ドキュメントによるとこう説明されています。 サービスは、ユーザが異なるアプ…
Intent Filter編第二回です。今決めました。 前回はIntent Filterの設定方法と、暗黙的Intentを飛ばすときのお作法をやったので、実際にデータを送受信するUriの扱い方をまとめます。 URIのしくみ URIってそもそも何?とかそんな説明は面倒なんでしません。 …
2018/11/28 追記 リンクが切れている箇所を修正しました。 シンタックスハイライトを適用しました。 前書き AndroidManifest.xml にIntent Filterを設定しておくと、暗黙的 Intent を受信することが出来ます。 Intent は Android アプリの根幹に関わる仕組み…
以前「FragmentPagerAdapter is クソ」と言う話とともにとりあえずの対処法を書いたんですが、全然対処できないケースがあることに気づいたので、ちょっと本気を出してPagerAdapterを継承して実装しなおしました。 GitHubに動作確認用のActivityとFragmentも…
前回の記事に対する補足事項です。 文字数制限に引っかかってしまったので別の記事になってしまいました。 dataSetChangedの動き そもそもPagerAdapter#notifyDataSetChanged()が呼ばれるとどうなるのでしょうか。 ViewPagerのdataSetChangedの動きをたどっ…
Sqliteを使っていると一々テーブル名やカラム名を文字列で書かないといけません。コード補完も効かなくて面倒です。 そんなわけで無理矢理コード補完が使えるよう、「テーブルのメタ情報だけを持ったクラス」を作成し、そっから参照するようにします。 が、…
大昔に「AsyncTaskLoader便利じゃね?いっぱい使うんじゃね?」みたいなことを書いたんですが、全然使ってません。以前作ったこの子が便利すぎるからです。 とは言えちょっと不満なところもあります。再帰の処理を組み込むと、結構読みにくいんです。AsyncTa…
Twitter4JからTwitterのAPIを叩くメソッドにはほぼ100%の確率でthrows TwitterExceptionが設定されています。 Twitterと通信しにいく過程、もしくは、通信した結果でエラーが発生すると原因etcが全部このクラスに詰め込まれてthrowされます。 じゃあ結局何が…
Viewが表示される瞬間のイベントを設定したいことがあります。 例えば、ListViewのフッタが表示されたら自動で次のデータを取りに行く、なんて処理。 世の中の人はこれを「最後尾までスクロールされたかどうか」を調べて実現するんですが、ちょっとクールじ…
ずーっとC Familyな言語ばっかり使っていたので(VBの話はやめよう)クラスを作るだけでもどうやるのか調べないといけません。 面倒なのでずらずらずらっとメモしていきます。 宣言 ふつーにclassです。 class Hoge end 継承はこんな感じ。 class Hoge < Fug…
Androidのキーイベントの管理はActivity#onKeyDownで行うことが出来ます。 が、Fragmentにはそれに該当するメソッドがありません。呼び出したActivityのonKeyDownを実行してしまいます。 まぁ色んなActivityで再利用されることを前提にしているので、「Activ…
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のAPIを使用するのはTumblr Clientを使用するのが一番簡単みたいです。 記事投稿のサンプルはネットに色々転がってるんですが、全記事を取得するサンプルは見当たらなかったのでメモ代わりに載せておきます。 Tumblr Clientを使用するための準備…
一年に一つは知らない言語を触ってみよう、と言う自分ルールがあって、今年はRubyにしようかな、と環境を構築しました。 個人的にRubyのコミュニティに属している人たちの色々な言い方があんまり好きじゃない(解説サイトでもすぐに「驚き」とか「魔法」みた…