Kotlin varとvalの違い

var と val の違いとは? var : 再代入可能な変数(読み書き可能な変数) val : 読み込み専用の変数 以下のような操作を行った時、valではbuild errorとなります。 class Foo{} val foo = Foo() foo = Foo() //変数fooに再度Foo()インスタンス valについて い…

Android 怖くないRecyclerView

タイトルは釣りです。ごめんなさい。 昨日、ハマってしまったのでRecyclerViewについて整理したことをメモ。 RecyclerViewの最小構成 layoutファイル activiity_main.xml 画面幅一杯のRecyclerViewを配置

Android WebViewに直接HTMLを記述する

WebViewに対して、さらっと書き捨てのHTML等を直接記述出来ます。 val webView = findViewById<WebView>(R.id.web_view) webView.loadData("<a href=\"https://www.google.com\">グーグル検索</a>", "text/html", "utf-8") 何が便利か? クッションページが必要だけど、敢えてHTMLファイルとして作成するほど</webview>…

Android Kotlin 怖くないAsyncTaskLoader

タイトルは釣りです。すいません。 AsyncTaskLoaderを気軽に使えるように整理したのでメモとして残しておきます。 基本形 別スレッドでの処理はAsyncTaskLoaderのloadInBackgroundに記述 loadInBackgroundで完了した処理データをUIスレッドで操作するにはLoa…

Android KotlinでDialogFragmentを扱う

Javaで記述したDialogFragmentをKotlinに自動変換行った時、 method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState とエラーが出ることがあります。これはエラーメッセージの通りsavedInstanceStateにnullが渡され…

Android プラットフォーム リソースにアクセスする

Androidにはデフォルトで用意されているアイコンとして利用可能な豊富なdrawable プラットフォームリソースがあります。 プラットフォームリソースを確認する Layout EditorのAll attributeから確認するのが簡単です。 のアイコンを押下し、Drawable -> andr…

はてなブログPROの独自ドメインでアドセンス申請時に「お客様のサイトにリーチできません」となる問題

結構な人が困っているようなので、自分が解決した時の対処を記載しておきます。 前提として ドメインはお名前ドットコムで取得 はてなブログはhttps対応としてしている です。 そもそもの問題 はてなブログPROの独自ドメイン機能はURLの独自ドメインの頭にww…

スタートアップのエンジニアだった自分がうつ病になった時の思い出

当時、とあるスタートアップベンチャーのテックリードを務めていた。 開発していたサービスは企画の立ち上げ時から参画し、オンプレインフラの構築からサーバソフトウェアや言語の選定、WEBアプリケーションの開発まで、他プロジェクトのエンジニアと意見交…

Android ListViewに変更を通知する

一度、表示されたListViewに対して変更された内容を通知する方法。 よくあるケースとして セルデータの編集・削除を行った ネットワークを通じて新しいデータを取得 などが想定されます。 例としてListViewのitemを長押しして選択対象を削除するというユース…

Android ActionBar/toolBarにmenuItemを配置

アコーディオンメニューとなるアイテムを設置 よくある以下のようなアコーディオンメニューを設置します。 以下の例はActionBarに設置したものです。 リソースファイルの作成 res/menu/にmenu resource fileを作成します。 main_menu.xml <menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> </menu>

Android ActionBarとToolBarについてのメモ

この2つの違いが曖昧なので、調べたことをメモしておきます。 ActionBar どこで定義されている? まずActionBarについて。ActionBarはアプリのテーマとして自動で定義されているもの。定義は、AndroidManifest に <application <!-- 中略 --> android:theme="@style/AppTheme > として</application>…

Android SQLiteの使用とmigration

