logo头像
Snippet 博客主题

Android入门篇

开发环境搭建

  1. JDK (Java Development kit)

    • 下载地址
    • 推荐下载6.0或以后的版本
    • jdk安装(jdk集成了jre):jdk是java开发工具 jre是java的运行环境
      注意:需要安装环境变量
  2. Eclipse

    • 下载地址
    • eclipseInstaller使用
    • Android SDK (Softtware Development kit)
    • ADT (Android Development kit)
  3. andriod studio

新建Android项目

Application Name

应用名称:发布应用APP的名称如QQ

Project Name

项目名称:文件名称

package Name

包名:

Minimun Required SDK

最小sdk支持

target SDK

当前开发所用的版本

Compile With

编译的版本

项目结构介绍

src/存放java源代码文件

gen存放系统自动生成的配置文件

Android4.4.2

assets 不会自动生成id不会自动占用空间

bin 存放被编译后生成的文件 如apk

res 存放应用用到的所有资源,如图片布局

layout 布局文件

values 存放字符串,主题,颜色。样式等资源文件

AndroidManifest.xml清单文件

TextView 显示文本框控件 => label

属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
id --- 控件的id
layout_width ---控件的宽度
layout_height ---控件的高度
text --- 文本内容
textSize --- 文件大小
textColor --- 文件颜色
background --- 控件背景
hint --- 输入提示文本 placeholder
inputType --- 输入文本
singleLine --- 单行显示


wrap_content : 包裹实际文本内容
match_parent: 当前控件铺满父类容器 2.3 api之后添加的一个属性值
fill_parent: 当前控件铺满父类容器 在2.3 api 之前的一个属性值

EditText 输入文本框 => textField

ImageView

属性

1
2
src =>setImage 铺满图片  引入图片路径 res文件夹会自动根据分辨率引入图片
background 铺满背景

Button和ImageButton

  • 共有的特性
    都可以作为一个按钮产生点击事件
  • 不同点
  1. button有text的属性,imageButton没有
  2. imageButton有src属性,button没有
  3. 产生明显的点击效果
  • 监听点击事件
  1. 匿名内部类的实现
  2. 独立类的实现
  3. 实现接口的方式来实现

1.初始化当前所需要控件,如何初始化一个控件?

findViewById – 返回的是一个View的对象
设置button的监听器,通过监听器实现点击事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  //初始化
loginBtn = (Button)findViewById(R.id.button1)
//匿名内部类的实现
loginBtn.setOnClickListener(new OnCliclListerner(){

})

//独立类实现
loginBtn.setOnClickListener(listener)

//外部类的写法和作用
OnClickListerner 是一个接口
class MyOnClickListener implements OnClickListerner{

}

// 通过实现一个接口的方式实现监听事件

@string/ 文件下读取字符串等 在values文件下string.xml

AutoCompleteTextView

  1. 功能
    动态匹配输入内容

  2. 独特属性

MultiAutoCompleteTextView

支持多选

ToggleButton

选中和未选中状态
属性:checked = true
textOff= 关
textOn = 开

CheckBox

RadioGroup

五布局之线性布局LinearLayout 常用

包含的子控件将以横向或者垂直排布
LinearLayout是可以嵌套布局的
属性:
orientation 水平或垂直属性
gravity 居中排布
子类控件在LinearLayout中常用到的属性
layout_gravity – 指本身在当前父容器的xy的一个位置
layout_weight – 指本身控件占当前父容器的一个比例 类似于flex布局

五布局之相对布局RelativeLayout 常用

layout_alignParentLeft 子控件相对父控件容器靠左边
layout_alignParentTop 子控件相对父控件容器靠上边
layout_marginLeft 子控件相对父控件容器左边的距离
layout_marginTop 子控件相对父控件容器上边的距离
layout_centerInParent 子控件相对父控件容器水平垂直居中
layout_centerHorizontal 子控件相对父控件容器水平居中
layout_centerVertical 子控件相对父控件容器垂直居中

子类控件相对子类控件的一个位置
layout_below 该控件位于给定id控件的底部
layout_toRightOf 该控件位于给定id控件的右边
layout_above 该控件位于给定id控件的上面
layout_toLeftOf 该控件位于给定id控件的左边
layout_alignBaseLine 该控件位于给定id控件的内容在一条线上
layout_alignBottom 该控件和给定id控件的底部对齐
layout_alignLeft 该控件和给定id控件的左边对齐
layout_alignRight 该控件和给定id控件的右边对齐
layout_alignTop 该控件和给定id控件的上边对齐

五布局之帧布局FrameLayout

在这个布局中,所有的子元素都不能被知道放置的位置,他们统统防御这个区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡

五布局之绝对布局AbsoulteLayout

开发中比较少用,手机屏幕的差距,所以几乎用不到

五布局之表格布局TableLayout 少用

collapseColumn = “1,2”
隐藏从0开始的索引列,列直接必须逗号隔开

shrinkColumns
收缩从0开始的索引列
stretchColumn
拉伸从0开始的索引列,以填满剩下的多余空白空间

layout_column = 1 该控件实现在第2列
layout_span = 2 该控件占据2列

Activity如何创建 类似ios的Controller

  1. 继承Android的Activity类
  2. 重写方法
  3. 设置显示布局
  4. 在AndroidManifest文件中,注册Activity

Activity的生命周期

onCreate();创建
onStart();运行
onResume();获取焦点
onPause();失去焦点
onStop();暂时
onDestroy();销毁
onRestart();

页面跳转

inter-filter 从哪个页面进入

  1. startActivity的方式跳转 无返回结果
    • 初始化Intent
  2. 通过startActivityForresult 有返回结果
    • requestcode:请求标志
    • resultcode: 第二个页面回传结果标志
    • data:第二个页面回传的数据

APP签名打包

export =>keystore
alias: china
password:
Confirm:
validity:

文本框样式

微信打赏

赞赏是不耍流氓的鼓励