Xperiaのテーマを自作してみる ~壁紙編~

前回、

Xperiaの発熱に話題がかっさわれて書けなかった 自作テーマ について。

Google Playには多くのXperiaテーマが出回っているけど、
どうやって作ってるんだろうかと思い調べてみると、

どうやら

ソニーが開発ツール出してるようで、
やるじゃんソニー

ってことで、

壁紙、ロック画面を変えてみる

まぁ壁紙はXperiaの設定から変更できるので、わざわざテーマとして作らなくてもいいのだけど、
テーマ自作の中ではかなり簡単なので、一応ね(^_^;)

0. 用意するもの

ちょっと脱線

Xperiaの設定>端末情報>ビルド番号を連続タップして~」を書いていて思い出した。
ビルド番号の代わりに Androidバージョン を連続タップすると裏ゲームができるけど、難しすぎなんですが!ww

ポイント

  • 背景を透過させたい場合などはアルファチャンネルをいじれる画像編集ソフトが必要。

  • 9-patchという描き方(考え方)
    GIMP含め9-patch非対応の編集ソフトで画像を触る場合(壁紙とかは関係ない)は画像の上下左右1pxを意識すること。
    画像ファイルはPNG形式だが、画像の上下左右1pxは特殊領域となっているので下手にいじるとエラーで怒られる。

    使い方知らないけど./android-sdk-windows/tools/draw9patch.batとか使えるのか??

1. 新規プロジェクトを作成

テーマクリエーターを起動したら、手始めにEssential resourcesを選択

f:id:izana1018:20150622014429p:plain:w300

端末解像度で見た目変えたい、やる気ある人はComplete resourcesを選ぶがよろし。

プロジェクト情報を入力

公開とかしないので適当に入力
f:id:izana1018:20150622020651p:plain:w300

初期画面

右側のプレビュー画面で編集中のテーマを確認できます。
f:id:izana1018:20150622020643p:plain:w300

Walkmanのアイコンとか完全にXperia専用です。

2. 壁紙変えてみる

Backgrounds > Generic > System Wallpaperの端っこの(三点)ボタンをクリック。
今回は事前に用意した画像を選択するのでCreate new > Pick imageを選ぶ
f:id:izana1018:20150622024816p:plain:w300

こんな感じで右側のプレビュー画面が変わります。
f:id:izana1018:20150622025237p:plain:w300

3. ロック画面も変えてみる

壁紙設定と完全に同じ。
Backgrounds > Generic > Lockscree Wallpaperから設定できます。

変更したロック画面と壁紙を見てみる

Backgrounds > Genericを選択して、プレビュー画面上部のTwo rowsを選択すればいろいろなシチュエーションの画面が一度に確認できる。
f:id:izana1018:20150622033110p:plain:w300

プレビュー画面の左上が変更したロック画面ですな。

3. 実機で確認してみる

今回、Android SDKを導入している環境なのでBuild And Installを使う。

同じような環境ない人はExport Test APK...でAPKで出力して実機にコピーして、
インストールでも問題なし(面倒なだけだ)

Build And Installする

メニューバー > Build > Build And Installを選択すると、後は自動で実機までインストールしてくれます。
f:id:izana1018:20150622040056p:plain:w300


以下、実機側

ちょっとまっていると実機にテーマのインストール完了通知が出てくる。
f:id:izana1018:20150622042246p:plain:h300
↓ステータスバー確認すると、インストールされている。

f:id:izana1018:20150622042757p:plain:w300
↓テーマ適用の画面が出てくる。

f:id:izana1018:20150622043120p:plain:h300
↓右下の適用ボタンをタップ。

f:id:izana1018:20150622043511p:plain
↓はい、OK。

適用後

f:id:izana1018:20150622043702p:plain:h300ロック画面と f:id:izana1018:20150622043657p:plain:h300ホーム


だらだら書いたけど

簡単!

次回はフォルダの色を変える izana1018.hateblo.jp

Xperia Z4が防水の理由

SOL22

2013年5月末にauから発売されたXperia

発売直後に機種変したからまる2年使ってきたわけだが、ルート化しなくても困ることも殆ど無くなかなか優秀なやつ。

ところが会社で充電の度にmicroUSBのカバーを外したりを繰り返していたら、防水パッキンがイカレてしまい防水機能はどこか彼方へ飛んでいくことに。

パッキンだけ買おうかとも思ったけど、水没したときは(水没してないけど既に水没マーク赤くなってたし)そこまでと諦め、お風呂で使えないくらいなので別に問題なく使えてきました。

強いて言うなら

最近無線ルータをバッファローからAtermに変えたんだけど、5GHz帯でSSIDをステルスモードにすると認識しないので、ちょいイラしたくらいかな。

SOV31

S.O. ・・・

Vだと・・・( ゚д゚)ポカーン

なんだろうこのモヤッと感。
ソニーモバイルコミュニケーションズからソニーに変わったからなのかな?

まぁ2年も使ったし変えてみるか-とau Online Shopでポチッと。

到着

平日に来ても受け取れませんw
土曜に受取り~

手にした瞬間「おっ結構、薄いなー、デカイなー」でしたが、2秒後・・

