Skip to content

Instantly share code, notes, and snippets.

@masaibar
masaibar / MainActivity.kt
Created January 6, 2019 05:08
ScrollViewを持ったAlertDialogを表示する ref: https://qiita.com/masaibar/items/33ac44545c0d37caee50
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
AlertDialog.Builder(applicationContext)
.setTitle("title")
.setView(R.layout.view_scrollable_text)
.setPositiveButton(
"OK"
) { _, _ ->
@masaibar
masaibar / AndroidManifest.xml
Created January 1, 2019 08:56
AndroidでAdMobの初期化時にクラッシュする ref: https://qiita.com/masaibar/items/848362349442026063e2
<manifest>
<application>
:
(中略)
:
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ADMOB_APP_ID"/>
</application>
@masaibar
masaibar / AndroidManifest.xml
Last active October 5, 2018 02:39
Androidのデバッグ版とリリース版でパッケージ名、バージョン名、アプリ名、アイコンを変更する ref: https://qiita.com/masaibar/items/87cd03d3824ae8e1e16a
<application
android:icon="@mipmap/ic_launcher"
/>
@masaibar
masaibar / ScaleTransformation.kt
Last active September 14, 2018 13:59
Picassoでwrap_contentなImageViewに画像を読み込む際に縦横それぞれN倍する ref: https://qiita.com/masaibar/items/7aba5cb506fe652d49e7
class ScaleTransformation(
private val scale: Float
) : Transformation {
override fun transform(source: Bitmap?): Bitmap? {
source ?: return null
//1倍にするとcreateBitmapしてもsourceを返そうとして死ぬ
if (scale == 1f) {
return source
@masaibar
masaibar / MainActivity.kt
Created August 7, 2018 08:05
Androidで明示的に画面をOFFにさせない ref: https://qiita.com/masaibar/items/604aba552887ee0eb033
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}
@masaibar
masaibar / HeadsetEventReceiver.kt
Created May 7, 2018 08:36
Androidのイヤホンの抜き差しを検知する ref: https://qiita.com/masaibar/items/649c85a86e3ad4ef7c97
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.media.AudioManager
class HeadsetEventReceiver :BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if (intent == null || intent.action != Intent.ACTION_HEADSET_PLUG) {
return
@masaibar
masaibar / file0.txt
Created December 17, 2017 08:41
AdMobのInterstitialAdを導入した際に踏んだ罠のメモ ref: https://qiita.com/masaibar/items/e2d293e559c30839457d
private fun setAppMuted(muteState: Boolean) {
val audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager
audioManager.setStreamMute(AudioManager.STREAM_MUSIC, muteState)
}
@masaibar
masaibar / AndroidManifest.xml
Last active September 30, 2020 04:26
いい感じのチュートリアル画面を5分で実装する ref: https://qiita.com/masaibar/items/f155cd1c7b6a795377f6
<activity
android:name=".TutorialActivity"
android:theme="@style/WelcomeScreenTheme">
@masaibar
masaibar / UpdateChecker.java
Last active January 17, 2017 12:26
FirebaseのRemoteConfigを用いてAndoridアプリのアップデート訴求通知を出す方法を考えてみた ref: http://qiita.com/masaibar/items/f32a788159f210abd262
public class UpdateChecker {
private static final String KEY_LATEST_VERSION_CODE = "latestVersionCode";
private static final String KEY_SHOW_NOTIFICATION_FLAG = "showNotificationFlag";
private static final String KEY_NOTIFICATION_TICKER = "notificationTicker";
private static final String KEY_NOTIFICATION_TITLE = "notificationTitle";
private static final String KEY_NOTIFICATION_CONTENT = "notificationContent";
private int mConfigId;
public UpdateChecker(int configId) {
@masaibar
masaibar / AndroidManifest.xml
Created May 8, 2016 10:22
AndroidManifest.xmlにAPIキーを書いたコードをGitHubにコミットしないために ref: http://qiita.com/masaibar/items/38735c99da6f1d439f0a
<activity
android:name=".MainActivity"
android:label="${label}"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>