Amazon Dash Button ってどうなってたっけ?

終了してたよね???

調べてみると、終了してました!

Dash Button端末を使用した商品の注文は、2019年8月31日で終了しています。

端末は2019年12月31日に自動的に登録解除およびリセットされるため、お客様による操作は必要ありません。なお、Dash Button端末を廃棄する前に手動での登録解除をご希望の場合は、コンテンツと端末の管理にアクセスして、端末タブから登録を解除できます。お使いのDash Buttonを選択し、登録の解除をクリックしてください。最後に、Dash Button端末を1回押します。ライトが白く点滅した後、赤く点灯します。

ヘルプ&カスタマーサービス - Amazonデバイスサポート - Amazon Dash Button

端末で遊ぼうと思ったのに、手動解除してしまって、WiFiに2度と接続できなくなってしまった! \(-o-)/


from scapy.all import *

def arp_display(pkt):
  if pkt[ARP].op == 1: #who-has (request)
    if pkt[ARP].psrc == '0.0.0.0': # ARP Probe
      print "ARP Probe from: " + pkt[ARP].hwsrc

print sniff(prn=arp_display, filter="arp", store=0, count=10)

👉 How I Hacked Amazon’s $5 WiFi Button to track Baby Data 

\(-o-)/

👉 【Bluetooth】遠隔操作で写真が撮れる39円ボタン hatena-bookmark


res を複数作って機能・画面別にディレクトリ分けすると分かりやすい

👉 Split layouts into subfolders in Android Studio - ProAndroidDev 

以下のコードを見ながら。

👉 GitHub - android/architecture-samples at dagger-android 

コードは、画面別にディレクトリ分けしてるが、レイアウトファイルは、複雑なファイル名で res ディレクトリ直下に一緒くたに入ってる。

ここで、build.gradle で設定記述を追加する。


android {
  sourceSets {
    main {
      res.srcDirs = [
          'src/main/res',
          'src/main/res/layouts/tasks',
          'src/main/res/layouts/taskdetail',
          'src/main/res/layouts/addedittask',
          'src/main/res/layouts/statistics',
      ]
    }

こうすることで、レイアウトファイル群を画面別に分けることができる。

Android Studio はデフォルトで、一つのディレクトリのみ


android {
  sourceSets {
    main {
      res.srcDirs = [
          'src/main/res'
      ]

と等価な設定を持ってるので、それに、画面別ディレクトリを複数追加することで、Android Studio は、リソースファイルとして複数ディレクトリからファイルを読み込むことができるようになります。

あとは、それぞれのリソースファイルを振り分けて置くだけ。

以下、やってみた動画。



実際は、レイアウトファイルがもっと多くなるはずなので、分かりやすさはより顕著になる。

👉 Split layouts into subfolders in Android Studio - ProAndroidDev 


長く使える Android 端末はどれなのか?

👉 LineageOS Downloads 

できるだけ長く使いたい Android 端末を考えると、公式サポート切れからのLineage OS 乗り換えで延命が定石。

以下、Lineage OS をインストールできるいくつかの Android 端末の 「発売日」。

Google
Pixel 2018/11

Huawei
P20 Pro 2018/06

Sony
XPeria XA2 Ultla 2018/02

Samsung
S5 Plus 2014/11

ベンダー依存は少なく素のAndroidである Pixel シリーズが間違いない。


ベンダーカスタムの量が多い Samsung などはオープンソースとしての開発者が寄り付かずカスタムOSでも更新が遅すぎなのか?