すてき女性エンジニアへの道

日々の勉強ブログです。「技術で人の役に立つ、喜ばれる」女性エンジニアを目指してます✨その為の第一歩としてのブログです。成長する為にも、アドバイスなど頂けたらもの凄く喜びます。宜しくお願い致します🌸

勉強:ジェネリクス

Javaジェネリクス!

C#で使ってたので、相違点だけわかれば

早いかなと思って調べました。

 

C#と違うところ>

・型パラメータのメソッドを宣言する時の位置の違い

オーバーロードに違いがでる

ジェネリックなコンストラクタがJavaでは宣言できる

ワイルドカード指定がJavaではできる

・実行時にジェネリックスの情報を取り扱えないので、パフォーマンスが若干Javaの方が劣ってしまう

  

使う時に細かく文法的なことは調べながら

上記の点に注意すれば使えそう☺︎⭐️

 

参考サイト:

ジェネリックプログラミング - Wikipedia

qiita.com

d.hatena.ne.jp

magicant.github.io

勉強:Androidのシェア

日本ではシェアの少なめなAndroid
世界規模だとシェアは7割。
(日本のちょーどiOSのシェアと一緒)
 
より影響力あるアプリ作れるのは
Androidですね^^
海外で活躍もしやすそう!
 
モチベーションに繋がります✨
 
参考サイト:

www.ai-bibo.net

ひとこと:今の環境がすばらしすぎる✨

はじめまして、まゆです。

このブログの管理人です☺︎

 

フリーランスエンジニアとしてご縁があり

Androidアプリ開発に携わらせて頂いてます。

 

今の恵まれた自分の環境に感謝の思いと戒めも込めて書きます。

 

働きやすさ最高

人も最高

技術的にも最高(色んな情報が入ってくる)

文句がないです笑

 

ホリスティックだし、自由でみんな生き生きして仕事をしています。

細かいことには拘らないし、何よりも効率や成果を重視しています。

色んな人がいます(化け物クラスのエンジニアさんがぞろり、他部署の方もワンフロアで一緒に仕事をしている。)。

なので色んな情報が入ってきます(最新の技術情報はもちろんのこと、この部署ではこんな仕事してるのか、こういう風に経営陣は考えるのか、マーケティングはこういう手法をとるのかなど、、、)。

飽きません。

 

今までは、官公庁系のトップダウンで、やり方が古くて、業務内容も変化に乏しい仕事をしていました。入ってくる情報も最新のものではないし、話す内容も同じプラットフォームや言語についての話題ばかり。。。

そしてみんな喋らない笑

暗い、狭い笑

だったので毎日が新鮮です。楽しいです!嬉しいです!

 

だからこそ、早く成長したいです。

悔しいですが今は何も還元できていない状態です

(付いていくのに必死、というか付いていけてるか微妙笑)。

 

絶対に早いスピードで成長します!!!!!!!!宣言⭐︎

どんどん出来ることはやっていきます。

 

そして同じAndroidアプリ開発者として現場にいらっしゃって、

全く自分にメリットが無いにもかかわらず

面倒を見てくださっている方がいます。

その優しさに頭があがりません。

絶対に早く人の役に立てるエンジニアになります。

 

早いスピードで技術力つけるしかないですね!!!!!!!!🔥

おっしゃ、やりまーす!

勉強:RecyclerViewのレイアウトを行ごとに変化させる

最終行のみ、 レイアウト変更させるのにはどうしたら良いのか....?

 

1.RecyclerViewの作成方法について復習

RecyclerView作成手順を振り返ります。

 

<手順>

※build.gradleファイルにライブラリの追加も忘れず

 

①RecyclerViewの配置

→レイアウトxmlファイルの修正

②RecyclerViewの1行分にあたるレイアウトの配置

→レイアウトxmlファイルの修正

③RecyclerViewを配置した画面の処理、初期化

→クリックイベントとりたいからリスナーの使用(onRecyclerClicked)

→RecyclerViewのRファイルより参照の取得(findViewById)

→レイアウトマネージャーの設定(setLayoutManager)

→作成したアダプターをRecyclerViewにセット!(setAdapter)

④アダプターのクラス設定(RecylerView.Adapter継承)

→要素の設定(setAdapter)
⑤ビューホルダーの設定(RecyclerView.ViewHolder継承)

→作成したビューホルダーを使用してレイアウトの指定(OnCreateViewHolder内)

→ビューホルダーとアダプターの連携(OnBindViewHolder)

 

②ぬけとった〜💦基本なのに。

静的にレイアウトを作成する方がメモリ食わない。

でも、動的に作成する方法も後で調べて見る。

 

