Kotlin 7

■ このスレッドは過去ログ倉庫に格納されています
2020/05/06(水) 16:00:38.76ID:LXTBA+hx
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 6
https://mevius.5ch.net/test/read.cgi/tech/1561186797/
81デフォルトの名無しさん
垢版 |
2020/06/28(日) 17:16:02.82ID:YhC9oGcZ
>>80
AndroidのSurfaceViewの基礎
https://qiita.com/croquette0212/items/24dc2b6de3730e831aab
2020/06/28(日) 17:22:58.88ID:YhC9oGcZ
>>80
panelだけだとWindow表示出来ないからエラーなるよ
ガラスだけで枠が無かったら窓じゃないようなもん
2020/06/28(日) 22:28:58.13ID:Shxo8sD9
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 書くなよ
84デフォルトの名無しさん
垢版 |
2020/06/29(月) 14:51:01.90ID:o17FnYvx
同じ jar ファイルの中に入っている設定ファイル(要するに普通のファイル)を読む時は
クラスローダのインスタンスを取得してから getResourceAsStream() で InputStream の
インスタンス作って読み出すみたいなことをすると思うのだが、Kotlin ではこれは普通は
どうやっている?

まずクラスローダを取得するために Class クラスのインスタンスを取り出す必要があると
思うんだが、これをどのクラスにも属していない main() 関数でやろうとすると、たとえば
main.kt に main() があるとすると MainKt::class.java で良さそうだがコンパイル時に
unresolved reference でエラーになる。Class.forName("MainKt") ならできるが、
できれば文字列でやりたくない(ファイル名変更や他のファイルの関数にコピーされたら
コンパイルが通るのに意図した通りに動かない動かないプログラムになるから。せめて
コンパイルエラーで間違いが見つかるようになって欲しい)。
2020/06/29(月) 23:01:08.25ID:g8mEh1IE
くどい。素直にクラスで包め
2020/06/29(月) 23:11:12.20ID:o17FnYvx
それ以外に方法はないの?
ないならしょうがないが。
2020/06/30(火) 12:16:45.36ID:FwIuBGzE
あるいは少し反則気味に(this as java.lang.Object).getClass()みたいにするか
88デフォルトの名無しさん
垢版 |
2020/06/30(火) 15:25:08.90ID:rhjTl/Wy
>>87
それって this.javaClass なのではないか?
2020/07/01(水) 05:11:07.30ID:AKcI9U0q
firebaseのrealtimedatabaseで自分が開発したアプリからのみ
読み書きできるようにするにはどうしたら良いんでしょうか
userAgent的なものをコンソール画面のルールのところでチェックしたりできるんでしょうか
2020/07/01(水) 19:27:33.58ID:AKcI9U0q
ProgressDialogがdeprecatedですが
削除して全画面半透明viewの中心にProgressBar置くぐらいなら
ProgressBar使った方が良くないですか
2020/07/01(水) 19:34:26.43ID:eF9wthZx
>>90
そうだね、ProgressBar使った方がいいね(あげ足取り)

