[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/31 10:17 / Filesize : 213 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Kotlin 7



1 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 16:00:38 ID:LXTBA+hx.net]
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 6
https://mevius.5ch.net/test/read.cgi/tech/1561186797/

2 名前:デフォルトの名無しさん [2020/05/06(水) 16:04:34 ID:dUOKAoWX.net]
GJ

3 名前:デフォルトの名無しさん mailto:sage [2020/05/06(水) 18:14:20 ID:izcxg96Z.net]
println("乙")

4 名前:デフォルトの名無しさん [2020/05/06(水) 20:51:49 ID:ZzpqVz5O.net]
公式サイト
https://kotlinlang.org/
公式ブログ
https://blog.jetbrains.com/kotlin
コードを貼れる所
rextester.com/l/kotlin_online_compiler
オンラインコンパイラ
https://ideone.com/

GoogleはKotlinをAndroidアプリ開発の推奨言語に格上げ
https://jp.techcrunch.com/2019/05/08/2019-05-07-kotlin-is-now-googles-preferred-language-for-android-app-development/
Library support for Kotlin coroutines
https://github.com/Kotlin/kotlinx.coroutines

5 名前:デフォルトの名無しさん mailto:sage [2020/05/08(金) 05:59:59 ID:9LQU4aEm.net]
println('乙')

6 名前:デフォルトの名無しさん mailto:sage [2020/05/09(土) 04:47:20 ID:JKQNvoIj.net]
('乙')

顔にみえる

7 名前:デフォルトの名無しさん [2020/05/09(土) 09:33:16 ID:3rxWY8lS.net]
ζ・

Σ・・)

8 名前:デフォルトの名無しさん [2020/05/10(日) 05:29:38 ID:D+x5WbLs.net]
val 乙 = 1

9 名前:デフォルトの名無しさん [2020/05/15(金) 22:32:56 ID:kEj5c5K7.net]
プログラミングコンテストあるよ!

Kotlin Heroes Coding Contest
https://www.jetbrains.com/promo/kotlin-heroes/

5月29日の夜から!

10 名前:デフォルトの名無しさん [2020/05/26(火) 09:15:43.77 ID:fDcZ5gJW.net]
しーん



11 名前:デフォルトの名無しさん mailto:sage [2020/05/26(火) 11:25:30 ID:e8iGmv ]
[ここ壊れてます]

12 名前:o7.net mailto: Take risks. Learn from mistakes. Be fearless.
Join Kotlin Heroes

コミュニティに破滅のにおいしか感じない
[]
[ここ壊れてます]

13 名前:デフォルトの名無しさん mailto:sage [2020/05/26(火) 18:40:13 ID:EGJJZsPX.net]
JetBrainsが競プロに熱心な理由は何なんだろう
機械学習ブームでアルゴリズム人材が欲しいとか?

14 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 05:17:19 ID:Mss9w6Hb.net]
kotlinの長所の短所ってなんなのですか?

15 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 05:17:30 ID:Mss9w6Hb.net]
まちがえた長所と短所です

16 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 06:52:52.45 ID:58kXnoo+.net]
長くて短い所?
ち○ぽ?

17 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 12:23:24.75 ID:DVps4EoB.net]
>>13
長所:better javaとして使える。
短所:javaを使えないと使えない。

18 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 12:40:49 ID:CKnwRHJN.net]
長所 ナウい
短所 仕事がナイ

19 名前:デフォルトの名無しさん [2020/05/27(水) 15:40:38.85 ID:l0VRR152.net]
Java のライブラリを使うから Java がわからないと使えないってことになってしまうのだろうが、
そこら辺を Kotlin でライブラリ作るなどして解消できたら残るは java コマンド使った実行方法だけにならないか?

一部はそうなってるよな。String クラスみたいな根幹に関わるようなクラスは Kotlin 側ライブラリにある。
もちろん Java 側ライブラリの処理を呼んでるだけのラッパーもあるけど。

20 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 16:50:56 ID:jM6UTQdW.net]
>>18
> Kotlin でライブラリ作るなどして解消できたら
そういう実現していない仮定に基づく議論は良くない。
少なくとも>>16はそういう仮定に基づいて話していないと思われる。



21 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 17:21:59 ID:JJKTQdCZ.net]
三項演算子が見にくい&醜い

