質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

2回答

8009閲覧

startactivityforresultがdeprecatedになった対応法

sukkokudou0725

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

1クリップ

投稿2020/08/21 03:20

プログラミング初心者です。
java言語でandroidstudioでコーディングをしています。

startactivityforresultがdeprecatedになったことを受け、
これに代わる書き方を探しているのですが、
紹介されているページはKOTLINによるものしか見つけられませんでした。
(参考:https://buildersbox.corp-sansan.com/entry/2020/05/27/110000)

javaで対応するコードを教えていただけないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

手元に環境用意するのが面倒くさいという理由ではありますが, 検証なしでざっくりと Java へ直訳してみます.
たぶんこんな感じですかね...?

Java

1ActivityResultLauncher<Intent> startForResult = registerForActivityResult( 2 new ActivityResultContracts.StartActivityForResult(), 3 new ActivityResultCallback<ActivityResult> { 4 @Override 5 public void onActivityResult(ActivityResult result) { 6 if(result.resultCode == Activity.RESULT_OK) { 7 Intent data = result.data; 8 if(data != null) { 9 int value = data.getIntExtra(SubActivity.KEY_VALUE, 0); 10 Toast.makeText(this, value.toString(), Toast.LENGTH_LONG).show(); 11 } 12 } 13 } 14 } 15); 16startForResult.launch(SubActivity.createIntent(this));

投稿2020/08/21 21:39

kagilinn

総合スコア354

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sukkokudou0725

2020/08/22 09:04

早速のご返答、大変ありがとうございます。 初心者ゆえぱっと当てはめただけでは上手く動かないので、頂いたコードを少しずつ理解しながら活かしたいと思います!
guest

0

ベストアンサー

startActivityForResult()をDeprecatedとしたのは現在開発を進めているアルファ版のライブラリーでの話であり、安定版においてはまだ利用可能と思います。さらに、参考にしたページにある記述は、alpha04ではコンパイルが通りますが、alpha07では仕様が変わったようでコンパイルエラーになってしまいます。まだベータ版すらリリースされていない段階で、安定版に移行するには大分時間があると思いますし、それまでに再び仕様も変わるでしょう。現時点でのJavaの書き方を求めることに意味はないと思います。

投稿2020/08/21 14:52

編集2020/08/21 15:06
keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sukkokudou0725

2020/08/22 09:06

ご回答大変ありがとうございます。 そういった背景があること、大変勉強になりました。 安心しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問