日本国内キャリアに Pixel2 はLTEバンドが対応していないのか?

最近の記事をみながら思ったりしますが,

グーグル、リファレンス機スマートフォン「Pixel 2」と「Pixel 2 XL」が日本で発売されないことに関しての深刻な状況と危機感 | GPad

Pixel2が日本で出ないとなんでAndroid開発者が死亡するのか

海外でPixelを買って日本で使っている人もいますが、技適違反になるのでがまんしました。Pixel 2はLTEのバンドが日本のキャリア向けになっていないので、そもそも違反してまで買ってもいいことはなさそうです。

「Pixel 2」を買えなくてがっかりな気持ちをGoogleさんに伝えてみた - ITmedia NEWS

Pixel など, これまでの Android では, 「北米向け」ではない「グローバル向け」の端末では日本のキャリアでも利用できる周波数設定になっていたような気がします.

Network スペックを探してみる.

GSM/EDGE: Quad-band (850, 900, 1800, 1900 MHz)
UMTS/HSPA+/HSDPA: Bands 1/2/4/5/8
CDMA EVDO Rev A: BC0/BC1/BC10
FDD-LTE : Bands 1*/2*/3*/4*/5/7*/8/12/13/17/20/25/26/28/29/30/32/66*2
TD-LTE: Bands 38*/40/412

Google Pixel 2 and Pixel 2 XL specs: Google’s vision for the modern flagship | AndroidAuthority

FDD-LTE 1, 3, 28
いけそうな気がするが...

日本で使える LTE/3G バンド は?

ああ, そうか「技適」を通過していないので使ったらダメなのか...

技適についてだけはレスしておこう。 技適があるからガラパゴスみたいなク..

以下, 参考.

その「SIMフリー端末」は実質ロックされてないか?

Google Pixel 2の予約をCloveが受付開始。予定価格は約87,300円から | そうすけブログ.com

NTTドコモ系MVNOの周波数帯(バンド) | スマホゴーゴー

格安スマホ向け、ドコモとauとソフトバンクの対応バンドのまとめ(4G / LTE / VoLTE / 3G / WCDMA / CDMA2000)

日本の大手キャリアの対応周波数バンドをチェック!

SIMフリースマホを購入するときに知っておきたい「バンド」とは | 格安スマホ・格安SIMなら【SIM通】

ご利用いただける国 - Google Store ヘルプ


【Mac】言語設定をアプリごとに行う

気持ちが悪いですよね日本語名のディレクトリ.

macのつらい日本語ホームディレクトリを英語にする - Qiita

macのホームディレクトリの日本語表記を英語表記に変更する - Qiita

そんな方法があるのだなあ,と思いつつも,OS自体の言語設定は「English」でいいや,と思い過ごしていましたが,

使用するアプリによっては,そのアプリ内には言語の設定はなく,OSの言語設定を見ながらメニューや操作のラベルをその英語で表示する.

複雑なアプリの場合,細かい操作方法をググるとなると英語では辛くなってきた.

やっぱ日本語だよなと,OSの言語設定を「日本語」に戻す.

すると,最近 Google から登場した Backup and Sync がすでに存在する「Google Drive」ディレクトリとは別に「Google ドライブ」ディレクトリを作成してクラウド上から無駄にPC内に重複するファイル群をダウンロードし始める.

当然,前述の「ダウンロード」や「ドキュメント」などの日本語名ディレクトリも復活している.

 

アプリごとに言語設定をする

OSの言語設定は「English」にしたまま,特定のアプリだけ「日本語」設定にする.

TJ-HD Software - Language Switcher

アプリごとにOSで利用可能な言語の中から言語を設定できます.

便利です.

MBP2017-mid/Sierra にて.


Kotlin で static なメンバーをどう書くべきなのか?

092: Learning Kotlin – dealing with static-ness and (companion) objects costs – Fragmented

「companion object」だな. と思いながらとりあえず書く.


class Foo {
    companion object {
        val myVar = "testing"
    }
}

これを Kotlin から呼ぶ場合は,


Foo.myVar

ですが, Java から呼ぶ場合は,


Foo.Companion.getMyVar();

となり クソですね.

では, Jvm アノテーション を使います.


class Foo {
    companion object {
        @JvmField val myVar = "testing"
    }
}

この場合は Kotlin/Java それぞれ同じように呼べます.


// calling from Kotlin
Foo.myVar

// calling from Java
Foo.myVar;

なるべく入れたくないですよね Jvm なアノテーション.

const キーワード を使う


class Foo {
    companion object {
        const val myVar = "testing"
    }
}

以下, 共に問題ありません.


// calling from Kotlin
Foo.myVar

// calling from Java
Foo.myVar;

同様に, パッケージレベルでは,


class BottomSheetView {
    companion object {
        const val BOTTOM_SHEET_ANIMATION_TIMING = 500L
    }

    // ...
}


animation.setTiming(BottomSheetView.BOTTOM_SHEET_ANIMATION_TIMING)

Companion object is initialized from the static constructor of the containing class and plain object is initialized lazily on the first access to that object.

こんなかんじでしっくりくる記述って見つけにくい気がしません? Kotlin て.

“Static constants” in Kotlin | Kotlin Blog