安装Android Studio
1.下载Android Studio,官网:https://developer.android.com/studio,需翻墙
2.安装,勾选SDK(安卓开发包),AVD(Android Virtual Devices,模拟手机)
3.创建new Project,Android使用gradle创建工程,第一次创建project时会下载gradle,可能失败,打开app-src-main-res-AndroidManifest.xml会发现不能找到gradle文件,点击红色的地方,选择try Again重新下载,如果仍然失败则手动下载安装,参考:https://blog.csdn.net/sacco90725/article/details/40456509。
构建Activity
Android 应用的界面使用布局(ViewGroup
对象)和微件(View
对象)的层次结构构建而成。
Android 提供了 ViewGroup
和 View
类的 XML 词汇表,因此界面的大部分内容都在 XML 文件中定义,也就是MVC模式,UI与控制分离。构建UI布局有三种方式,1.自己写一个Activity,这样手动写代码布局的方式比较复杂且未能分离界面与控制 2.写xml配置文件,在主Activity中加载xml 3.通过Android Studio拖拉式构建Activity,拖拉时自动生成xml配置代码
Activity的xml一般位于app-res-layout中
配置xml文件有两种方式,design:拖拉式,text:手写xml
在layout下新建Activity的xml文件
- 点击 Select Design Surface 图标 ,然后选择 Blueprint。
- 点击布局编辑器工具栏中的 Show 图标 ,并确保选中 Show Constraints。
- 确保 Autoconnect 处于关闭状态。工具栏中的提示应为 Turn On Autoconnect 图标 (因为它现在处于关闭状态)。
- 点击工具栏中的 Default Margins 图标 ,然后选择 16(稍后仍然可以调整每个视图的外边距)。
- 点击工具栏中的 Device for Preview 图标 ,然后选择 5.5, 1440 × 2560, 560dpi (Pixel XL)。
Activity需选定布局,布局是Component Tree的根,所有组件都建立在根布局上,布局通过右击Component Tree进行变更。
选定根视图为 ConstraintLayout
添加文本框
- 在 Palette 中,点击 Text 以显示可用的文本控件。
- 将 Plain Text 拖动到设计编辑器中,并将其放在靠近布局顶部的位置。这是一个接受纯文本输入的
EditText
微件。
- 在 Palette 中,点击 Buttons。
- 将 Button 拖动到设计编辑器中,并将其放在靠近右侧的位置。
更改界面字符串
要预览界面,请点击工具栏中的 Select Design Surface 图标 ,然后选择 Design。请注意,文本输入框中预填充有“Name”,按钮标有“Button”。因此,现在您需要更改这些字符串。
- 打开 Project 窗口,然后打开 app > res > values > strings.xml。
这是一个字符串资源文件,您应在此文件中指定所有界面字符串。这样做可让您在一个位置管理所有界面字符串,从而让字符串的查找、更新和本地化变得更加容易(与对布局或应用代码中的字符串进行硬编码相比)。
- 点击编辑器窗口顶部的 Open editor。此时将打开翻译编辑器,它提供了一个简单的界面,用来添加和修改默认字符串,并且有助于让所有已翻译的字符串井然有序。
- 点击 Add Key 图标 以创建一个新字符串作为文本框的“提示文本”。
- 在 Add Key 对话框中,输入键名。
- 输入值。
- 点击 OK。
现在,可以为每个视图设置这些字符串。点击标签栏中的 activity_main.xml 以返回布局文件,然后按照以下步骤添加字符串:
- 点击布局中的文本框,如果右侧还未显示 Attributes 窗口,请点击右侧边栏上的 Attributes 图标 。
- 找到 text 属性(当前设为“Name”)并删除相应的值。
- 找到 hint 属性,然后点击文本框右侧的 Pick a Resource 图标 。在出现的对话框中,双击列表中的 edit_message。
- 现在,点击布局中的按钮,找到 text 属性(当前设为“Button”),点击 Pick a Resource 图标 ,然后选择 button_send。
组件精准控制
右键单击组件,会出现很多选项。
contrain即约束条件,即组件与组件之间边框的距离,单位为dp
chains即链,是两个或多个视图之间的双向约束条件,可让您采用一致的方式安排链接的视图,即组件之间通过链动态伸缩。
organization即水平垂直自动填充对称
最终的效果可能为:
Activity class
xml布局需要在class中被加载,因此每个Activity都需要在app-java对应的包下面创建对应的class。
所有的Activity都继承自AppCompatActivity,通过重写方法onCreate()进行显示
public class MyFristActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {//Bundle是上一次Activity关闭时保存的状态
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_frist);
}
}
所有的Activity都需要在主配置文件AndroidManifest中进行配置,以使app进行加载,标签为<activity>,在<application>下
默认的Activity可以这样设置:
<activity
android:name=".MainActivity" // 这里
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这个标签有点奇怪, android:name 属性是唯一必需的属性,用于指定 Activity 的类名(可以为包的绝对路径)
activity有多种属性,用于控制activity的显示行为与运行功能状态。参见activity的官方文档:https://developer.android.com/guide/topics/manifest/activity-element?hl=zh-CN
运行Activity
直接点击Android Studio右上角的绿色执行(三角)按钮即可,会自动启动手机模拟器并运行Android程序(必须要有主Activity),如果没有自动运行,则可能需要手动配置
- Android Studio 中,点击 Project 窗口中的 app 模块,然后依次选择 Run > Run(或点击工具栏中的 Run 图标 )。
- 在 Select Deployment Target 窗口中,点击 Create New Virtual Device。
- 在 Select Hardware 屏幕中,选择一部手机设备(如 Pixel),然后点击 Next。
- 在 System Image 屏幕中,选择 API 级别最高的版本。如果您未安装该版本,将显示一个 Download 链接,请点击该链接并完成下载。
- 点击 Next。
- 在 Android Virtual Device (AVD) 屏幕上,让所有设置保持不变,然后点击 Finish。
- 返回到 Select Deployment Target 对话框中,选择您刚刚创建的设备,然后点击 OK。
运行效果为:
参考: