JAVA関連のことを調べてみた

JAVA関連のことを調べてみた

[Android その4] Androidのアプリケーションの基本開発

# Intentの実装
Intentは、Androidアプリケーション内で操作やデータを他のアプリケーションやアクティビティに送信するためのメカニズムです。Intentを使うことで、異なるコンポーネント(アクティビティ、サービス、ブロードキャストレシーバーなど)の間で情報をやり取りしたり、特定のアクションを開始したりすることができます。

__Intentには大きく2種類あります__ :
1\. 明示的Intent:
* 特定のアクティビティやコンポーネントを直接呼び出すために使用します。
* 例:現在のアクティビティから別のアクティビティを開始する。

2\. 暗黙的Intent:
* アクションの内容を指定し、それを実行できるコンポーネントをAndroidシステムが選択します。
* 例:写真を撮るアプリや、電話をかけるアプリを起動する。

# メモリアプリへのIntent追加
## 明示的Intent
例えば、メモアプリで新しいメモを追加する際に別のアクティビティを開く場合に、Intentを使用できます。これにより、メインアクティビティから新しいアクティビティへデータを渡すことがで

元記事を表示

10/3に『Javaエンジニアのためのソフトウェアテスト実践入門』を出版します(+同内容Udemyコースのお知らせ)

### 自己紹介

