时间:2019年12月28日,今天是我正正经经学习Android的第一天,在这之前,我花了一星期入门java。
现在要开始记录下学习Andriod的过程,怕我会遗忘。
一开始就像无头苍蝇一样,在网上一直转,不知道从哪里入手(一个人习惯了,就没有去问身边人的习惯,改不了)。兜兜转转,让我看到了一本书,《第一行代码 Android第二版》,郭霖老师写的,今天开始看,看了一下午,觉得能看的下去,对于我这种刚入门Android的来说。这本书讲的很细。
我记下重点,顺便记下英语,打算下一学年考四级。
Android开发特色
Android四大组件
Android系统四大组件分别是:
- Activity(活动)----Android门面(应用中所能看得到的)
- Service(服务)----无法看到,即使用户退出应用,Service仍然可以继续运行。
- Broadcast Receiver(广播接收器)—接收来自各处的广播信息,同时也可以发出
- Content Provider(内容提供器)-----应用程序之间共享数据,如果想读取联系人,通过Content Provider来实现。
丰富的系统控件
可利用Android系统自带的控件效果,也可以定制属于自己的控件
SQLite数据库
支持标准的SQL语法,通过Android封装好的API进行操作,让存储和读取数据变得非常方便。
强大的多媒体
地理位置定位
开始创建一个项目
start a new Android Studio project
Application name-----应用名称
Company Domain----公司域名,个人开发者:example.com
Package name------- 项目的包名
project location ------- 代码存放的位置
layout name -----------布局的命名
上面是我要记下来的英语单词,创建完一个项目后,可以使用模拟器或者手机来运行,使用手机的话(前提是手机已经开了开发者模式或usb调试)
分析Android项目程序
app目录
- build 编译自动生成的文件
- libs 第三方jar包
- androidTest 测试用例
- java 放置所有java代码
- res
- drawable 图片,兼容各种设备,有各种分辨率的版本
- mipmap 应用图标,兼容各种设备,有各种分辨率的版本
- layout 布局
- values 字符串,样式,颜色
- AndroidMainifest.xml 配置文件,注册组件
- test 测试用例
- .gitignore
- app.iml 自动生成的文件
- build.gradle 构建脚本
- proguard-rules.pro 混淆规则
AndroidMainifest.xml如下:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
项目的应用图标通过android:icon属性来指定,应用的名称通过android:label属性来指定
<activity android:name=".MainActivity">
<intent-filter>
//android的主启动项
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
//表示 HelloWorldActivity是这个项目的主活动,在手机上点击应用图标,首先启动的就是这个活动。
</intent-filter>
</activity>
这段代码表示对MainActivty这个活动进行注册,intent-filter里的两行代码非常重要,android.intent.action.MAIN决定应用程序最先启动的Activity ,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里。Main和LAUNCHER同时设定才有意义,
运行所能看的的界面,就是MainActivity这个活动
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
MainActivity是继承自AppCompatActivity,AppCompatActivity是Activity的子类。
Activity是android系统提供的的一个活动基类,项目中所有的活动都继承它或者它的子类,才能拥有活动得特性
方法 | 作用 |
---|---|
onCreate() | 一个活动被创建时必定要执行的方法 |
setContentView | 这个方法给当前活动引入一个activity_main布局 |
– | – |
Android程序的设计讲究逻辑和视图分离,在布局文件下编写界面,然后在活动中引入进来
res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
TextView | Android系统提供的一个控件,用于在布局中显示文字 |
---|
学习到了UI,把笔记给补上,记录于2019年12月31日18:52,今天是2019年的最后一天