最近よくアンドロイドアプリ開発の勉強しているんですが

 

アンドロイドアプリ開発して3日とかで、よく詰まるんですよね

 

今日詰まったAPIレベルについて

 

AndroidStudio使ってアプリ開発してて

 

他の開発とかしている人にはわかると思うんですが

 

他のライブラリを読み込むとき、import○○みたいなコードを書くと

グレーアウトになってこんなん知らんわ!!って言われるんだけど

 

IT何も知らない人に説明すると

 

ツイッターを知らない人に対して、バズるって言っても通じないじゃん

 

そんな感じのことをコンピュータに言われんのよ

 

使いたい機能があるんだけど読み込むときに、使い方を教えてやらないといけないような感じかな

 

pythonとかrubyとかだと使いたい機能に対してのパッケージをインポートしてあげると使えるようになるんだけど

 

AndroidStudioだとAPIレベルっていうのがあって、そのレベルごとに、使える機能が決まってるみたい

 

だから俺は、APIレベルは常に最新でいいんじゃないのって思ったんだけど

 

そのときのAPIレベルによってバグとか不具合があったり推奨されていないレベルがあったり

 

不要な機能を使えるようになっても容量使っちゃうとかそういう問題もあるから

 

常に最新がいい!というわけではなさそう。

 

設計の際の用途によってAPIレベルを考える必要があるみたい

 

 

 

結論

 

APIレベルっていうのはAndroidプラットフォームで提供されているフレームワークAPIのバージョンのこと

バージョンによって使える機能が違う

 

 

って感じで

 

本当はネットワーク系を説明したいんだけどネットワーク系が苦手すぎて

イメージがつかなくて全然話せる気がしないw

 

今BuleToothとAndroid通信をしているからできたらまた書こうかと思います

 

 

 

-------------

 

追記

どういった問題だったかは書いていないので間違っているわけではないのですが

今回遭遇した問題はAPIレベルの問題かと思っていたら、APIレベルを上げても解決しませんでした・・・w

今回私が遭遇した問題はAPIレベルの問題ではなかったので一応詳細と解決方法を追記します。

 

下記のandroidJetpackライブラリをインポートするとエラーが発生しておりました。

import android.support.v7.app.AppCompatActivity;

 

今までのSupport LibraryからAndroidXに移行されたためです。

 

supportLibraryで使用されていたものをandoroidxで使用でできるように変更する必要があり、

調べてみると同じような場所で詰まっている方がたくさんいました。

 

 

 

私のコードの解決方法は運よくこれだけで済みました

import android.support.v7.app.AppCompatActivity;
↓
import androidx.appcompat.app.AppCompatActivity;


protected void onCreate(Bundle savedInstanceState);
protected void onCreate(android.os.Bundle savedInstanceState);


インポート部分を変更してもエラーが出てしまう方は
マニュアルを読んでそれぞれandroidXに合わせる必要がありそうですね・・

 

 

大きい変更は私みたいな初心者には大変な混乱を招きますねww