旧. -開発日記-

〜とあるプログラマーのつぶやきや開発メモなど〜

Androidカスタムダイアログ(枠線消す)

久々に書きます。
お題の通りになります。
最近またAndroid開発が加速していってて、iOSもやらなきゃいけないのに
こっちがコンモリ気味に...。 個人的にはAndroidがもっと発展してって
普及してくれればなぁと思ってる口なのでいいんですが。

そこでAndroidの標準のUIは基本無機質で暖かみがないので、
ダイアログもあまりそのままのは使いたくない、
ということで忘れやすいのでメモメモ。

枠線消す

//Dialog dialog (Dialogを継承した独自クラスのインスタンスでもOK)
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

DialogFragmentで普通はカスタマイズするんですが、
今回はとりあえず枠線消すということで...。

CentOSでyum update時にExisting lockが出る問題

「Another app is currently holding the yum lock; waiting for it to exit...」

なんていうコメントが延々と表示されて...。 とりあえずyumを強制終了したり色々やったけど、 pidができちゃうからとかで、以下を実行したら動いた。

むむむぅ。

rm -f /var/run/yum.pid

Proguardを使ってのAPK吐き出し手順 〜IntelliJ IDEA〜

Eclipseとは色々勝手が違ってて久々に使うと
いい感じに忘れて無駄に時間を消費してしまうIntelliJ IDEA先生。
私だけかもしれませんが、忘れっぽいのでメモ。

Proguardを使ってapkを吐き出す際の手順。

Open Module Settings -> Project Structureの項目「Artifacts」を選択 ->
画面右側の「Android」タブを選択し、必要事項記入

f:id:librastudio:20131010121323j:plain

  
  
上記画面でキーストアのPW等打ち込んだ後、

Runメニュー -> Edit Configurations...を選択

f:id:librastudio:20131010122358p:plain

画面右下のほうの、「Befor launch:Make, Build Artifacts」項目があるので
そこに先ほど作成したArtifacts情報を追加してあげます。
 
 
+ボタン -> Build Artifacts -> 作成したアプリ名が表示されるのでチェックし「OK」
 
 

これで自分で指定したディレクトリ上にProguardが適用されたapkが吐き出されます。 Proguardはいい感じにWarningはいた時にエラーとなってうまくapk吐き出せない
トラブルにもよく見舞われましたが、そちらは気が向いたら...。

さくらVPSにgitリモートリポジトリを作る

メモがてらササっと。

(サーバー側)

  1. サーバー側にgitリポジトリを作成。
  2. パーミッション,オーナーの変更
  3. 作ったディレクトリ上で"git init"を

(この時"shared"を忘れると複数開発が出来ないとか)

$ sudo mkdir -p /var/git/sample_repository
$ sudo chmod -R 775 /var/git
$ sudo chown -R root:wheel /var/git
$ cd /var/git/sample_repository
$ git init --bare --shared=true


(ローカル側)

Mac側は既にGitをインストール&諸々環境設定済み...

適当に作業コピーのためのフォルダを作って、
そこでコミットしたものをサーバーにもプッシュしてみる

$ mkdir sample_repository
$ cd sample_repository
$ git init
$ touch sample.txt
$ git add .
$ git commit -m "My first commit."
$ git remote add origin ssh://"user名"@"host名":"sshポート番号"/var/git/sample_repository
$ git push origin master
無事サーバーにプッシュできたらメッセージがズラズラとでます


あとはちゃんと別のとこからcloneできるかチェック。

$ mkdir test
$ cd test
$ git clone ssh://"user名"@"host名":"sshポート番号"/var/git/sample_repository/
成功すると色々受け取れました的なメッセージがでて完了ー。

うーん、
これからもよい開発ライフを...。

ssh簡略

お題の通り。
忘れるのでメモ書きしておきます。

sshでサーバに接続する際に

$ ssh -l "ユーザー名" -p "ポート" "IPアドレス"

といったように毎回うつのが面倒なので、
作成したMacホームディレクトリ上の.ssh/以下に
configファイルを作成し、それに下記内容を貼付けます。

Host "好きな名前を(ここではloginと)"
HostName "ホスト名"
Port "ポート番号"
User "ユーザー名"
IdentityFile ~/.ssh/id_rsa

実際ターミナル上で以下のようにうてばssh接続されます。

$ ssh login 

高速エミュレーター Genymotionを使ってみた

結構前から爆速エミュとかあったと思いますが、
これといって実際に試そうとは思いませんでした。
Androidを開発するなら、実機に転送して開発するほうが
圧倒的に効率がよかったからです。

ですが、twitterでも話題になってたGenymotion、こちらが
ほんとに爆速と評判だったので試しに使ってみました。




結論:は、早い!




準備として、

VirtualBoxのダウンロード
https://www.virtualbox.org/wiki/Downloads

■Genymotionに登録、ダウンロード
http://www.genymotion.com/


VirtualBoxは普通にインストールしてやればOK。
Genymotionはユーザ名とパスワード、メールアドレスを打ち込んで
登録する必要があります。
※メールが送られてくるのでそこからリンクに飛べば登録完了!



Genymotionをダウンロードし、
Genymotion.appとGenymotion Shell.appをインストール。
f:id:librastudio:20130910162106p:plain





ではさっそくGenymotionを実行します。
※先にVirtulBoxをインストールしていないと下のようなメッセージが出て
起動出来ないのでご注意を。

f:id:librastudio:20130910162630p:plain



無事起動すると、「イメージデバイスがないので作りますか?」的な
メッセージが出るので「Yes」を選択。

最初だけGenymotionダウンロード時に登録したユーザー名とパスワードを聞かれます。
チェックボックスにチェックを入れてやれば2回目以降聞かれないので
そのままユーザー名とパスワードを入力してログインします。
f:id:librastudio:20130910162738p:plain



下図のように端末のリストが出ますので、好きな端末を選択しましょう。
※ここではNexus7 -4.1.1 -with Google Apps...を選択。

「Add」をおして端末詳細情報が出るので「Next」を。
仮想端末のダウンロードが始まるので数分待ちます....。
f:id:librastudio:20130910165358p:plain
f:id:librastudio:20130910165552p:plain



端末のダウンロードが終わると下図のような画面が出るので
「create」を押しましょう。
f:id:librastudio:20130910165823p:plain



端末のダウンドードが完了したら、以下のようなダイアログが出ますが、
初回だけAndroid SDKの場所を指定してやります。
f:id:librastudio:20130910170006p:plain



VirtualBoxを起動します。
※ここで起動しないとGenymotionのPlayを押しても動かないです
色々情報が出てますが、ちゃんと左のほうにNexus7 - 4.1.1...
と追加されてるのがわかります。
f:id:librastudio:20130910170255p:plain



この状態でGenymotionに戻り、「Play」ボタンを押してみましょう。
下のように仮想デバイスが起動すれば成功ー!
f:id:librastudio:20130910174626p:plain



ちなみにこれまでのエミュレーターとは桁違いに早いです。
これは端末よりも使い勝手いいんじゃないでしょうか?
iOSエミュレーターは高速で便利でしたが、Androidも負けてませんね。
今後はエミュレーターで快適開発を!

あと普通にGoogle Playとかにアクセス出来るので、Kindleアプリとか
落とせばこのようにPC上で電子書籍も読めちゃいます。
f:id:librastudio:20130910173835p:plain