【android】Butter Knifeを使ってデータバインドしてみた(今更)

はじめに

最近ネイティブのandroidアプリ開発をしていて、Githubにあるスペシャリストな人のコードを見て勉強していたら、アノテーションを使用してバインドできるのかと感動したので(今更ですみません)メモしておきます。

環境

Android Studio 3.0.1

Android SDK 25

butterknife:8.8.1 

参考

他のサイトだとバージョンが古くて記述方法が違うのが多いので本家サイトをちゃんと確認しましょう。

github.com

導入

build.gradle(app)のdependenciesに以下追加して同期する。

f:id:nooootion:20171210173347p:plain

使用方法

@BindViewアノテーションを使用してバインドするインスタンスを宣言。

後はButterKnife.bind(this);でバインドさせる。

f:id:nooootion:20171210173804p:plain

注意事項

ButterKnife.bind(this);でバインドする前に、インスタンスを参照するとぬるぽでエラーとなるので注意。(当たり前か)

まとめ

最近andorid開発をまじめに初めて、自己流でプログラミングしているとお粗末なコーティングになってしまうので、Githubなんかで人のコードを参考にして勉強するのも大切だとあらためて感じました。

【C#】プログラム内でのSQLの描き方について

仕事でシステム保守していると、システム内からDB操作するSQLの書き方について

どのように書くのが保守性、可読性的に良いのか調べていて初めて知ったことがあったので記事にしました。

意外と知らないことってまだまだあるので、時間があればいろいろ探求してみたいですね。

qiita.com

【SONY スマートテニスセンサー】オリジナルアプリが公開できない???

SONYが発売しているスマートテニスセンサーと連携してオリジナルのアプリ制作を地味にしていましたが、冷静になって考えたらこれリリースできないんじゃない????

センサーから自分の作ったアプリにデータを渡すために間にSONYが作成したホストアプリをインストールして使う必要があります。

このホストアプリのライセンスがSONYにあるため、自分がアプリ開発する際にSONYのライセンス同意して使用させて貰っています。そのためオリジナルのアプリ自体はリリースできますが、肝心のセンサーからデータを取ってくるためのホストアプリをユーザの端末にインストールしなくてはいけませんが、ライセンス同意していないため使用することができない。つまりオリジナルアプリをリリースしても使用できない状態になってしまいます!!!

このことをSONYに問い合わせしたところ、リリースできるように準備をしていくとの前向きな返事を頂きました。社内調整が必要だと思うので直ぐには無理かもしれませんが期待して待っていますので宜しくお願いします。

smartsports.sony.net

nooootion.hatenablog.com

スマートテニスセンサーでインパクト位置と球種タイプ番号からインパクト位置と球種を知るすべ

前回スマートテニスセンサーのサンプルアプリで実施にデータを取得できることを確認しました。

nooootion.hatenablog.com

取得できたデータをDBに登録する処理を追加して、DBに登録したデータを確認してみました。

ちなみにandroidの実機に作成したDBの中身を確認する方法はこちらです。

nooootion.hatenablog.com

さて、DBの中身を確認したところ。。。

f:id:nooootion:20170923101308p:plain

impactPositonがラケットのどこに当たったのか、swingTypeの種類が分からない。。。

対比表みたいなものが無いか探してみたが見当たらない。

困り果てたので、SONYの担当者さんにメールで問い合わせしたところ、

gitHub内にあるShotData.htmlに記載あるとのことでした。

開いてみると確かに記載があります。めでたしめでたし。

f:id:nooootion:20170923102522p:plain

f:id:nooootion:20170923102546p:plain

 

Androidの実機からSQLiteのDBをローカルPCに取り出してツールで確認したいけどサイズが0で困っているあなたへ

困り果てたのは私です。

環境

IED:Android Studio2.3.3

実機:VAIO Phone a(Android version6.0.1)

PC :Mac book pro 15inch

現症

実機端末に作成したSQLiteのDBをMacにコピーしてツールを使って中を確認しようとしたところ、PCにコピーはされるがサイズがゼロで困り果ててしまいました。

解決策

以下試してみましたが上手く行かず。。。

qiita.com

こっちのサイトを参考にさせて貰って上手く行きました。

dev.classmethod.jp

ただし

cat /data/data/<パッケージ名>/databases/<dbファイル名> > /sdcard/my.db

となっていますが、カレントディレクトリが<パッケージ名>なので正しくは

cat databases/<dbファイル名> > /sdcard/my.db

では?

取り敢えず上記で上手くできました。

 

よかったよかった。これで先に進める。

【SONY スマートテニスセンサー】アプリを作ろう〰サンプルアプリ起動編〰

前回までのあらすじはこちら。

nooootion.hatenablog.com

 

ライセンス申請の承認が降りるとSONYからメールが届きました。

添付されたURLからログインしてサンプルプログラムとHost.apkをインストールすることができました。

サンプルプログラムだけならGitHubにも公開されているので使用することは可能ですが、センサーから受け取ったデータを解析するのがwebサービスで、サービスとオリジナルのアプリを繋ぐ役割のHost.apkを入手する先がURLのサイトになります。

github.com

 

実際にセンサーと接続するためには実機を使用しないといけないのと、

接続するためには実機内にHost.apkをインストールが必要になります。

PCに実機を接続した、 adbコマンドでHost.apkをインストールします。

 

センサーと接続できたか確認。

f:id:nooootion:20170814094344p:plain

実際にラケットを使用して打ってみるとデータが取得できました!!!

次回はこれを改良してオリジナルのアプリを作ってみたいと思います。

【アプリ開発】ダウンロード数が100を超えました!!!

個人で開発しているアプリのダウンロード数が100を超えました!!!

ありがとうございます。

正直誰にもダウンロードしてもらえないと思っていたので興味本位でもダウンロードしてもらえたのは嬉しいです。

アプリとしては単純にユーザが出場したテニスのトーナメントの結果を記録しておくだけのものですが、自分自身テニス愛好家として長いことプレイしてきたので、今後はテニスを楽しむすべての人を応援して行きたいと思っています。

まだまだアップデートして更に面白いものにしていきたいと思いますので長い目で応援の程宜しくお願い致します。

TScore

TScore

  • Tatsunori Morita
  • Sports
  • Free

 

play.google.com