Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

ネコ活@東京キャットガーディアンで一日ボランティア体験してきました

こんにちは。さくらです。
私は現在飼っていないのですが、猫に対する愛は常に心の底に流れています!
といってもまた猫を迎えるという気になれず、ささやかな寄付やお友達のお宅の可愛いにゃんこさんと遊ぶ程度しか猫の世界に接していません。
このまま猫の世界と交差することなく遠くで眺めているだけなのかなーと思うと、それも寂しかったりします。
猫の世界に対する方針(なんだそれ笑)が決定せず、デモデモダッテとグズグズしている状態が現状です。
猫を飼うということは、あと20年生きるという決意をすることなんですよね。猫の寿命は長いと20年近くなりますから。
前のにゃんこ3匹は拾われて、うちに連れてこられて、考える暇がなかったですからね。
今の私にとっては重い決断です。

f:id:sakura_bird1:20161122172619j:plain


そんなこととは別にネットの海をぶらぶらしてたら見つけました。

tcg.ldblog.jp


一日だけ気軽にボランティア出来るし、猫さん達も見られるらしい、といい感じではありませんか!
さっそくブログ記事にあるメールアドレス宛にメールを送って参加登録しました。
返信で当日用意することなど、わかりやすくご案内下さいました。


このネコ活を開催している「東京キャットガーディアン」という団体は一体何でしょうか。
実は過去こちらに寄付した記事を書いています。

http://sakura-bird1.hatenablog.com/entry/2016/07/31/173612sakura-bird1.hatenablog.com


殺処分ゼロを目指して、多くの猫を譲渡する活動を中心として保護猫カフェやペット用品リサイクル販売他
様々な活動をされています。
詳しくはこちらで

東京キャットガーディアンについて - NPO法人 東京キャットガーディアン〜子猫の里親募集〜


当日は猫の毛などが付いてもよいような服装で行ってきました。
10人ぐらいは他にもボランティア参加の方が来ていました。
みんな女性でした(*‘ω‘ *)

私が参加した11月22日は火曜日なのでスカイシェルターという猫カフェスペースはおやすみなのですが、
今日だけ特別に、とネコ活の私達をお招きいただきました。
ちなみにお休みの日はまだ人に慣れていない子を出したり、色々とあるそうです。

ボランティアの作業内容は、掃除に使用する古タオルを小さくカットすることでした。
猫さんが足元をウロウロしてるし、他の方の話を聞いてたりしたらあっという間でした。

f:id:sakura_bird1:20161122172834j:plain

上の写真はゴミではありません。
カットしたタオルの一部です。この袋3つ分ぐらいは出来たのではないかな。
それにしても全員猫好きであるという空間はいいですね。
楽しかったです。
もっとお手伝いしたくなりました。
また行きます。今度行くときは早く行って猫カフェで猫とまったり戯れたいです。

今月の寄付はシェルターで寄付した2000円です。いつもより少ない(;´∀`)
ちょっと収入減りますんで、今後寄附金額少なくなるかもです( ;∀;)

f:id:sakura_bird1:20161122172548j:plain


実際は写真に写っていないところにいっぱい猫がいます。


【追記】ネコ活の記事はこちらにもございます。よろしければごらんください。
sakura-bird1.hatenablog.com
sakura-bird1.hatenablog.com





DataBindingを使おうとしてバインディングクラスがcannot resolve などとエラーになった時に確認すること

DataBindingを使う時に、プロジェクト生成時に作成したactivity_main.xmlとMainActivity.javaバインディングしようとしただけで
「Cannot resolve symbol 'ActivityMainBinding'」とか言われたはことないでしょうか。
私は2回あるので、初歩的ではありますが簡単にメモっておきます。
本エントリーでは本当に最初の定義の部分の確認のため、データクラスのインスタンスとレイアウトのバインディングのことまで触れておりませんのでよろしくお願いいたします。

developer.android.com

前提事項

public class MainActivity extends AppCompatActivity {

    private ActivityMainBinding binding;   // ← ここがエラーになる

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
    }
}

確認事項

DataBinding設定

appモジュールのbuild.gradleにDataBindingが正しく指定されているか

android {
 中略
    dataBinding {
        enabled = true
    }
 中略
}

レイアウトxml

レイアウトxmlのルートタグがlayoutになっているか

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
   <data>
       <variable name="user" type="com.example.User"/>
   </data>
   <LinearLayout
       android:orientation="vertical"
       android:layout_width="match_parent"
       android:layout_height="match_parent">
       <TextView android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="@{user.firstName}"/>
       <TextView android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="@{user.lastName}"/>
   </LinearLayout>
</layout>

バインディングクラスのクラス名は正しく定義したか

バインディングクラスは、レイアウトxmlの名前のパスカルケース+"Binding"というルールで自動生成されます。
R.layout.activity_main からは ActivityMainBinding というクラスが生成され、
R.layout.fragment_settings からは FragmentSettingsBinding というクラスが生成されます。
自動生成された後ならAndroid Studioで補完が効くのであまり間違わないと思います。

上記を確認した後に「Cannot resolve symbol 'ActivityMainBinding'などとエラーになった場合

Android Studioを起動し直す

これで上手く行ったりするんですよねぇ(;´∀`)