スベる!

これヤバイ。
膝にちょい載せできないくらい、背面もツルッツル!

月曜に落とす気がしてならない・・・
ということでケースとか用意してない人はストラップ必須だわ。

とか思いながら、取り敢えず充電して、カメラちょっといじってると、

熱い!熱い!w

からの

発熱のためカメラ強制終了・・・ヾ(゚Д゚ )ォィォィ

多分、5分もカメラ起動してない。

( ゚д゚)ハッ!この為の防水か!

つまり、イザとなったら水で冷やせとな・・・・
水冷式とかやるじゃん糞ニーがぁあああ!

なんだろう。
低バッテリーからの充電(急速?)とカメラがめっちゃ熱くなる。

充電完了すると全然冷や冷やです。

違う!俺が今回書こうとしたのは、防水とかじゃなくて、Xperiaの自作テーマなんだよぉおおお!!

次回。

数年ぶりのマジ走り

f:id:izana1018:20150509213108j:plain

お・・遅い!www

そしてスネ釣りそうだった(´・ω・`)
でも、ちょっと気持ちいいので続けよう。

肥えた

とか、久しぶりに会った友達に言われたからじゃないんだから!
1ヶ月後くらいに健康診断あるからじゃないんだからねっ!!

ところで

232 カロリー・・・だと・!?

「キロ」カロリーだよね!?

ちなみにサイクリング「74キロ」

f:id:izana1018:20150509215331j:plain

74キロ走って「783 キロカロリー」

なんというか、割にあわない気がしてならない。
ある意味、自転車偉大だわ

f:id:izana1018:20150509222234j:plain

YAGBE

ブックマークって、みんなどうやって管理してるんだ?

取り敢えず自分はメインでGoogle ブックマーク使用。

Googleブックマークの便利なところ

  • URLにタグ付けできる
    よくある機能。
    URLにタグ付け管理できるので、まあ便利。
    ただし、タグ付けまくると、あとで整理が面倒で、後悔。

  • Googleとの親和性が高い
    Googleマップで付けたスターもGoogleブックマークに登録される。

  • ググった履歴が全て見れる
    「あー先週、検索して見つけたサイトって何で検索したんだっけーー!?」
    とかでも、GoogleブックマークのWEB履歴から探しだすこともできる。

    厳密にはGoogleブックマークじゃないのかな?
    あと、誰かに見られたら死亡するw

  • ChromeFirefox拡張機能が便利
    個人的にタイトルにもある YAGBE が一番使いやすい。
    chrome.google.com

    少し前まで、エラーが出るようになっていたけど、最近また使えるようになったのかな?

スマホAndroid)との連携

一番使い勝手が良いのが、GBookmark - Google Play の Android アプリ

スマホ(GBookmark)⇔Googleブックマーク⇔Chrome(YAGBE)の相互同期もできるところがよいです。

Format-Tableで右揃えとか三項演算子的なこと

chromeのプロセス一覧見てみよ~(ドヤ顔

f:id:izana1018:20150219001153p:plain

な・ん・だ・と!?

すっからかんだと!?
てか、なんだこの空行は!?

右にスクロールしてみる

f:id:izana1018:20150219001159p:plain

出てきた~!

画面のプロパティを見てみると・・・

f:id:izana1018:20150219001203p:plain

そうです。
画面バッファーのサイズを広げてました。

Format-Tableコマンドレット

まぁ右スクロールすれば出てくるからいいけど、見難い!

ということでFormat-Table(以下ft)-AutoSizeをカマしてみる

PS C:\Users> gps chrome | ft -a id,name

  Id Name
  -- ----
1304 chrome
1328 chrome
1744 chrome
1868 chrome
2776 chrome
3252 chrome
4392 chrome
5172 chrome
5224 chrome
5372 chrome
5648 chrome
6204 chrome
6284 chrome
6556 chrome
6844 chrome
6992 chrome
7096 chrome
7156 chrome
8304 chrome
9408 chrome
PS C:\Users>

いい感じに自動的に幅を調整してくれます。

右揃えや中央揃え

このft、色々と出来ちゃいます。

いろいろな表示サンプル

PS C:\Windows\system32> gps chrome |
  ft -a Id,
        Name,
        VirtualMemorySize64,
        # 仮想メモリをMB変換して小数点第二位で表示
        @{n="VM[MB]";
          e={"{0:N2}" -F ($_.VirtualMemorySize64/1MB)}},
        # 仮想メモリピーク値をMB変換して小数点第二位で右揃え
        @{n="PeakVM[MB]";
          e={"{0:N2}" -F ($_.PeakVirtualMemorySize64/1MB)};
          a="r"},
        # 仮想メモリが1GB以上の行にY、それ以外Nでセンタリング
        @{n="Over 1GB#if";
          e={if($_.VirtualMemorySize64 -ge 1GB){"Y"}else{"N"}};
          a="c"},
        @{n="Over 1GB#map";
          e={@{$true="Y";$false="N"}[$_.VirtualMemorySize64 -ge 1GB]};
          a="l"},
        @{n="Over 1GB#array";
          e={@("Y","N")[-not( $_.VirtualMemorySize64 -ge 1GB)]};
          a="r"}


   Id Name   VirtualMemorySize64 VM[MB]   PeakVM[MB] Over 1GB#if Over 1GB#map Over 1GB#array
   -- ----   ------------------- ------   ---------- ----------- ------------ --------------
 1124 chrome           865202176 825.12       829.12      N      N                         N
 1424 chrome          1181487104 1,126.75   1,143.75      Y      Y                         Y
 2116 chrome           957128704 912.79       916.79      N      N                         N
 4788 chrome           913203200 870.90       871.90      N      N                         N
 4912 chrome           950034432 906.02       916.02      N      N                         N
 8496 chrome           995819520 949.69       955.96      N      N                         N
 8588 chrome           311062528 296.65       307.28      N      N                         N
 8712 chrome          1492869120 1,423.71   1,466.71      Y      Y                         Y
 8756 chrome           897290240 855.72       858.72      N      N                         N
 8792 chrome           776208384 740.25       745.25      N      N                         N
 8800 chrome           801337344 764.21       771.22      N      N                         N
 8808 chrome           862097408 822.16       862.30      N      N                         N
 8820 chrome           774639616 738.75       743.75      N      N                         N
 8832 chrome           778833920 742.75       748.75      N      N                         N
 8840 chrome           770445312 734.75       741.75      N      N                         N
 8848 chrome           775159808 739.25       746.25      N      N                         N
 8856 chrome           770445312 734.75       741.75      N      N                         N
 8864 chrome           771493888 735.75       743.75      N      N                         N
 8872 chrome           769658880 734.00       739.00      N      N                         N
 8912 chrome           998236160 951.99       979.99      N      N                         N
 9660 chrome          1066119168 1,016.73   1,025.73      N      N                         N
 9664 chrome           914006016 871.66       876.66      N      N                         N
10192 chrome          1044418560 996.04     1,012.54      N      N                         N


三項演算子VBでいうIIF)的な何か

前述のサンプル。
実は三項演算子的なことしてます。

お気づき?

列「Over 1GB#map」と「Over 1GB#array」は条件が真と偽で表示内容を変えてます。

仕組みは単純。

@{$true="Y";$false="N"}[$_.VirtualMemorySize64 -ge 1GB]

$trueは"Y"、$falseは"N"という連想配列を作って、真偽値を使って連想配列から値をゲットしているだけ。

VBで書くならこんな感じでしょうか

Dim map As New Hashmap()
map.add(true, "Y")
map.add(false, "N")
# map.item(true)

@("Y","N")[-not( $_.VirtualMemorySize64 -ge 1GB)]

こっちはbool値をint型に変換して(暗黙的でよろしくはないが)、インデックスとして利用。

さよならNexus7(2012)

そしてありがとう

初めてのタブレット。Nexus7。

手の小さめな自分には大きさがちょうどいい感じで、なかなか使い勝手もよい子でした

重すぎ

lollipopにしたからか、ここ最近は重すぎてイライラすることが多くなった。

それに、尿漏れ(尿液晶)も酷くなってきて、ちょっと無理させるとすぐお漏らししちゃう残念な状態に

もうアカン

という事で、引退してもらうことにしました( ノД`)…