そうじゃなくて、
どんな場合でも画面の操作を一切受け付けなくする設計は素人の証、
だからProgressDialogみたいなものは使うんじゃねぇとgoogle様からの教えだ
黙って従いたまえよキミ
2020/07/01(水) 20:09:22.09ID:a12KSEwv
でも安全だよ?
2020/07/02(木) 05:47:16.94ID:ulMiJXWd
でも一切受け付けなくして待ちたいときあるよね
2020/07/02(木) 07:25:27.22ID:ulMiJXWd
ログイン画面でユーザー名とパスワードのEditTextと
ログインボタンしかUIがない場合に
ログインボタン押したあとProgressDialog出さずにどうするつもりなん
通信結果が返ってくるまで全部のUIのvisibilityをgoneにでもするん
それが良いUI・UXなんですかねええ
2020/07/02(木) 09:16:47.94ID:MnuZDw2f
非推奨のものを意地でも使おうとする意味がよくわからん
2020/07/02(木) 11:47:46.08ID:AcKKXw8x
むしろ非推奨にしてる意味がわからんから
2020/07/02(木) 11:54:29.76ID:5Xusq7Sp
>>96
言語仕様に論理的な正しさを求めてはダメだろう。
2020/07/02(木) 12:12:47.93ID:SlMExULc
非推奨の理由はJavaDocに書いてある
日本人は安心安全安価に異様に執着するから使いたい気持ちは分かる
米国人は自由が大好きだから戻るボタンとかが押せなくなると訴訟か銃撃
開発者にとって便利なシーンがあったとしても、安易に多用されることでOS全体がダサくて使いにくいとエンドユーザーに判断されるとブランドイメージにも悪い
2020/07/02(木) 17:18:28.92ID:wDUyJN1f
> 戻るボタンとかが押せなくなると訴訟か銃撃
まじか・・過激だな米国人は
2020/07/02(木) 18:34:20.74ID:bZhoxtgp
ログインしたけど、あーやっぱやーめた
戻ろっと、て、アレ?戻れねーじゃん、クソが!
2020/07/02(木) 19:26:28.90ID:UQCWo3pR
OpenGLと加速度センサー使った玉転がしかなんかのサンプルってないかな?
surfaceViewしか見つからない
2020/07/02(木) 19:58:07.16ID:EzfTqGB2
玉ころがしとはエロいな
2020/07/02(木) 21:25:16.04ID:FLhxmghE
てかたかだかログイン如きでRrogressdialog使うことなんてあるか?w
2020/07/02(木) 21:38:42.40ID:ulMiJXWd
銀行系のアプリ開くと全画面半透明に中央グルグルなるな
2020/07/02(木) 23:00:33.69ID:A8gH83ew
ここの奴らってJavaから入った口か?
いきなりコトリンマンって案外少ないよな
2020/07/03(金) 00:00:17.92ID:vP0l+9Os
いきコトだからjavaも同時進行で学んでる
javaは見て何してるか分かればいいって考えでとりあえずkotlin化してる
ちなみに変換は使わない、無駄にnullまみれになるから
2020/07/03(金) 00:06:46.00ID:vP0l+9Os
OpenGLはRendererに値送りたいんだけど継承がGLSurface View.RendererでViewじゃないからcontextが渡せない
だからセンサーの値が届かない
2020/07/03(金) 05:46:43.96ID:p8ISefzH
>>107
どっちもインターフェースかな?
KotlinじゃないJavaですが
//GLアクティビティクラス作って
public class MyGLactivity extends Activity implements GLSurfaceView.Renderer{}

//センサー付きリスナーからメインを更新させて
public class MyAccelListener implements SensorEventListener{
public MyAccelListener(MainView view){MainView=view;}
public void onSensorChanged (SensorEvent event){mainView.invalidate();}
}

