最新記事

Android M 権限: onRequestPermissionsResult() が呼び出されない 質問する
java
android
permissions
android-permissions

Android M 権限: onRequestPermissionsResult() が呼び出されない 質問する

新しい M ランタイム権限システムを使用するようにアプリを更新しています。onRequestPermissionsResult() 以外はすべて機能しています。ボタンが押されたときに権限をチェックし、成功した場合はテキスト メッセージを送信する必要があります。権限を付与するとダイアログが閉じますが、ボタンをもう一度押すまでテキストの送信はトリガーされません。 onRequestPermissionsResult() メソッドをデバッグしてブレークポイントを設定しましたが、ブレークポイントが実行されません。 このメソッドが最初に呼び出されます: private void askForPermission() { String[] permissions = new String[]{Manifest.permission.SEND_SMS}; ActivityCompat.requestPermissions(getActivity(), permissions, PERMISSIONS_CODE); } そして、コールバックは次のようになります。 @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PERMISSIONS_CODE) { for (int i = 0; i < permissions.length; i++) { String permission = permissions[i]; int grantResult = grantResults[i]; if (permission.equals(Manifest.permission.SEND_SMS)) { if (grantResult == PackageManager.PERMISSION_GRANTED) { onPPSButtonPress(); } else { requestPermissions(new String[]{Manifest.permission.SEND_SMS}, PERMISSIONS_CODE); } } } } } 同様の問題に遭遇した人はいますか?これについて助けていただければ幸いです。ありがとうございます

Admin

Java SE/EE/MEの違いは?質問する
java
jakarta-ee
java-me

Java SE/EE/MEの違いは?質問する

この質問の答えはコミュニティの努力 既存の回答を編集してこの投稿を改善してください。現在、新しい回答ややり取りは受け付けていません。 Java の学習を始めるには、どれをインストールすればよいでしょうか? 基本的なことから始めるので、ファイルやディレクトリを作成したり、XML ファイルを編集したりする簡単なプログラムを作成します。今のところ、それほど複雑なものではありません。 Windows 7 デスクトップにインストールする必要があるのは Java SE (Standard Edition) だと思います。Java コードの記述に使用する Komodo IDE はすでに持っています。

Admin

期限切れのキーを持つ Java 時間ベースのマップ/キャッシュ [closed] 質問する
java
caching
dictionary

期限切れのキーを持つ Java 時間ベースのマップ/キャッシュ [closed] 質問する

終了しました。 この質問は、ソフトウェアライブラリ、チュートリアル、ツール、書籍、その他のオフサイトリソースの推奨事項を求めています。 Stack Overflow ガイドライン 現在回答を受け付けておりません。 ソフトウェア ライブラリ、チュートリアル、ツール、書籍、その他のオフサイト リソースの推奨を求める質問は許可されません。質問を編集して、事実と引用で回答できるようにすることができます。 6年前に閉鎖されました。 この投稿は1 年前に編集され、レビューのために送信されましたが、投稿を再開できませんでした。 元のクローズ理由は解決されませんでした この質問を改善する 指定されたタイムアウト後にエントリを自動的に消去する Java Map または同様の標準データ ストアをご存知の方はいらっしゃいますか? これは、期限切れの古いエントリが自動的に「古くなる」ことを意味します。 私はその機能を自分で実装する方法を知っており、過去に何度か実行したことがあるので、その点に関するアドバイスを求めているのではなく、適切なリファレンス実装への指針を求めています。 弱い参照次のようなソリューションに基づく弱いハッシュマップオプションではありません。キーは非インターン文字列である可能性があり、ガベージ コレクターに依存しない構成可能なタイムアウトが必要なためです。 エキャッシュこれも外部構成ファイルが必要なので、頼りたくないオプションです。コードのみのソリューションを探しています。

Admin

アクセントを取り除き、文字列全体を通常の文字に変換する方法はありますか? 質問する
java
string
diacritics

アクセントを取り除き、文字列全体を通常の文字に変換する方法はありますか? 質問する

String.replaceAll()メソッドを使用して文字を 1 つずつ置き換える以外に、アクセントを取り除いて文字を規則的にするより良い方法はありますか? 例: 入力:orčpžsíáýd 出力:orcpzsiayd ロシア語のアルファベットや中国語のアルファベットのように、アクセント付きの文字をすべて含める必要はありません。

Admin

プロパティファイルからリストを読み取り、Springアノテーション@Valueでロードする 質問する
java
spring
spring-properties

プロパティファイルからリストを読み取り、Springアノテーション@Valueでロードする 質問する