皆さん、こんにちは、Udemy講師の斉藤賢哉です。私はこれまで、25年以上に渡って企業システムの開発に携わってきました。特にアーキテクトとして、ミッションクリティカルなシステムの技術設計や、Javaフレームワーク開発などの豊富な経験を有しています。様々なセミナーでの登壇や雑誌への技術記事寄稿の実績があり、また[「アプリケーションアーキテクチャ設計パターン」](https://amzn.asia/d/9avaCyF)といった書籍も執筆しています。

### ソフトウェアテストに関する書籍を出版します

今般、技術評論社様から『Javaエンジニアのためのソフトウェアテスト実践入門』~自動化と生成AIによるモダンなテスト技法~を出版することとなりました。発売日は10/3ですが、Amazonでは先行予約が開始されています。

表紙は最終調整中ですが、こんな風になる見込みです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

IntelliJ IDEAでインポートをワイルドカードにまとめる設定を避けるべき理由とメリットについて

IntelliJ IDEAでは、インポートをワイルドカードにまとめる設定がある。

設定のやり方は
[IntelliJのリファレンスへGO](https://www.jetbrains.com/help/idea/creating-and-optimizing-imports.html)

先日、OSSのコミッターを行っている際にレビューで指摘されて、プライベートのPCでワイルドカードインポート設定になってしまっていたため、

下記にIntelliJ IDEAの
***【インポートをワイルドカードにまとめる設定】***
について、自分が思う避けるべき理由とメリットを記載しようと思う。

## ワイルドカードインポートを避けるべき理由

### 読みやすさの低下
ワイルドカードを使用すると、どのクラスが実際に使用されているのかが不明確になる。
特に大規模なコードベースでは、同じ名前のクラスが異なるパッケージに存在する場合があり、どのクラスがインポートされているのかがわからず、混乱を招く可能性がある。

### 静的解析やコード補完の問題
IDEの静的解析やコード補完の機能は、明示的なイン

元記事を表示

インポートされたjavax.servletは見つかりませんというエラー

EclipseでSpringBootでjavaファイルに以下をインポートしようとしてもうまくいきません
“`
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
“`

gradle.buildに、以下を追記して
“`
dependencies {
implementation ‘org.springframework.boot:spring-boot-starter-web’
// javax.servletの依存関係を追加
providedCompile ‘javax.servlet:javax.servlet-api:4.0.1’
}
“`
以下のコマンドで、gradleをリフレッシュしても解決しません
“`
./gradlew build –refresh-dependencies
“`

どのようにすればインポートできますか

元記事を表示

Webエンジニア「Kotlin」を学ぶ

現在Webエンジニアとして受託企業で働いているものです。
この度、転職を機にAndroidアプリエンジニアへキャリアチェンジをすることになったため、備忘録としてKotlinの学習記録を残すために投稿しています。
この記事ではKotlinとはどのような言語なのかということについてまとめています。

# Kotlinとは何か?
JetBrains社によって開発されたモダンなプログラミング言語。
2017年にGoogleからAndroid開発の公式言語として採用されており、Android開発において非常に人気が高い言語になっている。
また、マルチプラットフォームをサポートしており、JVM, Android, JavaScript, ネイティブ向けのコードをコンパイルすることができる。そのため、1つのコードベースから複数のプラットフォームに対応したアプリケーションを構築することができる。

# Kotlinの持つ特徴
### 静的型付け言語
– コンパイル時に型がチェックされるため、型安全性が高く、実行時のエラーリスクが減少し、信頼性の高いコードを書くことができる
– 型推論により、型を省略す

元記事を表示

Nothing Phoneの背面についてるライトをいじれるSDKが公開されてたので試す【Glyph Interface】Glyph Developer Kit

NothingPhoneの背面に無駄に搭載されているライト「Glyph Interface」をいじれるSDKが公開されていることを今日知りました

https://jp.nothing.tech/pages/glyph-developer-kit

https://github.com/Nothing-Developer-Programme/Glyph-Developer-Kit

Phone(2a)をメインで使用しているので試してみます

## 今回作ったもの

https://github.com/SousiOmine/GlyphInterfaceExample

## 環境
– Windows11 64bit 23H2
– Android Studio Koala Feature Drop 2024.1.2
– Nothing Phone(2a) 国内版
– Nothing OS 2.6

## セットアップ
プロジェクトはEmptyViewsActivityテンプレートから言語をJavaに、MinimumSDKはNothingPhone以外サポートする必要がないので、API31

元記事を表示

Javaのメモ(struts)

## はじめに
StrutsとSpringの連携とかがあるようです。

## struts-config.xml
“`struts-config.xml




“`
`struts-config.xml` ファイルの記載に関する説明をします。

まず、`struts-config.xml` は、Struts フレームワークの設定ファイルで、リクエストに対するアクションやビューへのフォワー

元記事を表示

Java Gold メソッド逆引き早見表 Stream型を返すメソッド

### Stream型を返すメソッド

| メソッド名 | 宣言されたクラス・インターフェイス | 戻り値の型(Stream) | メソッドの動作 | 引数 |
|————|—————————–|———————-|—————–|——|
| `Stream.of(T… values)` | `Stream` | `Stream` | 可変長引数で指定した要素を含む Stream を返す | `T… values` |
| `Arrays.stream(T[] array)` | `Arrays` | `Stream` | 配列から Stream を生成する | `T[] array` |
| `Collection.stream()` | `Collection` | `Stream` | コレクションから Stream を生成する | なし |
| `Collection.parallelStream()` | `Collection` |

元記事を表示

Java Gold メソッド逆引き早見表 Optional型を返すメソッド

Optional型を返すメソッド一覧

| メソッド名 | 宣言されたクラス・インターフェイス | 戻り値の型 | メソッドの動作 |
|————|—————————–|————–|—————–|
| `Optional.of(T value)` | `Optional` | `Optional` | 指定した非 `null` 値を持つ `Optional` を返す。`null` 値が指定されると `NullPointerException` がスローされる。 |
| `Optional.ofNullable(T value)` | `Optional` | `Optional` | 指定した値が `null` でない場合はその値を持つ `Optional` を返し、`null` の場合は空の `Optional` を返す。 |
| `Optional.empty()` | `Optional` | `Optional` | 空の `Optional` を返す。 |

元記事を表示

Java Gold 例題 比較演算

# 問1

次の配列を比較する式`insert code`に適切なコードを書いてください。
ただし、配列の要素が同じ場合、`true`を返してください。
“`java
int[] numA = {1, 2, 3};
int[] numB = {1, 2, 3};
boolean isSameArrays = /* insert code */
“`

解答

“`java
Arrays.equals(numA, numB);
“`
配列同士の比較で`==`または`numA.equals(numB)`の使用は、配列の中身ではなく参照の比較となり、`false`を返します。
予期せぬ結果を招く可能性があるので、あえて参照の等価性を比較する場合を除き、使うべきではありません。

:::note
[`JEXP02-J. 配列の中身を比較するには2引数の Arrays.equals() メソッドを使う`](https://www.jpcert.or.jp/java-rules/exp02-j.html)
:::

元記事を表示

Java Gold メソッド逆引き早見表 Collection Map 返し値

# 主要メソッド

| メソッド名 | 宣言されたインターフェイスおよびクラス名 | 引数の型 | 戻り値の型 | 要素が空の場合の動作 |
|—————————|——————————————|————————–|———————–|————————————–|
| `add(E e)` | `Collection` | `E` | `boolean` | `false`を返す(失敗時)、例外を投げる可能性あり |
| `remove(Object o)` | `Collection`

元記事を表示

Java Gold 例題集 ローカライズとフォーマット

次の問題の出力結果を答えてください

# 問題 Locale設定

“`java
import java.util.Locale;

public class Main {
public static void main(String[] args) {
Locale locale = new Locale(“ja”, “JP”);
System.out.println(locale.getDisplayCountry(Locale.US));
}
}
“`

解答
Japan

このコードは、`Locale`オブジェクトを使用して日本の国名を英語で表示します。`Locale.US`を指定することで、表示が英語になります。

# 問題 数値のフォーマット

“`java
import java.text.NumberFormat;
import java.util.Locale;

publ

元記事を表示

(調査中)Java。keytoolコマンド

#### キーストアの内容を確認

“`bash
keytool -list -v -keystore <キーストアファイル名>
““

#### -rfc オプションを使用する

“`bash
keytool -list -rfc -keystore <キーストアファイル名> -alias <エイリアス名>
“`

元記事を表示

Javaのstrutsメモ

## はじめに
Javaでの実装経験はありませんが、Javaの案件に入るとstrutsばかりに出くわします。
いいかげんにして欲しいのですが、メモとして記載します。

## jspでhtmlタグやlogicタグ、name、property
StrutsのJSPで使用される`html`タグや`logic`タグ、`name`や`property`属性は、Strutsフレームワークのタグライブラリを用いて、JSPで効率的にデータを扱うためのものです。これにより、JSPでビジネスロジックを直接書くのではなく、MVC(Model-View-Controller)の設計パターンに従って、コードを整理して記述することができます。

### 1. `html`タグ
`html`タグライブラリは、HTMLフォーム要素を簡単に生成するために使用されます。例えば、フォーム、テキストボックス、ラジオボタン、チェックボックスなどのフォーム入力要素を作成するのに使用されます。

– **例:**
“`jsp

元記事を表示

Java Gold 例題 ジェネリクス

次のコードについて、正しい選択肢を選んでください

“`java
HashSet set = new HashSet<>() {{
add((short)0);
add((short)1);
add((short)2);
}};

for(short i = 1; i <= 3; i++) { set.remove(i - 1); } System.out.println(set); ``` 1. [0, 1, 2]が出力される 1. 何も出力されない 1. []が出力される 1. コンパイルエラー 1. 実行時エラー

解答

正解: 1
“`
[0, 1, 2]
“`

{}の中はインスタンス初期化ブロックで、このブロック内でaddメソッドを使ってセットに要素を追加しています。
この時点で、setには`Short`型の0, 1, 2の3つの要素が含まれています。
`remove(i – 1)`では`short`と`int`の式なので`Intege

元記事を表示

SpringBoot 3.x 循環依存関係問題の概要と解決策

### 問題の説明
——————————
**SpringBoot** 3.x バージョンでは、**SpringBoot 2.6.x** 以降、数多くの変更が行われました。

**SpringBoot 2.7.5~x** バージョンを使用したことがある開発者は、**SpringBoot** プロジェクトに循環依存関係が存在すると、プロジェクト起動時に例外エラーが発生することに気付くでしょう。エラーメッセージの内容は、おおよそ「プロジェクトに循環依存関係があり、プロジェクトが正常に起動できない」といったものです。

**SpringBoot 2.7.5~x** バージョン以降から **SpringBoot 3.x** では、この問題が存在しています。Springは循環依存関係の問題を扱わなくなり、開発者が自分で解決するか、開発中に循環依存関係を避ける必要があります。

古いバージョンのプロジェクトをアップグレードする場合、循環依存関係のコードをすべて調整しなければならず、注意しないとコードが崩壊して動作しなくなる可能性があります。

### 循環依

元記事を表示

【Spring Boot】Spring Bootにおける例外ハンドリング

# これまでの記事紹介
| | URL |
|:———–|:————|
| 第1回 | [【Spring Boot】個人的に推奨するディレクトリ/ファイル構成](https://qiita.com/rpc_tk/items/b60adb5e55206585d98a “【Spring Boot】個人的に推奨するディレクトリ/ファイル構成”) |
| 第2回 | [【Spring Boot】【Java】定数宣言はfinal staticが良いのか、enumが良いのか](https://qiita.com/rpc_tk/items/c525c04f157f376e6c1e “【Spring Boot】個人的に推奨するディレクトリ/ファイル構成”) |

9/5:記事タイトルをREST APIにおける例外ハンドリング→Spring Bootにおける例外ハンドリングに修正しました。内容的にREST APIについて語り切れていないので本記事、もしくは次回記事に記載します。

# はじめに
皆さん例外ハンドリングに悩

元記事を表示

【Java】Mapの概要及び使い方について

# はじめに
現場で新規参画者に対してMapの説明をする機会が度々あるため、
自身の説明用のレジュメも兼ねて記事として投稿しようと思いました。
# Mapとは
Mapは、Javaの標準APIであるコレクションフレームワークのインタフェースの一種です。
ListやSetといった、Collectionインタフェースとの違いとしては、キーと値をペアとして管理するデータ構造であることが挙げられます。
Mapは一意のキーに対して一つの値を関連付けることができるため、キーを使って効率的にデータを管理できます。
上述の通り、Mapはインタフェースのため、
一般的にプログラム上で扱う際にはMapの各クラスをインポートして使用します。

# Mapの種類
Javaでよく使われるMapの実装には、以下の3つがあります。
* HashMap:
最も一般的なMapの実装で、キーのハッシュコードを使って高速な検索と格納を行います。注意点として、要素の順序は保証されません。
* TreeMap
キーを順序通りに自動でソートするMapです。ここでいう順序とは、自然順序を基本としますが、指定したコンパレータ

元記事を表示

JavaGold 例題 乱数

以下のコードについて適切な選択肢を選んでください

“`java
import java.util.Random;

public class Example {
public static void main(String[] args) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10; i++) { sb.append(random.nextInt(10)); } System.out.println("Generated password: " + sb.toString()); } } ``` 1. コンパイルエラー 1. 実行時エラー 1. ランダムな出力結果が出るが、問題がある 1. ランダムな出力結果が出る、特に問題はない

解答

3:
このコー

元記事を表示

AWS LambdaとSnapStart

# はじめに
AWS Lambdaは、開発の面ではプログラミングが簡単で、運用の面では変化する使用パターンに迅速に対応できるアプリケーションです。Lambdaの特徴は、**関数が安全で、隔離された環境**で実行される点です。各環境のライフサイクルは、**Init**、**Invoke**、**Shutdown**という3つの段階で構成されます。

## AWS Lambdaのライフサイクルごとの特徴

| Category | Desciption |
|————|——————————————————————————|
| Init | 関数のランタイムをブートストラップし、静的コードを実行 (INIT_REPORT) |
| Invoke | APIリクエストに応答してLamb

元記事を表示

OTHERカテゴリの最新記事