http://stackoverflow.com/questions/3826905/singletons-vs-application-context-in-android
((MyApplication) getApplication()).getSingleton();
http://stackoverflow.com/questions/3826905/singletons-vs-application-context-in-android
((MyApplication) getApplication()).getSingleton();
private void sendBackKey() {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
基本は以下のとおり
http://central.sonatype.org/pages/ossrh-guide.html
Gradle使う場合は以下のプラグインを使うと便利
import rx.Scheduler | |
import rx.Subscription | |
import rx.subjects.PublishSubject | |
import kotlin.reflect.KClass | |
/** | |
* [rx]を使ったイベントバス | |
*/ | |
class EventBus { | |
private val publishSubject: PublishSubject<Event> = PublishSubject.create() |
import android.app.Activity | |
import android.app.Application | |
import android.app.Service | |
import android.content.Context | |
import android.support.v4.app.Fragment | |
import android.view.View | |
import java.util.* | |
import kotlin.properties.ReadOnlyProperty | |
import kotlin.reflect.KClass | |
import kotlin.reflect.KProperty |
git branch | grep " " | xargs git branch -D |
親にTabHostがある場合、注意が必要。
TabHostはdispatchWindowFocusChangedをオーバーライドしており、CurrentViewにのみイベントを伝搬させている。
つまり、Tab自体のViewや、FragmentTabHostを使用している場合、子ViewのonWindowFocusChangeは呼ばれない。
これを防ぐには、TabHostを継承してdispatchWindowFocusChangedをオーバーライドし、ViewGroupと同じ実装にすればよい。
/** | |
* [Log]を使用するログファクトリー | |
* テストコードでのクラッシュを避けるために実装 | |
*/ | |
class AndroidLogFactory : Logger.LogFactory { | |
override fun log(priority: Int, tag: String, msg: String, error: Throwable?) { | |
val errorMessage = error?.let { "\n" + Log.getStackTraceString(it) } ?: "" | |
Log.println(priority, tag, msg + errorMessage) | |
} | |
} |