22 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 18:37:15 ID:DTRuzdOO.net]
Javaがわからないと使えないというのをデメリットとして捉える感覚がわからん
Kotlinを使うにはJavaのライブラリとKotlinのライブラリを覚える必要がある
Pythonを学ぶにはPythonのライブラリを覚える
.NET言語なら.NETライブラリを覚える
Kotlinのライブラリなんて核となる部分の改善だけなんだからどの言語も労力の差は誤差レベルだろ
Javaライブラリで既に事足りてる部分をKotlinライブラリで二重化されたら無駄が増えるだけでは

23 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 18:42:29 ID:IG528ewY.net]
君はもう忘れてるかもしれないけど、サンプルをコピペできるって初心者には重要なんだよ

24 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 19:32:45 ID:mubjTKPs.net]
>>21
それがbetter javaとして使えるメリットであり、巨大なjavaを理解しないと使えないデメリットなんだよ。
例えば、ヌルポを避けて使えるというメリットはあるけど、ヌルポそのものを知らないで使えるわけじゃない。

初期のc/c++の関係に近いわな。
少なくともc/c#の関係ではないよ。

25 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 21:11:55 ID:3WNNb2zm.net]
VSみたいなインテリセンス使える?

26 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 21:31:31.59 ID:1jDvN/bi.net]
AndroidStudioはVSを超えてる

27 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 23:10:26 ID:DTRuzdOO.net]
>>22
なるほど、その説明なら腑に落ちるわ
サンプルのコピペってのは盲点だった

28 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 23:18:32.13 ID:3WNNb2zm.net]
>>25
まじでっ

29 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 16:06:27 ID:z89Mb2xs.net]
Kotlin のコンパイラはココにあるよ
https://github.com/JetBrains/kotlin/releases/latest

scoopを使ってインストールするなら
https://scoop.sh/

>scoop search kotlin
'main' bucket:
kotlin-native (1.3.72)
kotlin (1.3.72)
>scoop install kotlin

30 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 01:59:19.84 ID:zzgI+kvb.net]
そもそもJavaで良いんだよ。



31 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 02:44:32 ID:6KBAlGQt.net]
Windows 10 で IntelliJ IDEA の Community の新しいやつ (2020.1 とか 2020.1.1 とか) の起動ができない。
2019.3.5 はできて普通に動く。なので 2020.1.1 にアップデートしたくても出来ない状態なのだが、これ解消出来た人居る?
Windows 10 Home と Pro 両方試したんだけど症状は同じ。

IntelliJ IDEA の Ultimate の方は起動できたが、今の所これを使い続ける予定なし(今は完全に趣味で個人的に学習用
として使ってるので Community の方が良い)。

起動可能なまともなのが出てくるまで待つしかないんだろうか? まあフリーだしそうなったとしても仕方がないけどね。

32 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 07:36:25.09 ID:cdzKAQgn.net]
>>30
Community 普段使ってないから試しにインストールしてみたけど普通に起動するよ?
Windows10で、2020.1.1

33 名前:デフォルトの名無しさん [2020/06/01(月) 07:42:09.63 ID:cdzKAQgn.net]
これとか参考にしてみたら?
https://blog.jetbrains.com/jp/2020/04/11/2966

34 名前:デフォルトの名無しさん [2020/06/01(月) 09:12:52 ID:h4zHZIPt.net]
>>29
うっそーん!
getter, setter書かなくても良いだけKotlinがマシ。

35 名前:デフォルトの名無しさん mailto:age [2020/06/01(月) 09:22:09.26 ID:O16m8Efv.net]
俺的にはnull安全とwhen句あればあとはいいかな

36 名前:デフォルトの名無しさん [2020/06/01(月) 09:58:29 ID:h4zHZIPt.net]
>>966
>プロトコルとインターフェースは呼び名が違うだけ
>
>JavaのインターフェースはObjective-Cのプロトコルを真似して違う名前を付けたもの
>SwiftはObjective-Cからプロトコルという名前をそのまま受け継いでる

Swiftは変数に値型(Struct)とそれのCopy-On-Writeを活用した言語。型の抽象化をする際にProtocolが使われる。
Javaの変数は参照型(Class)しかない。型の抽象化もInterfaceが使われる。

