# Android **Repository Path**: yangs_f/android ## Basic Information - **Project Name**: Android - **Description**: 学习Android开发的一些代码 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-09-08 - **Last Updated**: 2022-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android开发基础(JAVA) ## 写在前面 因为本学期要完成学校的移动开发的课程,所以学习Android,本文档记录一些重要知识点、本人踩过的坑等等。 阅读前提:Java基础、一些计算机基础知识 工具:IntelliJ IDEA(Android studio也可以,因为有idea了,懒得再装一个Android studio) ## 一、hello world ### 1.1 创建项目 创建一个Android项目 ![image-20220908183016121](image/image-20220908183016121.png) ![image-20220908183115214](image/image-20220908183115214.png) 选择java语言 安卓开发包的版本不要选太高 创建成功后的目录结构(原本选中处是app,继续往下看) ![image-20220908183312259](image/image-20220908183312259.png) 删掉app模块,并将settings.gradle中的include ':app'删掉,然后重新创建一个模块 ![image-20220908183544478](image/image-20220908183544478.png) 选择Empty Activity就可以 ![image-20220908183600281](image/image-20220908183600281.png) ### 1.2 目录结构 ![image-20220908184209437](image/image-20220908184209437.png) gradle类似maven,都是构建工具。 可以看到和java项目目录结构相似,AndroidManifest.xml描述整个模块,java目录中存放java代码,res存放资源文件其他的就是一些配置文件 具体参考:https://www.jianshu.com/p/6f05a563690a ### 1.3 创建模拟器 既然是Android开发,肯定是要跑在Android系统上的,哪来的安卓系统呢? - 真机 1. 开启开发者模式 一般是在设置->关于手机(设备信息)->连续点击系统版本号,直到手机提示你已开启开发者模式 2. 开启USB调试以及允许USB安装应用 直接在设置中搜索USB就能找到了 3. 连上数据线选择文件传输模式(千万不要选择仅充电) 成功后,idea会自动识别 ![image-20220908185515500](image/image-20220908185515500.png) - 模拟器 更多的情况还是选择实用模拟器,单击刚刚箭头所指的地方,在下拉列表中的Device Manager中创建模拟器 默认的就可以 ![image-20220908185734838](image/image-20220908185734838.png) 千万不要选择这个(血和泪的教训,有bug),选择S就可以 ![image-20220908185833926](image/image-20220908185833926.png) 然后后面默认的就可以,直到完成 ### 1.4 运行程序 选择对应的机器,运行就可以 ![image-20220908190146729](image/image-20220908190146729.png) 这里要点击允许 ![image-20220908190253955](image/image-20220908190253955.png) 静静等待运行成功 ![image-20220908190325854](image/image-20220908190325854.png) 这样,第一个程序就运行完成了。 ### 1.5 hello world的思考 观察MainActivity代码 ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } ``` 此代码作用为绘制页面,绘制的是 **R.layout.activity_main** 这个页面。 R是资源的意思,有一个资源类,可以用于调用res目录下的资源。 layout就是res目录下的layout目录,该目录下是描述页面的xml文件。 activity_main是layout下的xml文件,hello world的显示就是此文件描述的。 ## 二、hello world进阶 ### 2.1 创建新的Activity 1. res/layout目录下创建activity_main2.xml 2. res/values/strings.xml中添加新值: ```xml Hello World-lesson01 你好 世界! ``` 3. activity_main2.xml中调用 通过@string/hello调用刚刚添加的值 activity_main2.xml: ```xml ``` 4. java代码中绘制该页面 创建MainActivity2类 ```java package com.example.hello; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; public class MainActivity2 extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); } } ``` 5. AndroidManifest.xml中注册页面,也就是在application标签下添加一个activity ```xml ``` ### 2.2 创建按钮 res/layout/activity_main.xml中添加Button标签(可以拖拽,自动生成代码) activity_main.xml: ```xml