2.レイアウトの変更へ

 getItemViewType でViewTypeを取得し、それによってレイアウト変化させる条件分岐作成。さらにアダプターにリストの値を突っ込む時に、コントロールのオブジェクトをそのまま入れてしまう。

 

参考サイト:

tech.vasily.jp

なかなか手こずりました、、、
意外にRecyclerViewの作成手順が頭に入ってなくて色々盲点でした。

ただ物凄く勉強になりました!次回からは問題なし!

勉強:gitのGUIについて

恥ずかしながら、今までgit使用したことがなかったです笑

TortoiseSVN、TFSくらいしか使用したことがありませんでした。

集中型管理システムしか使用したことない。

 

今のプロジェクトではgitを使用しています。

git使用する時はコマンド入力で対応していたのですが

より効率的に使いたいと思いGUI調べてみました。

きっと慣れるとコマンドのが早いと思うのですが。

 

いくつか

 1.SourceTree

よく紹介されているもの。

参考サイト:

www.sourcetreeapp.com2.TortoiseGit

トータスにもGitあるのね。

参考サイト:

TortoiseGit – Windows Shell Interface to Git

3.GitGUI

気になったので。

参考サイト:

Git - git-gui Documentation

  

使用してみないとわからないですよね。

とりあえずお試しで3つとも使ってみます笑

しばらく使ってみて、感想またあげます☺︎

勉強:Kotlinについて

職場で話題になっていたKotlinについて調べました。

 

 

Kotlinの特色

1.記述が簡潔に済む

2.私たちエンジニアがしょっちゅう遭遇するNullPointExceptionsを防ぎやすい仕組みが提供されている(Null許容型、Null非許容型の存在)

3.Java,JavaScriptとの相互運用性

Javaとの互換性は100%、途中からの運用もしやすい)

4.統合開発環境の機能が充実している

5.拡張関数、拡張プロパティが使いやすい

(クラス拡張しなくてよい、修正範囲が減る、テスト楽)

 

 

Android開発者ならKotlin使用できた方がよいですね!

勉強会でてみよー!

 

参考サイト:

kotlinlang.org

 

sites.google.com

 

qiita.com

 

Kotlin開発のJetBrains社について

ジェットブレインズ - Wikipedia

勉強:リスナーについて

リスナーの概念やら何やら

つまづいたので調べてみました。

 

1.リスナーとは?

イベント通知をうけとり、それに対応したメソッドの提供をするもの。

インターフェイス

※各リスナーとリスナーに対応したコールバックメソッドの一覧(以下引用)。

onClick()

View.OnClickListener のメソッド。 ユーザーがアイテムをタップしたとき(タッチモードの場合)、またはナビゲーション キーまたはトラックボールでアイテムにフォーカスを合わせ、適切な「エンター」キーまたはトラックボールを押したときに、呼び出されます。


onLongClick()

View.OnLongClickListener のメソッド。 ユーザーがアイテムをタップしてホールドしたとき(タッチモードの場合)、またはナビゲーション キーまたはトラックボールでアイテムにフォーカスを合わせ、適切な「エンター」キーまたはトラックボールを長押し(1 秒間)したときに、呼び出されます。


onFocusChange()

View.OnFocusChangeListener のメソッド。 ナビゲーション キーやトラックボールを使用してユーザーがアイテムに移動したとき、またはアイテムから離れるときに、呼び出されます。

 

onKey()

View.OnKeyListener のメソッド。 ユーザーがアイテムにフォーカスを合わせて端末のハードウェア キーを押したとき、または離したときに、呼び出されます。

 

onTouch()

View.OnTouchListener のメソッド。 画面(アイテムの境界線内)での押す、離す、移動操作などのタップイベントと認定されるアクションをユーザーが実行した場合に呼び出されます。

 

onCreateContextMenu()

View.OnCreateContextMenuListener のメソッド。 コンテキスト メニュー(「長押しクリック」し続けると作成されます)の作成中に呼び出されます。コンテキスト メニューについての詳細は、メニューデベロッパー ガイドをご覧ください。


参考サイト:

developer.android.com

2.コールバックメソッドとは?

ある状態になった時に自動的に呼び出されるメソッドのこと。

 

3.独自のリスナーの定義について
公式に定義されているリスナーが6つほどあるけれど、より複雑な条件にも対応したいと言った場合に独自のリスナーを作成することが可能。

 

記述量の減る簡単な実装方法として

①独自のリスナーの宣言

②コールバックの定義

③コールバック時の設定

④使用する時は匿名クラスを使用


参考サイト:

k-1-ne-jp.blogspot.jp

 
まだまだ知識を入れる段階すぎる、、、