schemaの作成 スキーマはSQLiteOpenHelperを実装したクラスで作成する。 DB_VERSIONはmigrationを行う際にインクリメントすることでonUpgrade()に渡される。 val DB_NAME = "MyApplication" val DB_VERSION = 1 class MyApplicationDBOpenHelper(context: Co…

Android toolbarと配置するitemについてのメモ

所謂この部分、ツールバー?(iOSではナビゲーションバーかな?)と呼ぶらしいんだけど、これについての取り扱いについて色々ハマったのでメモ。 タイトル名を変更 toolbar.setTitle("ツールバー") または、 setSupportActionBar(toolbar) supportActionBar?.s…

Android kotlin Activity間のオブジェクトの受け渡し

"intent object 渡す"とかでググると色々ヒットするが、渡されたオブジェクトは呼び出し先で新しく生成されたオブジェクトとして扱われることを備忘として書いておく。 例えば、以下のような定義のオブジェクトを渡す場合 class DataState( var data:String …

何者にもなれなかった自分について

退職して1年が経った。 在職中、あれだけ自由にプログラミングできる時間に恋焦がれていたのだが、いざ時間が出来てしまうとダラダラしてしまう。 本当に自分はダメな奴だなと思う。 知人のスタートアップのシステム作成のお手伝いと少しのiOSアプリを公開し…

Android Kotlin ListViewの次のN件の読み込み

よくあるListViewの最終セルに次のN件の読み込み的なやつ。ページネーションと読んでいいのかどうか。 Activity class MainActivity : AppCompatActivity() { lateinit var myListView:ListView lateinit var myAdapter:MyAdapter val listItems = ArrayList<String></string>…

Kotlin bitmapの扱い

ByteからBitmap public fun ByteToBitmap(bytes:ByteArray):Bitmap{ val opt = BitmapFactory.Options() opt.inJustDecodeBounds = false return BitmapFactory.decodeByteArray(bytes, 0, bytes.size, opt) } //ImageViewに画像をセット ImageView.setImage…

Android 共有ストレージアクセス

アクセス権限の確認 & 取得 ダイアログで権限の許可 or 拒否の操作完了時にonRequestPermissionsResult()がコールバックされる。 fun accessStorage(){ if(ContextCompat.checkSelfPermission( activity!!, Manifest.permission.READ_EXTERNAL_STORAGE) == P…

Android Kotlin ActivityからFragmentを追加

supportFragmentManagerでlayoutにfragmentを割り当てる class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val fragment = M…

Android AppWidgetProviderのインスタンス調査

widget間で値共有できるか調査してみたのでメモ Widgetごと、ライフサイクルごとにインスタンスが生成されているみたい。なので、いくらこういうことをしても class MyWidget : AppWidgetProvider() { private var numberCount = 0 override fun onUpdate(co…

Android Kotlin SoundPool()のdeprecated対応

SoundPool() はAPI LEVEL 21 から非推奨。 'constructor SoundPool(Int, Int, Int)' is deprecated. Deprecated in Java 21以降はSoundPool.Builder()でインスタンスを構築する。 //Lollipop未満 if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP){…

まんパク2019で食べたもの

毎年恒例の妻とグルメデート manpaku.jp めっちゃ良い天気!自分が来場した時はそこまで混んでなくてラッキーでした! 食べたもの にくらや黒銀 神戸ビーフにくら丼(ハーフ) 丼の具材は美味しかったのだけど、個人的にご飯は酢飯よりプレーンな熱々ご飯がよ…

kotlin 内部クラスから外側クラスのメンバ参照

クラスのネスト記述 class OuterClass { var foo = "" class InnerClass {} } 内部クラスから外部クラスのメンバを参照 InnserClassからOuterClassの var Foo を参照するには、内部innerクラスとして宣言する class OuterClass { var foo = "" inner class I…

kotlin コンストラクタのオーバーロード

kotlin コンストラクタ記述の基本形 primary constructor class Foo(str:String) : Bar(str){ } この場合、Fooとその親クラスにStringを引数とするコンストラクタが定義された、されていることになる。また、クラス宣言で記述するclass Foo(str:String)はプ…

kotlinでSnackbarを設定する

Snackbar.make( findViewById<View>(android.R.id.content), "表示メッセージ", Snackbar.LENGTH_SHORT) .setAction("表示するアクションボタン名称", {v -> //アクションボタンが押下された時の処理を記述 }).show() 例えばアクションボタンを「戻る」にする場合 </view>…

スピルバーグが描く漫画"ワンピース" レディ・プレイヤー1を見てきたので感想

wwws.warnerbros.co.jp 基本、極力ネタバレをしないように気をつけていますが、感想を書くと性質上、話の筋に触れてしまう場合があります。 ネタバレ不愉快な方は閲覧しないようご注意下さい。 シネマシティ1にて日曜日の朝イチAM9:30の上映回。座席の埋ま…

幻の新品川駅に潜入 4月21日放送タモリ倶楽部が面白かった

4月21日放送 タモリ倶楽部 まず最初に新しく山手線品川〜田町間にできる仮称"品川新駅"ではない。京急線に存在する新品川駅を本放送で取り扱った。 ゲストは土屋礼央さん、市川紗椰さん、吉川正洋さん、南田裕介さん(ホリプロのマネージャー笑)、あっ、この…

仰天!具だくさんな店 news every4月20日

4月20日放送 news every 無類の具だくさん大好きの自分は特にツボにささる。むしろ具だくさん好きな人のほうが多いですよね(笑) 横浜・桜木町 らぁ麺's Kitchen かわべ tabelog.com 横浜家系ラーメンのお店だ。家系大好き(^_^) 厚切り炙りチャーシュー麺 120…

串屋横丁高幡不動店で縄文飯を食べる

お馴染み串屋横丁に再訪。なんだかんだいって週1くらいで通っています(^_^;) tabelog.com 今日ももちろんチケットでファーストドリンク無料。助かります(^_^) タン 120円 かなり肉厚ジューシー。大きさも申し分ない。存分にコリコリ感の食感を楽しめる。脂…

高幡ふれあい橋から府中まで歩く

高幡から万願寺へ 出発は10:30、高幡不動から徒歩5分ほどの浅川にかかるふれあい橋から。よくテレビや映画の撮影をしている絵になる素敵な橋です。家を出る時に上着を着ていくか迷ったけどパーカー一枚で出発。お昼頃には日差しが暑くなりこの判断は正しかっ…