そしてXperia Z3 Tablet Compact購入

良いぞ良いぞ

大きさもNexus7と同じくらいだし、もうサクサク!

てか、軽い!

なかなか良い買い物をした気がする。

twitterにログインできなくなった

ある日突然

Twitter for Androidへログイン認証のリクエストを送信しました。
通知をスワイプまたはタップしてTwitterアプリを開いた後、チェックマークボタンをタップしてログイン認証のリクエストを確認してください。

Or get a verification code texted to your phone.

保存したバックアップコードを使用してログインできます。

ヘルプが必要な場合は、Twitterサポートまでお問い合わせください。

ここから先に進めなくなった

何もやってないのに!

と、叫びたかったが心当たりありましたわ。

ただ、心当たり多すぎてもう訳わからん状態(泣)

ログイン認証できないし、バックアップコードも無効とかホント悲しい。
何度もログインにチャレンジしては失敗。

もう悲しいというより虚しかったよ。

パスワードリセットすると確かにリセットされるんだけど、その先にログイン認証の壁が立ちはだかる。

最後の手段

twitterのサポートに泣きつい・・問合せてみた。

何度かやりとりはあったものの あっさり解決!

ありがとう、サポートさん!

ちなみに

だらだらとやりとりしてたけど流れは↓感じ

  • 1/25 サポートに泣きつく
  • 1/25 twitter:もう一回ヘルプ見るがよろし。それでダメなら詳細送りたまえ
  • 1/28 もう一度、泣きつきまくる
  • 2/4 twitter:取り敢えずログインだけして、連絡よこすがよい
  • 2/5 ログインじまじだ〜〜〜(号泣
  • 2/5 twitter:ログイン認証無効にしてやったよ☆(ゝω・)vキャピ
  • 2/5 ふおぉおおお!

う〜ん、別アカウント作って、ログイン認証ONにしたのが原因かな〜