JusticeBrain  ~jusys2-13bpowerの日記~

私の思考。感じたことを思いのままに。荒いですが効果てきな文章をどんどん出せるようがんばります。システムエンジニア SEの考え方!成長する手段を簡単に!リーダーマネージメントについての記事。また、人の言葉や、なんでも関数シリーズやおすすめドラマ 多岐にわたって私のすべてをさらけ出していければいいと思います。よかったら、アマゾンクリックして!いいものがあったら買っちゃおう! よくなかったら買うのはやめよう!

『アプリ開発』[Android]-[WebView] 新規プロジェクトからWebViewの構成を理解しよう! ②

前回[WebView]を構築を本筋に、Androidアプリ開発の基礎的な部分を

かいつまんで進めてきました。初めの方はいろんなところでつまづきますので、

覚えるべき基礎はしっかり覚えてもらうような流れにしました。

 

今回は、前回ボリュームが多くなったて

そこに差し込むにはちょっと重いなーということで前回の続きのAndoroid開発の基礎と

[WebView]の実用応用の実装を紹介します。

 

では、前回でてきたキーマンはおぼえていますでしょうか。

[MainActivity.java]です。

f:id:jusys2-13bpower:20200402023813p:plain

f:id:jusys2-13bpower:20200402024032p:plain

 

まず基礎Javaの基礎中の基礎なんでそんなルールにしたのというのが、

JAVAプログラムの名前とpublic classの名前を同じにしなければいけないルール

   MainActivity.java

    ↓ ↑

   public class MainActivity extend

青い文字の部分ですね。

 

じゃあえて実験してみましょう。

どちらかの名前を変えてみましょう。どんなエラーがでるでしょうか。

 

f:id:jusys2-13bpower:20200402025213p:plain

うわーエラーなりましたね。

先ほど説明したけどエラーの説明わかるようなわかんらいような感じですね。

 

エラー: クラスaaaaaaActivityはpublicであり、ファイルaaaaaaActivity.javaで宣言する必要があります

MainActivity.javaの下にaaaaaActivityがあるような感じなっていますね。

そもそもここは同じじゃないとダメなんです。

f:id:jusys2-13bpower:20200402025358p:plain

 

②[import]について説明より先にどんなものを理解する

f:id:jusys2-13bpower:20200402030027p:plain

 ではでは実験です。

import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.*;

消してみましょう。

消すとWebViewの部分が色がかわり。使用できない状態なってます。

でましたねこの意味がわかりずらいエラー

f:id:jusys2-13bpower:20200402031238p:plain

シンボルってなんだーーー!てなります。

以下の手順でやってみてください。

 

基本的なもので参照先がみつかればふき出しがでてきます。

表示どおりAltとEnterボタンを押してみてください。

f:id:jusys2-13bpower:20200402030349p:plain

こちらも同じく表示どおりAltとEnterボタンを押してみてください。

f:id:jusys2-13bpower:20200402030739p:plain

エラーがきえましたね。

あと上段にimportが追加されました。

f:id:jusys2-13bpower:20200402030945p:plain

色が変わった部分で使用するプログラムをimportで追加することができます。

追加することで、その部品が使えるようになるですね。

この手のエラーは同じような対応てください。

標準搭載されていないものは、[Alt+Enter]ででません。。

上級の応用ですが、他からjavaソースなどを用意しプロジェクトフォルダ内に

格納し、以前基礎でまなんだ流れでパスをしていしてimportを行います。

こちらは、応用なので今回はわかりずらい文章だけの説明だけで割愛します。

 

③extendと@overrideを理解しよう。

 これからとてもとても重要なことをはなします。

 それはとてもとても難しいですが、なるべくわかりやすく説明します。

 なんどか読み直して理解してください。

 

 それは、このAndroidjavaの基礎ともいえるところです。

 本の中にふわーとでてきますがこれから説明することを言われない限りは

 チンプンカンプになるだろう。

 

 まず実験をする前に、

 このMainActivityは目に見える実装されたWebView以外のプログラムも

 存在するということです。