Swiftは値型を使って高速化と省メモリを実現しようとしているが、残念ながら今のところ、実現出来ていない。言語仕様が肥大化してるからか?

37 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 14:24:04.07 ID:6KBAlGQt.net]
>>31
えー。じゃあこっちの環境の問題か。
なんだろう?とりあえず色々入れてしまったプラグインをアンインストールしてからやってみるか。

38 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 14:25:29.53 ID:6KBAlGQt.net]
>>32
ありがとう。見てみる。

39 名前:デフォルトの名無しさん mailto:sage [2020/06/01(月) 17:58:44 ID:6KBAlGQt.net]
>>31>>32
日本語化の Pleiades が怪しい感じだったのだが色々やってみても症状変わらなかったので
面倒だからもうアンインストールして残骸ファイルも全て削除して何もない状態にしてから
インストールしたらうまく行った。やはりこちらの環境の何かが悪かっただけだった。とほほ。

40 名前:デフォルトの名無しさん mailto:sage [2020/06/07(日) 00:57:41.55 ID:3X7+PvZO.net]
>>38
2020.1からJapanese Language Pack EAPがインスコできるようになったからそれと競合してんのかもね



41 名前:デフォルトの名無しさん mailto:sage [2020/06/09(火) 11:56:12.99 ID:wImvczbn.net]
現在日付がその月の第何週の何曜日かと言う情報を取得する方法はありますか?

42 名前:デフォルトの名無しさん mailto:sage [2020/06/09(火) 14:10:06.85 ID:SGOz4tpD.net]
KotlinじゃなくてJavaでググれば一発で出てくるよ

43 名前:デフォルトの名無しさん mailto:sage [2020/06/10(水) 02:14:58.25 ID:jMnmbCBs.net]
現在Androidアプリを作っています
アプリのアップデートがある場合、アプリ起動時にその旨を通知する仕組みを実装したいのですが下記記事の方法で可能でしょうか?
まだリリースはしてないため動作確認ができないので教えてほしいです

また、この機能の動作確認をするには製品版もしくはベータ版でオープン状態でストアに公開しないとダメですか?
アルファ版と内部テスト版は公開ストアからのダウンロードではなくダウンロード用URLからアプリを端末に落とす仕組みのようなので、、。

https://developer.android.com/guide/app-bundle/in-app-updates?hl=ja

44 名前:デフォルトの名無しさん [2020/06/11(木) 02:35:42.07 ID:JaXQwSJJ.net]
>>39
なるほど。

>>40
例えば java.time.LocalDate クラスを使うと曜日が分かる。
後は算数の問題だな。週が月曜日始まりの場合は日の値から曜日の値を引いて6足して7で割って1足すと第何週か分かる。
Kotlin だとこんな感じで一発で出せる。
val n = LocalDate.now().run { (dayOfMonth - dayOfWeek.value + 6) / 7 + 1 }
週が日曜日始まりの場合でもずらせばいいだけなので分かると思う。

45 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 17:57:33 ID:VnkliXLF.net]
ずらさんでいいようにしようよw

46 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 18:11:45.18 ID:VnkliXLF.net]
勘違いしてた
なってるか

47 名前:デフォルトの名無しさん [2020/06/12(金) 00:27:32 ID:Kaf1DLZ6.net]
さっき気づいたこと。

