# learn-android **Repository Path**: hrews/learn-android ## Basic Information - **Project Name**: learn-android - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-18 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AndRoid ## 初体验 gradle 配置阿里云仓库 - gradle-wrapper.properties ``` #Thu Jul 17 16:09:48 CST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://mirrors.aliyun.com/gradle/distributions/v8.11.1/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists ``` 从阿里云下载项目依赖 - settings.gradle.kts ```kotlin pluginManagement { repositories { // 先加阿里云仓库,提高插件下载速度 maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") } google { content { includeGroupByRegex("com\\.android.*") includeGroupByRegex("com\\.google.*") includeGroupByRegex("androidx.*") } } mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { // 阿里云中央仓库代理 maven { url = uri("https://maven.aliyun.com/repository/public") } // 阿里云 Google 仓库代理 maven { url = uri("https://maven.aliyun.com/repository/google") } google() mavenCentral() } } rootProject.name = "GeoQuiz" include(":app") ``` 过去,Google一直维护着庞大的支持库,用来协助开发和解决兼容性问题。作为改进,AndroidX将这个巨型库拆分为一个个独立的开发和版本库,统称为Jetpack。 按照约定,布局文件的命名基于其关联的activity:activity_作为前缀,activity子类名的其余部分全部转小写并紧随其后,单词之间以下划线隔开。例如,当前新建项目的布局文件名为activity_main.xml,或者说你有个activity名为SplashScreenActivity,那么对应的布局就命名为activity_splash_screen。 默认的activity布局(res/layout/activity_main.xml) ```xml ``` 视图是用户界面的构造模块。显示在屏幕上的一切都是视图。用户能看到并与之交互的视图称为部件 (widget)。有些部件可以用来显示文字或图像,有些部件(比如按钮)可以点击以触发事件任务。 Android SDK内置了多种部件,通过配置各种部件可获得应用所需的外观及行为。每一个部件都是View类或 其子类(比如TextView或Button)的一个具体实例。 我们得想办法告诉部件它们在屏幕上该位于哪里。ViewGroup就是这样一种特殊的View,它包含并布置其 他视图。ViewGroup视图本身不显示内容,它规划其他视图内容应该显示在哪里。ViewGroup通常又称为 布局。 在当前默认布局里,ConstraintLayout这个ViewGroup布置了一个TextView部件,这是它唯一的子部件。 ```xml