ProgressDialog表示中の画面回転対応

時間がかかる処理を行うときにProgressDialogでくるくるしている最中に画面を回転させるとActivityが破棄されて云々に対応。

くるくるしている最中に回転しても意味がないので、画面固定→くるくる→固定解除するのが簡単。

 

1.ProgressDialogを表示する前に画面を固定する。

 

2.くるくるさせつつ、処理を行う。

 

3.ProgressDialogをdismissした後に画面固定を解除(傾きによって回転)する。

 

 

カテゴリー: Android | タグ: | コメントする

カスタムListViewの行にButton/ImageButtonがあるとonItemClickが呼ばれない

なんでだ?

 

・解決方法

ListViewの行のレイアウトで以下3行を追加。

 

参考

 

カテゴリー: Android, View | タグ: , | コメントする

カスタムListViewのボタンで要素を削除

ListViewで各行に削除ボタンを設置して、削除ボタンクリックで当該行を削除する。

※iOSでよくあるやつ。

ListAdapterの中でボタンにonClickListenerをセットしてもListViewを再描画する方法がわからなかったので。

ListViewのレイアウトXMLでボタンのonClickにメソッドを指定。

 

ListAdapterのgetView中でボタンのタグにpositionをセット

 

ActivityにXMLで定義したメソッドを実装。引数のViewからgetTag()でpositionを取得して、あとはごにょごにょ。

 

※ListAdapterでボタンにonClickListenerをセットするとXMLで指定したメソッドは実行されないので注意。

 

参考

 

 

カテゴリー: Android, View | タグ: | コメントする

Androidの操作画面を動画に記録する

※Android 4.4(KitKat)以降

アプリの宣伝動画として使えますね。

■手順

端末とPCをUSBで接続してUSBデバッグをON(「タップを表示」もONにするとわかりやすい)

#以下コマンドプロンプト

adb shell

cd sdcard (任意の場所に移動)

screenrecord hoge.mp4

端末を操作

録画を終わるときはコマンドプロンプトで「Ctrl + C」

adb pull /sdcard/hoge.mp4 (ファイル取得)

 

その他オプションでサイズや録画時間等が指定可能。デフォルトでは3分。

–time-limit 30(録画時間[秒]。最大180秒)

参考

 

カテゴリー: Android | タグ: , | コメントする

パッケージ名を変更する

Eclipseで後からパッケージ名を変更する手順。

com.skelabo.oldpkg→com.skelabo.newpkgに変更

 

1)Manifest.xmlのパッケージ名を修正する。(いろんなとこにエラーが出るが無視)

2)src→com.skelabo.oldpkgを右クリック→リファクタリング→名前変更で新しいパッケージ名(com.skelabo.newpkg)を入力

3)ツリートップのパッケージ名(OldPkg)を右クリック→リファクタリング→名前変更で新しいパッケージ名(NewPkg)を入力

4)ツリートップのパッケージ名(NewPkg)を右クリック→プロパティ→実行/デバッグ設定→OldPkgを選択→編集で、名前に新しいパッケージ名(NewPkg)を入力

5)gen直下に古いパッケージ名があれば削除する。

6)bin直下に古い名前のapkファイルがあれば削除する。

 

参考

 

カテゴリー: Android | タグ: | コメントする

画面回転時のライフサイクル

画面回転時の状態保持の参考に。

■起動

onCreate

onStart

onResume

表示

 

■回転

onPause

onSaveInstanceState(状態保存)

onStop

onDestroy

onCreate

onStart

onRestoreInstanceState(状態復元)

onResume

 

表示

 

 

別Activityを起動した場合

■起動

onCreate

onStart

onResume

表示

■別Activity起動

onPause

onSaveInstanceState(状態保存)

onStop

別Activity表示

■別Activityから戻る

onStart

↓(状態復元は実行されない!)

onResume

 

表示

 

カテゴリー: Android | タグ: , | コメントする

Androidのソースを検索する

ここ

バージョン毎のソースを検索して見ることができるサービス。

 

カテゴリー: Android | コメントする

タイムゾーン関係

タイムゾーンを設定したり、タイムゾーンの名前を取得したり、UTCとの時差を求めたり。

 

#TimeZone.inDaylightTime(new Date()), TimeZone.SHORT)は「GMT-07:00」形式だったり「JST」「PST」形式だったりするので、UTCとの時差は#TimeZone.getOffset(long time)から算出するべし。

 

#追記

Androidのソースを検索して、Android標準のタイムゾーン名を取得する。

検索サービスで「timezones」で検索すると言語別タイムゾーン名の定義ファイル(timezones.xml)や定義ファイルを読み込むクラス(ZonePicker.java)が見つかるので参考に。

カテゴリー: Android | タグ: | コメントする

SQLiteで連番生成

SQLiteで適当なテーブルを作成しautoincrementさせる。

※idカラムはダミー

連番取得

※autoincrementのカラムだけのテーブルでできたらいいんだけど。

連番のリセット

 

参考

 

カテゴリー: Android | タグ: | コメントする

【Androidアプリリリース】短縮ダイヤル

ワンタッチで電話をかけたり、メール/メッセージ作成画面を表示するショートカット作成アプリをリリースしました。

最初はウィジェットで作ろうと思いましたがウィジェットはフォルダに入れることができないため、フォルダに入れることができるショートカットにしました。

ホーム画面にショートカットをたくさん作ってもフォルダで整理することができます。

Android app on Google Play

 

 

ワンタッチで電話/メール/SMS – 短縮ダイヤルがApplivに掲載されました!
詳細記事はこちら↓
恋人や家族にワンタッチダイヤル!わざわざ電話帳を開く必要なし

カテゴリー: 未分類 | コメントする