""" で括るとどんな文字でもそのままになると思い込んでいたが、 $x みたいに変数埋め込みは効いていた。
"""$""" とか """$$""" みたいなのは大丈夫だが """$x""" みたいにすると変数 x の内容がそこに展開されるか、
または変数が宣言されていないならコンパイルエラーだ。じゃあ本当に文字列として """ の内側で $x と出したい
場合はどうするのか? もちろん """\$x""" は \ の効き目がないのでダメ。("\$x" で良いのは分かっているが、
""" で括られた長い長いエスケープを無視したい文字列の中の一部だけが $x になっていた場合に使いたい)。

散々色々やってみて """${'$'}x""" と """${"$"}x""" と """$${""}x""" と """${"\$x"}""" でやっと $x になった
のだが、もうちょっと見易い方法ないものか?

あ、もう一つあった。 val x = "\$x" とやっておいてから val s = """$x""" とする方法。しかしこれだと x を他の
事に使えない。

48 名前:デフォルトの名無しさん [2020/06/12(金) 00:35:45.67 ID:Kaf1DLZ6.net]
同じ事書いてる人が既にいた。
https://www.yo1000.com/kotlin-heredoc-escape

49 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 01:36:09.75 ID:su7sNT78.net]
>>46
同感。
$が有効なraw stringはそれなりに便利なので
$無効なraw stringと両方あればよかったのにと思う。

50 名前:デフォルトの名無しさん mailto:sage [2020/06/20(土) 12:33:39.14 ID:tLA+K13d.net]
変数宣言時の型後書きが激しく気持ち悪いけど、なれてきたらこれはこれでありかなって、この前豆腐ヨウ食べながらそんなことを思った。



51 名前:デフォルトの名無しさん mailto:sage [2020/06/20(土) 14:03:24.20 ID:zwBEwaPL.net]
昔からPascal系やBasic系は型後置なんだからどちらが流行った時期にプログラミングを習得したかの差でしかないやろ
型推論がある言語なら
var v
var i: Int
のように省略可能な方を後に書き足すのは一貫性があって適していると思う

52 名前:デフォルトの名無しさん mailto:sage [2020/06/20(土) 15:27:49.66 ID:JeszpXBy.net]
省略可なのに書かないと気持ち悪い

53 名前:デフォルトの名無しさん mailto:age [2020/06/20(土) 15:30:42.17 ID:C+yLxgcn.net]
Android Studioなら推論された型を表示させる機能好き

54 名前:デフォルトの名無しさん [2020/06/20(土) 23:47:18.56 ID:+7UFHvJ6.net]
>>51
しかし段々と快感に

55 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 01:05:03.79 ID:tsiNgl4R.net]
floatじゃなくてintに変更しよう!
と思ったら既にintだった

56 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 05:45:15.17 ID:V7E9tL91.net]
>>49
新しく言語を始めた時の違和感は強烈だけど結局は慣れの問題。
>>51
Javaのvarでも、使って型を省略できる場面でも省略しない方がいいこともあるって公式見解があって
たとえば>>54のようなケースは省略しないことが推奨されている。

57 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 09:14:33 ID:DCUagNbF.net]
>>51
わかる。
後から見返したとき、結局型なんやねん!?ってなる。
プログラムの可読性の観点から省略しない方がいいと思うんやけどなー。

58 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 11:10:08.30 ID:tsiNgl4R.net]
小数点以下を消したりf消すだけで勝手に変わるからね

59 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 21:19:00.59 ID:EVBfRnLN.net]
なんかメディアに登場してて興奮した
https://www3.nhk.or.jp/shutoken-news/20200623/1000050496.html
画面右側

60 名前:デフォルトの名無しさん [2020/06/23(火) 21:34:21 ID:5POR+uA5.net]
>>58
え?これ?

https://i.imgur.com/Gq4hZGA.png



61 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 22:36:31.25 ID:UicElvK7.net]
>>59
ざまりんちゃんってスレチじゃねえか!>>58

62 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 10:42:37.73 ID:l/oN1z1j.net]
このスレでもすっかり人気者ですね

63 名前:デフォルトの名無しさん [2020/06/24(水) 21:47:23.43 ID:kW+E8aQE.net]
座間のゆるきゃらか。

座間と言えば座間9遺体事件のあった所だな。

64 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 21:50:15.79 ID:GiTbKjWf.net]
座間といえばひまわり畑だろ

65 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 22:18:03 ID:cNRckdT9.net]
ひまわりちゃんならゆるす

66 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 14:43:48.63 ID:eCZ5+gte.net]
viewModelでLiveData書くときいちいち
private val _liveData = MutableLiveData<Unit>()
val liveData: LiveData<Unit> = _liveData
するの面倒臭いんですけどMutableLiveDataをそのまま公開していいよね
MVVM的にはviewからviewModelへの参照は良いわけだから別に
viewから書き換えられたっていいじゃない

67 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 16:15:15.83 ID:AQU4UGjn.net]
Readonly<This, Read> where This : Read {
fun asReadOnly(): Read
}

interface MutableList<E> : List<E>, Readonly<MutableList<E>, List<E>>

...あんま意味ないね

68 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:56:22.26 ID:TOspcwsI.net]
viewModelでcoroutine使うときviewModelScopeを使うじゃないですか
その通信処理をviewModelからその先のmodelクラスに移すと
そこにはviewModelScopeがないんですがどうしたらいいですか

69 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 20:18:15.02 ID:AGSha9JG.net]
染めそもそんな変なもん使わんわ

70 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 22:57:53.81 ID:gj0o7pXU.net]
移さなければいいんじゃないかな



71 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 17:46:24.81 ID:/Jl2bJji.net]
別のviewModelから同じ通信処理を実行したいとなったときにmodelで共通化したいじゃない

72 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 21:29:41.49 ID:/bVKxYKR.net]
Androidよく知らんけど、処理の実態だけ他に移してCoroutineの生成はViewModelに置いておくとかじゃだめなの

73 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 23:43:22.01 ID:L1te99rx.net]
android知らんならレスすんなよ

74 名前:デフォルトの名無しさん [2020/06/28(日) 00:30:03.47 ID:Shxo8sD9.net]
Androidでcoroutine使ってうれしいのはViewModelのライフサイクルに合わせて無効になった非同期処理を虐殺してくれるところだろ
Modelに移しちゃったらそれができなくなるやん

75 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 01:28:04.55 ID:L5Cpw8A4.net]
contextとconstructorがわからん、、、

76 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 02:22:21.40 ID:VdXbwnMJ.net]
viewModelScopeはviewModelの中のままで
中の関数だけsuspend funでmodelに移す感じですね

77 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 14:02:17.94 ID:0hqWLDMA.net]
Javaのサンプルプログラムではconstructorでcontextを何かやってるんだけど(main activityとviewを何か繋いでる?)
kotlinに置き換えたときは省略可能?
なんか書かなくても動いてしまって逆に不安
constructorで囲わずに変数宣言して代入もするなら不要?
contextを何かやろうと後回しにしてたとこコメントアウトしたまま、、、w

78 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 15:05:03.13 ID:VdXbwnMJ.net]
カスタムビューのコンストラクタ?

79 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 15:24:42.47 ID:0hqWLDMA.net]
いまやってるのはsurface viewのクラスです
その前は普通のviewクラスでonDrawの中で線を多数描いてたんだけど、このときはなんとなくconstructor書いてその中にcontextもありました
それをsurfaceviewに変更してたらconstructor周りでエラーが出て、鬱陶しいからコメントアウトして他触ってたら普通に動いてなんじゃそれwってなってます
viewクラスで書いてたプロジェクトに戻ってみると、constructorの関数?って言うのかな?が黄色の警告になってて、実は削除できる?と(試してないけど)
なんか余計にcontextが分からなくなったw
kotlinから始めたからプライマリとセカンダリに分かれて何がいいのかすらも理解してないですw

いったんjavaで修行しようかな?と思う
資料も多いし、何かコツ掴めるかもしれない
遠回りだけど

80 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 16:28:20.82 ID:h6Ozp34k.net]
>>74
context(文章の前後関係の繋がり、文脈)
constructor(建設者、建造方法、生産手続き)

例えが良くないかもしれないけどJavaでいうと
ViewはFlameに直接描画してるような感じで
surfaceViewはpanelに描画してからFlameに貼るイメージかな



81 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 16:50:28.61 ID:VdXbwnMJ.net]
SurfaceView継承して紺巣トラクタなしだと普通にエラーなるが

82 名前:デフォルトの名無しさん [2020/06/28(日) 17:16:02.82 ID:YhC9oGcZ.net]
>>80
AndroidのSurfaceViewの基礎
https://qiita.com/croquette0212/items/24dc2b6de3730e831aab

83 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 17:22:58.88 ID:YhC9oGcZ.net]
>>80
panelだけだとWindow表示出来ないからエラーなるよ
ガラスだけで枠が無かったら窓じゃないようなもん

84 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 22:28:58 ID:Shxo8sD9.net]
KotlinでAndroidのViewを継承するならプライマリとセカンダリコンストラクタは必須だろ
でも特別なことやるわけじゃなければ、init{}にViewのインスタンス初期化時の処理を書いて、
あとこの三行コピペするだけでいいからKotlinは楽ちんだ
constructor(context:Context):super(context) {}
constructor(context:Context,attrs:AttributeSet):super(context, attrs) {}
constructor(context:Context,attrs:AttributeSet,defStyleAttr:Int):super(context,attrs,defStyleAttr) {}

contextとかconstructorの理解は後でもいい
class の行には context 書くなよ

85 名前:デフォルトの名無しさん [2020/06/29(月) 14:51:01.90 ID:o17FnYvx.net]
同じ jar ファイルの中に入っている設定ファイル(要するに普通のファイル)を読む時は
クラスローダのインスタンスを取得してから getResourceAsStream() で InputStream の
インスタンス作って読み出すみたいなことをすると思うのだが、Kotlin ではこれは普通は
どうやっている?

まずクラスローダを取得するために Class クラスのインスタンスを取り出す必要があると
思うんだが、これをどのクラスにも属していない main() 関数でやろうとすると、たとえば
main.kt に main() があるとすると MainKt::class.java で良さそうだがコンパイル時に
unresolved reference でエラーになる。Class.forName("MainKt") ならできるが、
できれば文字列でやりたくない(ファイル名変更や他のファイルの関数にコピーされたら
コンパイルが通るのに意図した通りに動かない動かないプログラムになるから。せめて
コンパイルエラーで間違いが見つかるようになって欲しい)。

86 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 23:01:08.25 ID:g8mEh1IE.net]
くどい。素直にクラスで包め

87 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 23:11:12.20 ID:o17FnYvx.net]
それ以外に方法はないの?
ないならしょうがないが。

88 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 12:16:45 ID:FwIuBGzE.net]
あるいは少し反則気味に(this as java.lang.Object).getClass()みたいにするか

89 名前:デフォルトの名無しさん [2020/06/30(火) 15:25:08.90 ID:rhjTl/Wy.net]
>>87
それって this.javaClass なのではないか?

90 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 05:11:07.30 ID:AKcI9U0q.net]
firebaseのrealtimedatabaseで自分が開発したアプリからのみ
読み書きできるようにするにはどうしたら良いんでしょうか
userAgent的なものをコンソール画面のルールのところでチェックしたりできるんでしょうか



91 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 19:27:33 ID:AKcI9U0q.net]
ProgressDialogがdeprecatedですが
削除して全画面半透明viewの中心にProgressBar置くぐらいなら
ProgressBar使った方が良くないですか

92 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 19:34:26.43 ID:eF9wthZx.net]
>>90
そうだね、ProgressBar使った方がいいね(あげ足取り)

そうじゃなくて、
どんな場合でも画面の操作を一切受け付けなくする設計は素人の証、
だからProgressDialogみたいなものは使うんじゃねぇとgoogle様からの教えだ
黙って従いたまえよキミ

93 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 20:09:22.09 ID:a12KSEwv.net]
でも安全だよ?

94 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 05:47:16 ID:ulMiJXWd.net]
でも一切受け付けなくして待ちたいときあるよね

95 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 07:25:27.22 ID:ulMiJXWd.net]
ログイン画面でユーザー名とパスワードのEditTextと
ログインボタンしかUIがない場合に
ログインボタン押したあとProgressDialog出さずにどうするつもりなん
通信結果が返ってくるまで全部のUIのvisibilityをgoneにでもするん
それが良いUI・UXなんですかねええ

96 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 09:16:47.94 ID:MnuZDw2f.net]
非推奨のものを意地でも使おうとする意味がよくわからん

97 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 11:47:46.08 ID:AcKKXw8x.net]
むしろ非推奨にしてる意味がわからんから

98 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 11:54:29 ID:5Xusq7Sp.net]
>>96
言語仕様に論理的な正しさを求めてはダメだろう。

99 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 12:12:47.93 ID:SlMExULc.net]
非推奨の理由はJavaDocに書いてある
日本人は安心安全安価に異様に執着するから使いたい気持ちは分かる
米国人は自由が大好きだから戻るボタンとかが押せなくなると訴訟か銃撃
開発者にとって便利なシーンがあったとしても、安易に多用されることでOS全体がダサくて使いにくいとエンドユーザーに判断されるとブランドイメージにも悪い

100 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 17:18:28.92 ID:wDUyJN1f.net]
> 戻るボタンとかが押せなくなると訴訟か銃撃
まじか・・過激だな米国人は








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef