サイトアイコン 回れ右の内輪差

Linux 版 Android Studio をデスクトップに登録する方法

ドックにアイコンを追加するには [Tools] > [Create Desktop Entry…] を実行する。

これがあるとだいぶ便利だよね!

この機能自体はドキュメントで説明されてるんだけど、Android 開発の入門者が最初に見るであろうトレーニングには書かれてない。トレーニングに沿って勉強してた僕は、ここで不要に躓いてしまった 😦 これから勉強する人が躓かないようにメモしておこう。


さて、上に書いた通り、僕は Android の初心者向けトレーニングに挑戦してみた。ここから先は、そのトレーニングの最初の最初をやってみた感想を書いてみよう。話題はガラリと変わります。

初心者向けトレーニング ユニット 1 に挑戦した現時点の感想

Android 公式の初心者向けトレーニング [Compose を用いた Android アプリ開発の基礎] のユニット 1 のパスウェイ 3 の途中まで完了した時点の僕の感想を書こう。ユニット 1 は基本的な UI を組み立てる練習で、パスウェイ 3 の [7 練習問題: Compose の基本] は 3 つの UI を自力で組み立てる実践課題だった。

僕の進捗の図

Linux で Android Studio を導入するの、ちょっとムズい

modifier が分からん

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            TaskManagerCompletedTheme {
                Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
                    Greeting(
                        name = "Android",
                        modifier = Modifier.padding(innerPadding)
                    )
                }
            }
        }
    }
}

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Column(
        modifier = Modifier.fillMaxSize(),
        verticalArrangement = Arrangement.Center,
    ) {
        val image = painterResource(R.drawable.ic_task_completed)
        Image(
            painter = image,
            contentDescription = null,
            modifier = modifier.align(Alignment.CenterHorizontally)
        )
        Text(
            text = "All tasks completed",
            fontWeight = FontWeight.Bold,
            modifier = modifier
                .paddingFromBaseline(24.dp, 8.dp)
                .align(Alignment.CenterHorizontally)
        )
        Text(
            text = "Nice work!",
            fontSize = 16.sp,
            modifier = modifier.align(Alignment.CenterHorizontally)
        )
    }
}

[Design] ペインとエミュレータの表示が一致してない気がする

パディングの広さが一致してない気がする。エミュレータのほうが広い
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            ComposePracticeTheme {
                Scaffold(
                    modifier = Modifier.fillMaxSize()) { innerPadding ->
                    Greeting(
                        name = "Android",
                        modifier = Modifier.padding(innerPadding)
                    )
                }
            }
        }
    }
}

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    val image = painterResource(R.drawable.bg_compose_background)
    Column(modifier, verticalArrangement = Arrangement.Top) {
        Image(
            painter = image,
            contentDescription = null,
            contentScale = ContentScale.Fit
        )
        Text(
            text = stringResource(R.string.jetpack_compose_tutorial),
            fontSize = 24.sp,
            modifier = modifier
                .padding(16.dp)
        )
        Text(
            text = stringResource(R.string.jetpack_text_01),
            modifier = modifier
                .padding(horizontal = 16.dp, vertical = 0.dp),
            textAlign = TextAlign.Justify
        )
        Text(
            text = stringResource(R.string.jetpack_string_02),
            modifier = modifier
                .padding(16.dp),
            textAlign =TextAlign.Justify
        )
    }
}

GitHub にコードを載せたい

(補足) Android のトレーニングとは?

Android アプリ開発に入門したい人向けに、Google が公式に用意するトレーニングのこと。トレーニングには、次に挙げる 5 種類のコンテンツがある

  1. 初心者向け
  2. 経験豊富な Android デベロッパー向け
  3. Kotlin 言語のトレーニング
  4. Android Java デベロッパー向け
  5. 認定資格プログラム
トレーニング  |  Get started  |  Android Developers

このうち、初心者向けの [Compose を用いた Android アプリ開発の基礎] は Android 入門者が最初に学ぶ教材として最適だと思う。僕がやったのもこれ。8 つのユニットを通して Android アプリ開発のいろはを順に体験していく。想定の所要時間の合計がちょうど 100 時間の、かなり本格的なトレーニングだ。以下は目次。

ユニットパスウェイ所要時間 [時間]
1: 初めての Android アプリ1: Kotlin の概要3
2: Android Studio をセットアップする4
3: 基本的なレイアウトを作成する3
2: アプリ UI を作成する1: Kotlin の基礎8
2: アプリにボタンを追加する6
3: UI と状態を操作する7
3: リストの表示とマテリアル デザインの使用1: Kotlin の基礎(その他)8
2: スクロール可能なリストを作成する4
3: 美しいアプリを作成する3
4: ナビゲーションとアプリ アーキテクチャ1: アーキテクチャ コンポーネント9
2: Jetpack Compose でのナビゲーション6
3: さまざまな画面サイズに適応する13
5: インターネットに接続する1: インターネットからデータを取得する6
2: インターネットから画像を読み込んで表示する3
6: データの永続化1: SQL の概要2
2: Room を使用してデータを永続化する6
3: DataStore でキーを使用してデータにアクセスし保存する2
7: WorkManager1: WorkManager でタスクのスケジュールを設定する3
8: Compose とビュー1: ビュー内の Android ビューと Compose3
2: Compose 内のビュー1
公式 Android トレーニングの目次
モバイルバージョンを終了