2016/11/18 追記
コメント欄にて id:kimukou_26さんからこのように教えていただきました。
きむこうさんありがとうございます( ´∀`)

再起動しなくてもgradle sync をすれば認識できますよ。
xmlのパースエラーはsys.errに表示されるみたいなので
terminal から
gradlew assembleDebugを行えば
xmlのパースエラーが出た場合には最終行あたりにエラー行が表示されます

きむこうさんがDataBindingの記事を書いていらしてるのでこちらもどうぞ( ´∀`)

exception-think.hatenablog.com


2017/04/01追記
id:kimukou_26さんからあらためて教えていただきましたので追記します。きむこうさんありがとうございました!

AS再立ち上げで治る の記載の話ですが、
AS2.2系までの対処法で、そのときはプロジェクトを閉じる時にgradle deamonが終了してくれていました。
(gradle consoleでエラーが出ていない事が前提

AS2.3系では終了されませんので

./gradlew clean
./gradlew cleanBuildCache //InstantRunを使っている時
./gradlew --stop

jpsjavaのプロセスを確認
AS以外のプロセスが居たら kill -9 で殺す

あたりが必要になります

それでも改善されない場合、
あとなぜかIDEのメモリ上に状態を保持しているようなので
AS再起動が有効な場合があり

あとAS再起動よりもInvalidate Restart が良い
という言及もありますが、これは
build.gradle のコンパイル済み中間キャッシュを $HOME/.gradle の下にdeamon実行中に保持しているためなので

build.gradleを書き換えておかしくなった みたいな状況でない場合は
改善策としては微妙な線かと思います

7ヶ月ぶりに公益財団法人どうぶつ基金に5000円寄付しました&近況

11月に入ってしまいましたけど、10月分のつもりです。
公益財団法人どうぶつ基金さまに5千円寄付しました。

どうぶつ基金とは – どうぶつ基金

f:id:sakura_bird1:20161103214102p:plain


どうぶつ基金さまに寄付をするのは4月以来です。前回の記事はこれですね。
sakura-bird1.hatenablog.com

当時はこの記事を書くのには抵抗感があったんだけど、蓋を開けてみれば
寄付の記事にスターを付けてくださるかたもいらして、応援していただいてると勝手に解釈しています!
こういうのってホントに励みになりますね。寄付も、記事を書くこともやっていてよかったです。

街で見かける野良猫さんで耳先カットしている猫さんがいるのを見たことがありますか?
この赤丸の部分のような↓
f:id:sakura_bird1:20161103214214p:plain

これがさくら猫というやつで、ボランティアさんが保護→不妊・去勢手術後リリースされた猫さんです。
先日猫がたくさんいるスポットでたくさん見かけました。
この活動が殺処分を減らしたり、地域の野良猫生活被害を減らしていくことにつながります(=^・^=)


話変わって最近の近況をズボラ報告です。

ポケモンGoは現在トレーナーレベル29です。
図鑑は141種類であとラッキーを捕まえれば国内のポケモンをコンプリートです。
といってもリリースから4ヶ月以上経って、ここしばらくはさすがに活動が鈍化してきました。
夜のウォーキングのお供程度です。これはこれでモチベーション維持に役に立ってます。

あとは開発ですが、年を取っても、どんな形でも続けていきたいなーって思っています。
北島マヤみたいな恐ろしい子ではありませんが(笑)

f:id:sakura_bird1:20161103221751p:plain