f:id:jusys2-13bpower:20200402032731p:plain

 

私も専門家ではないので表現は間違っているかもしれません。

ニュアンスのみ読み取ってもらいたいです。

 

上図の[ MainActivity extends AppCompatActivity]

               ①     ②    ③

 

③は①のベースプログラムにあたります。

①MainActivityでは③AppCompatAcitivtyが基礎となっています。

基礎すなわち骨組みですね。フレームといたらわかりますかね?

f:id:jusys2-13bpower:20200403024505p:plain

trex_kokkaku.png (800×544)

少し説明すると 

 MainActivityが動いているようで中身はAppCompatAcitivtyが動いています。

基本はAppCompatActivityが元となり動きます。

これがオブジェクト指向といわれるjava言語の特徴でしょうか。

とりあえず難しいことは考えず見て触って感じとるところを今回やりましょう。

 

1.現時点でAppCompatActivityの中身を知る必要ありません。

2. MainActivityとAppCompatAcitivtyの関係性を感じる

3.AppCompatAcitivty骨格がAndroid開発の基礎

4.なんとなくわかってほしい@Override

 

以上が学習ポイント。

 

AppCompatAcitivtyはプログラムでimport部分やextend部分で共通して参照できます。

ソース上のAppCompatAcitivtyを右クリックします。

 

 

f:id:jusys2-13bpower:20200402033318p:plain

f:id:jusys2-13bpower:20200402033427p:plain

 

[ジャンプ]-[実装]が選んでみましょう。

f:id:jusys2-13bpower:20200402033607p:plain

 

AppCompatAcitivtyが開きました。

眺めてみてください。

f:id:jusys2-13bpower:20200402034111p:plain

赤枠のところ気づいていほしいです。[onCreate]

そして、[MainActivity]内に[OnCreate]てありますね!

深い動作のつながりまでは理解する必要もないのですが、

そこでMainActivity内のある@Overrideですね。

[AppCompatActivity]の[OnCreate]部分を[MainActivity]ないの

@Overrideに書き換えます。みたいな感じでしょうか。

f:id:jusys2-13bpower:20200402034518p:plain


実験です。

onPostCreateをオーバライドしてみましょうか。

[AppCompatActivity]の元ソースこんな感じかいてあります。

f:id:jusys2-13bpower:20200403032032p:plain

オーバライドで書けました。

こんな感じで、ベースのプログラムを書き換えて呼び出すことができます。

f:id:jusys2-13bpower:20200403031846p:plain

 

ちょっとこれ以上は私も詳しいところは

わかりませんが、Androidのプログラムは

OnCreate~複数のOnプログラムが動作する流れで動作しているようです。

そこを理解することで、各動作のポイントポイントを書き換えてプログラムを

作ることができます。

ちなみに[OnCreate]は初めに動く処理のようです。

 

今回は、とても難しいところでしたね。

ここを理解して作れるかどうかは、

今後重要な要素になっていくと思います。

 

すべてをわかろうとしなくてもいいです。

雰囲気でいいので理解していきましょ。

そしたら、問題を探す材料になったり、今後これ以上の知識もこれを元に理解

できるようなるでしょう。

膨大な時間はかかりますが、すべてのソースを理解できるようになったら。

本当にすごいですよ。

 

じゃおさらい!

①プログラム内のpublic class MainActivity と ファイル名のMainActivity.javaがエラーの元
②importとシグナルエラーとAlt+Enterで解決。
③extendと@override
④MainActivity extends AppCompatActivityとの関係性はAppCompatActivityが骨。
Mainのなかで抜粋@overrideで枠をこえた統一感を得る!

 

よかったとおもったら読者になってください。

 

こういうことを出してほしいなどコメントどしどしください。

 

単純に記述的サポートもしますよ。

 

では次回は、WebViewの応用へ。調整しようWebView

 

 

Androidアプリを作ろう [Android Studio 2.1対応版]
 

タグ

 

android

アンドロイド

JAVA

基礎

基本

わからない