Xperiaのテーマを自作してみる ~壁紙編~
前回、
Xperiaの発熱に話題がかっさわれて書けなかった 自作テーマ について。
Google Playには多くのXperiaテーマが出回っているけど、
どうやって作ってるんだろうかと思い調べてみると、
どうやら
ってことで、
壁紙、ロック画面を変えてみる
まぁ壁紙はXperiaの設定から変更できるので、わざわざテーマとして作らなくてもいいのだけど、
テーマ自作の中ではかなり簡単なので、一応ね(^_^;)
0. 用意するもの
必須
開発ツール本体(以下、テーマクリエーター)
Theme Creator | Sony Developer World
ベータ版どうやら最近正式版?になったらしいけど(2016/6/28時点)、結構簡単に作れます。JRE7以上
Java SE - Downloads | Oracle Technology Network | Oracleセキュリティの提供元不明のアプリをONにする
Android SDKを入れてない人は今回のテーマをAPKで直接インストールする必要があるので、野良アプリOKにしておくこと。
用意しておくと良いもの
画像編集ソフト
Photoshopとか持ってないののでGIMP - Downloadsで代用。
テーマで使う画像ファイルはPNG形式なので対応のものであれば基本なんでもOK。Android SDK
Download Android Studio and SDK Tools | Android Studio
これがあるとテーマクリエーターから、テーマのビルド→インストールが楽。Androidを触っている人は知っていると思うが、Xperiaの設定>端末情報>ビルド番号を連続タップして 開発者向けオプションを出現させUSBデバッグを有効にすること。
環境変数PATHに
adb.exe
を通るようにしておくことも忘れずに。
ちょっと脱線
「Xperiaの設定>端末情報>ビルド番号を連続タップして~」を書いていて思い出した。
ビルド番号の代わりに Androidバージョン を連続タップすると裏ゲームができるけど、難しすぎなんですが!ww
ポイント
背景を透過させたい場合などはアルファチャンネルをいじれる画像編集ソフトが必要。
9-patchという描き方(考え方)
GIMP含め9-patch非対応の編集ソフトで画像を触る場合(壁紙とかは関係ない)は画像の上下左右1pxを意識すること。
画像ファイルはPNG形式だが、画像の上下左右1pxは特殊領域となっているので下手にいじるとエラーで怒られる。使い方知らないけど
./android-sdk-windows/tools/draw9patch.bat
とか使えるのか??
1. 新規プロジェクトを作成
テーマクリエーターを起動したら、手始めにEssential resourcesを選択
端末解像度で見た目変えたい、やる気ある人はComplete resourcesを選ぶがよろし。
プロジェクト情報を入力
公開とかしないので適当に入力
初期画面
右側のプレビュー画面で編集中のテーマを確認できます。
2. 壁紙変えてみる
Backgrounds > Generic > System Wallpaper
の端っこの(三点)ボタンをクリック。
今回は事前に用意した画像を選択するのでCreate new > Pick image
を選ぶ
こんな感じで右側のプレビュー画面が変わります。
3. ロック画面も変えてみる
壁紙設定と完全に同じ。
Backgrounds > Generic > Lockscree Wallpaper
から設定できます。
変更したロック画面と壁紙を見てみる
Backgrounds > Generic
を選択して、プレビュー画面上部のTwo rows
を選択すればいろいろなシチュエーションの画面が一度に確認できる。
プレビュー画面の左上が変更したロック画面ですな。
3. 実機で確認してみる
今回、Android SDKを導入している環境なのでBuild And Install
を使う。
同じような環境ない人はExport Test APK...
でAPKで出力して実機にコピーして、
インストールでも問題なし(面倒なだけだ)
Build And Installする
メニューバー > Build > Build And Install
を選択すると、後は自動で実機までインストールしてくれます。
以下、実機側
ちょっとまっていると実機にテーマのインストール完了通知が出てくる。
↓ステータスバー確認すると、インストールされている。
↓テーマ適用の画面が出てくる。
↓右下の適用ボタンをタップ。
↓はい、OK。
適用後
ロック画面と ホーム
だらだら書いたけど
簡単!
次回はフォルダの色を変える izana1018.hateblo.jp
Xperia Z4が防水の理由
SOL22
発売直後に機種変したからまる2年使ってきたわけだが、ルート化しなくても困ることも殆ど無くなかなか優秀なやつ。
ところが会社で充電の度にmicroUSBのカバーを外したりを繰り返していたら、防水パッキンがイカレてしまい防水機能はどこか彼方へ飛んでいくことに。
パッキンだけ買おうかとも思ったけど、水没したときは(水没してないけど既に水没マーク赤くなってたし)そこまでと諦め、お風呂で使えないくらいなので別に問題なく使えてきました。
強いて言うなら
最近無線ルータをバッファローからAtermに変えたんだけど、5GHz帯でSSIDをステルスモードにすると認識しないので、ちょいイラしたくらいかな。
SOV31
S.O. ・・・
Vだと・・・( ゚д゚)ポカーン
なんだろうこのモヤッと感。
ソニーモバイルコミュニケーションズからソニーに変わったからなのかな?
まぁ2年も使ったし変えてみるか-とau Online Shopでポチッと。
到着
平日に来ても受け取れませんw
土曜に受取り~
手にした瞬間「おっ結構、薄いなー、デカイなー」でしたが、2秒後・・
スベる!
これヤバイ。
膝にちょい載せできないくらい、背面もツルッツル!
月曜に落とす気がしてならない・・・
ということでケースとか用意してない人はストラップ必須だわ。
とか思いながら、取り敢えず充電して、カメラちょっといじってると、
熱い!熱い!w
からの
発熱のためカメラ強制終了・・・ヾ(゚Д゚ )ォィォィ
多分、5分もカメラ起動してない。
( ゚д゚)ハッ!この為の防水か!
つまり、イザとなったら水で冷やせとな・・・・
水冷式とかやるじゃん糞ニーがぁあああ!
なんだろう。
低バッテリーからの充電(急速?)とカメラがめっちゃ熱くなる。
充電完了すると全然冷や冷やです。
違う!俺が今回書こうとしたのは、防水とかじゃなくて、Xperiaの自作テーマなんだよぉおおお!!
次回。
YAGBE
ブックマークって、みんなどうやって管理してるんだ?
取り敢えず自分はメインでGoogle ブックマーク使用。
Googleブックマークの便利なところ
URLにタグ付けできる
よくある機能。
URLにタグ付け管理できるので、まあ便利。
ただし、タグ付けまくると、あとで整理が面倒で、後悔。ググった履歴が全て見れる
「あー先週、検索して見つけたサイトって何で検索したんだっけーー!?」
とかでも、GoogleブックマークのWEB履歴から探しだすこともできる。厳密にはGoogleブックマークじゃないのかな?
あと、誰かに見られたら死亡するwChromeやFirefoxの拡張機能が便利
個人的にタイトルにもある YAGBE が一番使いやすい。
chrome.google.com少し前まで、エラーが出るようになっていたけど、最近また使えるようになったのかな?
スマホ(Android)との連携
一番使い勝手が良いのが、GBookmark - Google Play の Android アプリ。
Format-Tableで右揃えとか三項演算子的なこと
chromeのプロセス一覧見てみよ~(ドヤ顔
な・ん・だ・と!?
すっからかんだと!?
てか、なんだこの空行は!?
右にスクロールしてみる
出てきた~!
画面のプロパティを見てみると・・・
そうです。
画面バッファーのサイズを広げてました。
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型に変換して(暗黙的でよろしくはないが)、インデックスとして利用。
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にしたのが原因かな〜