前回[WebView]を構築を本筋に、Androidアプリ開発の基礎的な部分を
かいつまんで進めてきました。初めの方はいろんなところでつまづきますので、
覚えるべき基礎はしっかり覚えてもらうような流れにしました。
今回は、前回ボリュームが多くなったて
そこに差し込むにはちょっと重いなーということで前回の続きのAndoroid開発の基礎と
[WebView]の実用応用の実装を紹介します。
では、前回でてきたキーマンはおぼえていますでしょうか。
[MainActivity.java]です。
まず基礎Javaの基礎中の基礎なんでそんなルールにしたのというのが、
①JAVAプログラムの名前とpublic classの名前を同じにしなければいけないルール
MainActivity.java
↓ ↑
public class MainActivity extend
青い文字の部分ですね。
じゃあえて実験してみましょう。
どちらかの名前を変えてみましょう。どんなエラーがでるでしょうか。
うわーエラーなりましたね。
先ほど説明したけどエラーの説明わかるようなわかんらいような感じですね。
エラー: クラスaaaaaaActivityはpublicであり、ファイルaaaaaaActivity.javaで宣言する必要があります
MainActivity.javaの下にaaaaaActivityがあるような感じなっていますね。
そもそもここは同じじゃないとダメなんです。
②[import]について説明より先にどんなものを理解する
ではでは実験です。
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.*;
消してみましょう。
消すとWebViewの部分が色がかわり。使用できない状態なってます。
でましたねこの意味がわかりずらいエラー
シンボルってなんだーーー!てなります。
以下の手順でやってみてください。
基本的なもので参照先がみつかればふき出しがでてきます。
表示どおりAltとEnterボタンを押してみてください。
こちらも同じく表示どおりAltとEnterボタンを押してみてください。
エラーがきえましたね。
あと上段にimportが追加されました。
色が変わった部分で使用するプログラムをimportで追加することができます。
追加することで、その部品が使えるようになるですね。
この手のエラーは同じような対応てください。
標準搭載されていないものは、[Alt+Enter]ででません。。
上級の応用ですが、他からjavaソースなどを用意しプロジェクトフォルダ内に
格納し、以前基礎でまなんだ流れでパスをしていしてimportを行います。
こちらは、応用なので今回はわかりずらい文章だけの説明だけで割愛します。
③extendと@overrideを理解しよう。
これからとてもとても重要なことをはなします。
それはとてもとても難しいですが、なるべくわかりやすく説明します。
なんどか読み直して理解してください。
それは、このAndroidのjavaの基礎ともいえるところです。
本の中にふわーとでてきますがこれから説明することを言われない限りは
チンプンカンプになるだろう。
まず実験をする前に、
このMainActivityは目に見える実装されたWebView以外のプログラムも
存在するということです。
私も専門家ではないので表現は間違っているかもしれません。
ニュアンスのみ読み取ってもらいたいです。
上図の[ MainActivity extends AppCompatActivity]
① ② ③
③は①のベースプログラムにあたります。
①MainActivityでは③AppCompatAcitivtyが基礎となっています。
基礎すなわち骨組みですね。フレームといたらわかりますかね?
少し説明すると
MainActivityが動いているようで中身はAppCompatAcitivtyが動いています。
基本はAppCompatActivityが元となり動きます。
これがオブジェクト指向といわれるjava言語の特徴でしょうか。
とりあえず難しいことは考えず見て触って感じとるところを今回やりましょう。
1.現時点でAppCompatActivityの中身を知る必要ありません。
2. MainActivityとAppCompatAcitivtyの関係性を感じる
3.AppCompatAcitivty骨格がAndroid開発の基礎
4.なんとなくわかってほしい@Override
以上が学習ポイント。
AppCompatAcitivtyはプログラムでimport部分やextend部分で共通して参照できます。
ソース上のAppCompatAcitivtyを右クリックします。
[ジャンプ]-[実装]が選んでみましょう。
AppCompatAcitivtyが開きました。
眺めてみてください。
赤枠のところ気づいていほしいです。[onCreate]
そして、[MainActivity]内に[OnCreate]てありますね!
深い動作のつながりまでは理解する必要もないのですが、
そこでMainActivity内のある@Overrideですね。
[AppCompatActivity]の[OnCreate]部分を[MainActivity]ないの
@Overrideに書き換えます。みたいな感じでしょうか。
実験です。
onPostCreateをオーバライドしてみましょうか。
[AppCompatActivity]の元ソースこんな感じかいてあります。
オーバライドで書けました。
こんな感じで、ベースのプログラムを書き換えて呼び出すことができます。
ちょっとこれ以上は私も詳しいところは
わかりませんが、Androidのプログラムは
OnCreate~複数のOnプログラムが動作する流れで動作しているようです。
そこを理解することで、各動作のポイントポイントを書き換えてプログラムを
作ることができます。
ちなみに[OnCreate]は初めに動く処理のようです。
今回は、とても難しいところでしたね。
ここを理解して作れるかどうかは、
今後重要な要素になっていくと思います。
すべてをわかろうとしなくてもいいです。
雰囲気でいいので理解していきましょ。
そしたら、問題を探す材料になったり、今後これ以上の知識もこれを元に理解
できるようなるでしょう。
膨大な時間はかかりますが、すべてのソースを理解できるようになったら。
本当にすごいですよ。
じゃおさらい!
①プログラム内のpublic class MainActivity と ファイル名のMainActivity.javaがエラーの元
②importとシグナルエラーとAlt+Enterで解決。
③extendと@override
④MainActivity extends AppCompatActivityとの関係性はAppCompatActivityが骨。
Mainのなかで抜粋@overrideで枠をこえた統一感を得る!
よかったとおもったら読者になってください。
こういうことを出してほしいなどコメントどしどしください。
単純に記述的サポートもしますよ。
では次回は、WebViewの応用へ。調整しようWebView
基礎&応用力をしっかり育成!Androidアプリ開発の教科書 Kotlin対応 なんちゃって開発者にならないための実践ハンズオン
- 作者:WINGSプロジェクト 齊藤 新三
- 発売日: 2019/07/10
- メディア: Kindle版
タグ
アンドロイド
基礎
基本
わからない