//メイン
public class MainView extends View
{
MyGLactivity activity;
//コンストラクタ
public MainView (Context context)
{
activity = (MyGLactivity)context;//キャストしたらダメかな?
}
protected void onDraw(Canvas canvas)
{

MyAccelListener listener = activity.getMyAccelListener();

}
2020/07/03(金) 06:28:34.63ID:vP0l+9Os
>>108
ありがと
頑張ってkotlin化してみます
2020/07/03(金) 09:25:49.82ID:uNjU4ACR
gpsの後進タイミングって何秒くらいが推奨なんですかね
2020/07/03(金) 15:19:52.63ID:/+uSoVK/
>>110
60fpsには対応してるだろうから
1000÷60= 16.66666666666667ミリ秒
2020/07/03(金) 20:18:19.54ID:nJYArvJj
そんな早くてバッテリー消費問題ないんでしょうか
2020/07/03(金) 20:28:37.63ID:0RfpkPOi
実測したらいいんじゃないんですかね
2020/07/03(金) 20:31:45.18ID:nJYArvJj
わからないならレスしないでくださいうざいだけです
2020/07/03(金) 23:20:29.35ID:8QUz9sdR
>>112
バッテリーの消費は実験してみないとわからないんじゃないかな?
滑らかさとのトレードオフだと思うけど
映画並みの24コマまで落としても良いんじゃない?または倍の48とか
電子ペーパーでもない限り気にしなくて良いんじゃないですか?
一昔前は30fpsが普通だったし、
ゲームなら120とか144とかあるし、なんとも
最近の1000fpsプロジェクター並みでなくても良いでしょう?
2020/07/03(金) 23:55:37.18ID:zEGBQA4b
16.67ミリ秒はジョークかと思って見てたがマジだったんか

小文字と”後進”で何か他の用語だと思ってるみたいだけど
Global Positioning SytemのGPSのことだと思うぞ
2020/07/04(土) 00:08:10.73ID:6k6IaQvA
どうもおかしいと思ったらそうかGPSロガーね
んじゃ1Hzから10Hzの製品があるからそれで
2020/07/04(土) 00:54:52.30ID:+bmFKfmX
役に立たないクズばかり
2020/07/04(土) 01:32:25.11ID:D+qkQPx7
Kotlin関係ないしな
2020/07/04(土) 05:26:38.71ID:b24EOlvX
地図の縮尺や想定する端末の移動速度にもよるからな
2020/07/04(土) 12:12:20.99ID:LEDuzYUZ
自分で調べることもできない時点で向いてないよキミ
挙句5ちゃんで質問して逆ギレとかアホすぎかと
2020/07/04(土) 12:13:46.08ID:xxQcNpXl
言語とAPIと開発環境はそれぞれ別物だよね。
初心者には区別がつきにくいだろうけど、混乱を助長するような書籍は害悪。
2020/07/06(月) 00:17:47.24ID:ADv1sI7y
この本は俺に理解できないから混乱を助長している
124あはーん
垢版 |
2020/07/07(火) 18:21:40.25ID:v+6s5ql8
あはーん
125デフォルトの名無しさん
垢版 |
2020/07/07(火) 18:33:18.94ID:e1WbjzO/
この本って?
2020/07/07(火) 22:04:35.66ID:VydMzePW
>>125
この本=混乱を助長するような書籍
特定の本を指してはいない。
>>123は、>>122が自身の理解力が足りないことを書籍のせいにしていると
決めつけて揶揄したいだけ。
2020/07/08(水) 15:19:31.26ID:2mocGHPx
唐突かつ広範な主張
マウントスタート
主観的な理由
地に足のつかない結論

わずかな文章に愚かさが詰め込まれていて揶揄せずにおれない
2020/07/08(水) 23:11:44.22ID:i2MlnrFX
はじめてthreadに手を出したのですが↓こんな感じでおけ?

thread{}で囲った中身を別スレッドに放り投げて
その中身の処理が途中だろうと、完了しようと気にせず
UIスレッドの流れが継続していく

別スレッドに投げた処理が終わるまで待つみたいな方法あります?
いま使ってる例題ではsleepで待ってて、その無駄に長い時間の中でスレッド処理を待ってるみたいなので
2020/07/08(水) 23:41:51.53ID:NVZFXRh+
コールバック
2020/07/09(木) 00:39:56.84ID:0T+HUGb0
ありがと
threadだけ調べたくてもcoroutineが出てきて情報量に混乱してました
2020/07/09(木) 01:43:00.45ID:LG+3kSUn
>>128
例題と記載ありますが何かの本で勉強してますか?
2020/07/09(木) 05:56:52.89ID:0T+HUGb0
本もネットも使ってます
やさしいkotlin入門という名前から想像できない文字だらけの本wとネットを参考にスレッドの勉強してます

thread{
for文1
for文2
}
sleep(1000)



for文{
thread1{}
thread2{}
}
sleep(1000)

を試すくらいのことしかまだできてないです
sleep(1)と短くしたら出力が変なことなりましてw
133デフォルトの名無しさん
垢版 |
2020/07/09(木) 09:27:26.30ID:vrNDocOm
joinでも待てる?
2020/07/09(木) 11:44:03.74ID:DLLEuHaF
joyでなら待ってるぜ
135デフォルトの名無しさん
垢版 |
2020/07/09(木) 12:24:35.47ID:4NYFt4sg
>>134
氏ね
136デフォルトの名無しさん
垢版 |
2020/07/09(木) 12:35:39.58ID:DLLEuHaF
>>135
結合でも待てる?って誘われてるのかと
2020/07/09(木) 19:25:08.95ID:vZ/o15d/
Kotlin最強すぎないか?
これもはや派遣社員取ったろ
2020/07/09(木) 19:25:25.49ID:vZ/o15d/
派遣社員ではなく覇権の間違いです
139デフォルトの名無しさん
垢版 |
2020/07/09(木) 23:24:02.22ID:1tGjzBmd
1.4-M3
140デフォルトの名無しさん
垢版 |
2020/07/10(金) 11:38:29.99ID:g0Z+ZvbJ
日頃どんなことを入力しているのかが何となく分かった。
2020/07/10(金) 21:28:55.09ID:w97MfSEx
>>140
kwsk
2020/07/10(金) 22:18:02.16ID:Ej4pI5WX
>>141
ガイジ
2020/07/11(土) 10:13:38.72ID:VzEHY2C8
結局KotlinのライブラリってJavaのライブラリってことでいいの?
例えばファイルの入出力とかは、書き方は変わるもののJavaのファイルIOを使えばいいの?
2020/07/11(土) 10:23:07.19ID:ojQODuiX
>>140
突然どうした?
2020/07/11(土) 11:02:53.91ID:n/S+GwYQ
>>143
そうだよ
Kotlinのライブラリは品質低いんで割り切って無視した方がいい
146デフォルトの名無しさん
垢版 |
2020/07/11(土) 16:24:45.94ID:feKeXoV6
普通の Kotlin (Kotlin JVM) の場合は Java のライブラリ、Kotlin Native は Native のライブラリ(JetBrain製?)、JavaScript にするやつは JavaScript のライブラリ。
その他、他の実行環境が出来たらその実行環境でのライブラリ。
2020/07/13(月) 09:48:50.93ID:fDIR05qm
javaよりkotlin選んでインポートしてる
148デフォルトの名無しさん
垢版 |
2020/07/22(水) 16:24:09.18ID:XxQgUTdc
どのプログラミング言語が使われているのか、JetBrainsが調査レポートを発表
https://www.atmarkit.co.jp/ait/articles/2007/14/news138.html
2020/07/22(水) 18:14:33.88ID:AakSpTOC
>JetBrainsが調査
怪しい
2020/07/22(水) 19:13:31.55ID:icfwM+LK
こんなのただのアンケートだからなサンプルが偏ってない保証もないし
たとえば
> 「オープンソースプロジェクトに貢献しているか」という質問に対し、
> 「貢献していないが、貢献したい」と答えた回答者が44%、
> 「数回しか貢献していない」が20%、
> 「時々貢献している(年数回)」が16%、
> 「定期的に貢献している(少なくとも月1回)」が11%、
> 「貢献していないし、貢献したくない」が4%
って書いてあると、なるほどみなオープンソースに貢献しようとしてるのかー
っていう印象になるけど、アンケートにこの選択肢あったとして普通に
最後選ぶやつおらんだろうし、普段ほとんどオープンソースにかかわりなく
正直かかわる予定もないやつがどれに入れるかっていうと一番上の選択肢
しかないっていう・・ほとんど誘導尋問みたいなもんだ
2020/07/22(水) 19:17:53.45ID:qWj4g8Z5
公平に統計を取る気があるなら本来この選択肢は
「貢献していない」
「数回程度貢献した」
「定期的に貢献している」
のように「気分の要素」を抜いた選択肢であるべきで
そうなるとおなじサンプルなのに「貢献していないが48%」
の結果がでるわけだ
ようするに、このアンケート自体が「何らかの意図を誘導
する目的でおこなわれている」のは明白なわけ
152デフォルトの名無しさん
垢版 |
2020/07/22(水) 20:09:32.32ID:XxQgUTdc
いや、それ以前の問題として、JetBrainsがアンケートをすれば当然JetBrainsが気に入っている人の回答が多くなる。
主にそういう人がJetBrainsのサイトを見ていて、そしてそこで見つけたアンケートに答えるわけだから。
なのでどんな質問にしようが偏って当然。Webでのアンケートはどこでやろうとも無作為にはならないからそういう偏りが出る。
この場合Kotlinが多めに出ている事はまず間違いないと思う。
2020/07/28(火) 21:06:47.94ID:sJUxEW2z
1.4がようやくRCまで来た。
2020/07/29(水) 00:03:15.87ID:EGWHpTAL
>>153
おめでとうございます!1.4の開発大変でしたか?
2020/07/29(水) 04:37:32.10ID:WMWtXzPZ
>>154
いや、RCになったとはいえ正式版リリースまでは開発に使わないことにしている。
2020/07/29(水) 10:03:51.57ID:v4pSWkDl
>>154
そうですね、Kotlin 1.4を開発することは我々にとって非常にタフなエクスペリエンスでした
しかし皆さんに必ず気に入っていただけると確信しています!
2020/07/29(水) 13:03:54.85ID:sJZR+BBb
>>156
お前には聞いてないwwww
2020/07/29(水) 14:14:15.61ID:MvKFAsvB
Kotlin 1.4-M3 公開: 標準ライブラリに関する変更
https://blog.jetbrains.com/ja/kotlin/2020/07/kotlin-1-4-m3-is-out-standard-library-changes-ja/

RCの記事も日本語訳期待
2020/07/29(水) 22:35:03.20ID:FRzV9We2
C#が、C++に取って代わらなかったように、kotlinも中途半端な存在になるんだろうな
2020/07/29(水) 22:53:33.24ID:VkDJG1SF
そもそもC++に対するC#ほどの存在感までにすら到達してねーぞKotlin
2020/07/29(水) 23:10:43.51ID:MLfjbhuP
書籍がjava並みに出たらね、、、
162デフォルトの名無しさん
垢版 |
2020/07/30(木) 02:41:58.93ID:l+t/gnGC
時間は掛かるかもな。まあでもそんなに爆発的に流行らんでも良いと思うが。
2020/07/30(木) 03:13:00.51ID:+HjSLtNW
普通にはやってるが
お前の職場がレベル低いだけだろ
2020/07/30(木) 03:24:16.82ID:1x/ITK+u
javaほど参考資料がないからNDKでC++使ったりしてる
わいのレベルが低いといわれたらそれまでだけど
2020/07/30(木) 03:46:42.80ID:h+N/x6i+
とりあえず、他言語のライブラリに寄生してる以上、better javaレベルでしかないからな現状..
マルチプラットホームが進んで標準ライブラリももっと豊富になれば..?
2020/07/30(木) 07:51:22.96ID:rZsKkQI3
残念だけど、もうbetter javaを超える成長はないと思うよ
既に流行が旬を過ぎてしまった
167デフォルトの名無しさん
垢版 |
2020/07/30(木) 08:59:23.65ID:l+t/gnGC
旬ねえ・・・
2020/07/30(木) 09:22:54.79ID:vri7Hhqh
Androidアプリ書くなら今はKotlinが普通と
その手の会社の人に聞いたがどうなんだろ
2020/07/30(木) 10:23:17.58ID:+dP0z8LR
新規でやるならJavaで書くより書きやすいから断然Kotlin選ぶよ
2020/07/30(木) 11:07:46.48ID:nd18Yh/+
>>168
新規ならkotlinでいいと思うよ
2020/07/30(木) 11:23:21.33ID:gjrzsa4h
Android StudioでkotlinソースファイルにJavaコードをコピペするとKotlinコードに自動変換してくれるので敷居は低い。
2020/07/30(木) 11:24:24.71ID:H+3zk8+o
intellijも貼り付けで変換されるよ
2020/07/30(木) 13:23:21.57ID:HYt/AHxu
>>171
×敷居が低い
○ハードルが低い
174デフォルトの名無しさん
垢版 |
2020/07/30(木) 13:34:25.21ID:gjrzsa4h
>>173
技術用語以外のカタカナ語はなるべく使わない方がいい。バカが詐欺師に見えるから。
175デフォルトの名無しさん
垢版 |
2020/07/30(木) 13:34:50.21ID:gjrzsa4h
失礼。
バカか詐欺師に見えるから。
2020/07/30(木) 14:01:31.09ID:w/yk6K7I
>>174
敷居が高いという日本語の誤用よりもカタカナ語の方がマシだと思う
誤用を気にする神経質なタイプの方がエンジニアとしては信用できる
専門用語ならカタカナの方が誤解が少ないことも多いし
177デフォルトの名無しさん
垢版 |
2020/07/30(木) 14:30:06.13ID:gjrzsa4h
なに言ってんの?
Kotlinファイルに節操なくJavaコードを貼り付ける不義理や面目のなさを感じずに済むのだから間違ってないよ。
2020/07/30(木) 14:32:45.70ID:SJZJ+nux
まあ次から気をつけてね
2020/07/30(木) 14:41:17.53ID:kz7NbiBG
誤用が定着してすでに新しい意味を含めて広辞苑にも載ってるにも関わらず、古い意味に固執して「俺は正しい」的な大局に無関係な主張する人間は間違いなく使えない

システムやソフトウェアの果たすべき目的よりも自分の考える正しさを押し付けるから、技術レベルがそれなりに高くても組織の邪魔になるのタイプ
2020/07/30(木) 15:01:11.04ID:CPOoBSss
新しいことを受け入れられない人がこの業界にいるなんて不思議だなあ
■ このスレッドは過去ログ倉庫に格納されています