ファイル内に値のリストを入れたい.properties、つまり: my.list.of.strings=ABC,CDE,EFG そして、それを自分のクラスに直接ロードするには、次のようにします。 @Value("${my.list.of.strings}") private List myList; 私の理解では、これを行う代わりに、Spring構成ファイルにそれを記述し、Bean参照としてロードします(間違っていたら訂正してください)。 ABC CDE EFG しかし、ファイルを使用してこれを行う方法はあるのでしょうか.properties? 追伸 可能であれば、カスタム コードなしでこれを実行したいと思います。

Admin

Spring Bootのコマンドラインからアクティブプロファイルと構成の場所を設定する 質問する
java
spring
spring-boot
yaml

Spring Bootのコマンドラインからアクティブプロファイルと構成の場所を設定する 質問する

Spring Boot アプリケーションがあります。 私のアプリケーションには開発、ステージング、本番の3つのプロファイルがあります。つまり、3つのファイルがあります。 アプリケーション開発.yml アプリケーションステージング.yml アプリケーションプロダクション.yml 私のapplication.ymlは 内にありますsrc/main/resources。 application.yml でアクティブ プロファイルを次のように設定しました: spring: profiles.active: development 他の 3 つのプロファイル固有の構成ファイルはC:\configフォルダー内に存在します。 私はEclipse用のGradleプラグインを使用しています。「 bootRun 」を実行しようとすると、EclipseのGradle構成でコマンドライン引数を次のように設定します。 -Dspring.profiles.active=staging -Dspring.config.location=C:\Config ただし、コマンド ライン プロパティは反映されず、アクティブ プロファイルは常に開発として設定されます (ファイルで言及したものapplications.yml)。また、C:\Configフォルダーではプロファイル固有の構成ファイルは検索されません。 何かが足りないような気がします。過去 2 日間、それを解明しようとしてきましたが、うまくいきませんでした。どんな助けでもいただければ幸いです。

Admin

プライベートメソッドを公開して単体テストを行うのは良い考えでしょうか? 質問する
c#
java
unit-testing

プライベートメソッドを公開して単体テストを行うのは良い考えでしょうか? 質問する

モデレーター注: ここには既に 39 件の回答が投稿されています (削除されているものもあります)。回答を投稿する前に、議論に何か意味のあることを追加できるかどうかを検討してください。おそらく、他の誰かがすでに述べたことを繰り返しているだけでしょう。 時々、ユニット テストをいくつか記述するためだけに、クラス内のプライベート メソッドをパブリックにする必要があることに気が付きます。 通常、これはメソッドにクラス内の他のメソッド間で共有されるロジックが含まれており、ロジックを単独でテストする方が整理されているためです。または、スレッドの問題を心配せずに同期スレッドで使用されるロジックをテストしたいという別の理由も考えられます。 私があまりやりたくないから、他の人もこれをやっているのでしょうか?? 個人的には、クラス外で実際には何のサービスも提供しないメソッドを公開することによる問題よりも、メリットのほうが大きいと思います... アップデート 皆さん、回答ありがとうございます。皆さんの興味をそそったようです。テストはパブリック API 経由で行うべきというのが一般的なコンセンサスだと思います。これがクラスが使用される唯一の方法だからです。私もこれに同意します。私が上で述べた、これを実行するいくつかのケースは珍しいケースでしたが、それを実行することのメリットは価値があると思いました。 しかし、そんなことは絶対に起こってはならないという皆さんの意見も理解できます。そして、もう少し考えてみると、テストに対応するためにコードを変更するのは悪い考えだと思います。結局のところ、テストはある意味ではサポート ツールであり、いわゆる「サポート ツールをサポートする」ためにシステムを変更するのは明らかに悪い習慣です。

Admin

MacからJava 8 JDKを削除する 質問する
java
macos
intellij-idea
java-8

MacからJava 8 JDKを削除する 質問する

そこで、少し前に JDK 8 のベータ版をインストールして、いくつかの例を見てみました。今ではバージョン間の変更は簡単になっているはずだと思いました。 IntelliJ で Play 開発を行っています。何らかの理由で、IntelliJ は 8 でコンパイルされます: 環境設定でコンパイラを1.6に設定しています 外部ビルドでSBTを使用していると思われますが、コマンドラインからのsbtは動作します JAVA_HOME は JDK 6 を指しています。 Java 設定ページにアクセスすると、8 がインストールされていることが示されますが、アンインストールするオプションはなく、他のバージョンは表示されません。 を実行するとwhich java、次のように表示され/usr/bin/java、実行する/usr/bin/java -versionと 1.6 が返されます。 注: 少しいじれば、IntelliJとJDK7が使えるようになります。ここ。

Admin