Android开发

Android总结

本文主要是介绍Android总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第一章

一.什么是Android?

安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发,其中包含操作系统,中间件和核心应用等。

二.Android的平台架构。

1、Application 

    最上层是面向用户的Application(应用程序),包括电话程序、联系人程序、浏览器、地图、Email等。

2、Application Framework 

第二层是Application Framework,为开发人员提供访问核心组件所使用的API,包含了丰富的View组件、Content Providers(内容提供器)用来访问另一个应用程序的数据(如联系人),或者共享它们自己的数据、Resource Manager(资源管理器)提供对资源的访问(如本地字符串,图形,布局文件等)、Notification Manager(通知管理器)、Activity Manager(活动管理器)等。

3、Libraries 

    第三层是系统运行库,包含程序库和Android运行库。程序库中包含了一些C/C++库,通过应用框架为开发者提供服务,如:Libc(从BSD继承来的标准C系统函数库)、媒体库、SGL(2D图形引 擎)、3D libraries(基于OpenGL ES 1.0 APIs实现,可以使用硬件或软件3D加速)、SQLite(数据库引擎)等等。

4、Linux Kernel 

最下面一层是Linux核心,Android的核心系统依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。 Android的 Linux kernel也不是GNU/Linux。Android将驱动程序移到userspace,使得Linux driver与Linux kernel分开。

三.搭建Android开发环境

1.下载JDK

下载安装——环境配置——用cmd检查是否安装成功

JDK在当初学习java的时候就已经安装过,所以这一步没有遇到什么问题。

2.下载安装SDK

SDK的安装用了老师给的安装包,也成功的进行了安装。

3.Android Studio 

4模拟器的安装

第二章

 

一、Android studio真机测试

1.手机连接到电脑上

2.打开开发者模式,打开USB调试选项,选择传输文件选项

3.电脑下载手机助手,在Android studio调试窗口找到自己的手机进行运行。代码运行成功之后,就可以在电脑手机助手上看到运行结果。

二、Android studio自带模拟器安装

1.点击 +create virtual Device,选择你想要设置的模拟器,这里我们选择phone手机的。

2.选择手机型号,不同的手机型号对应不同的大小和分辨率。

3.选择好手机型号之后选择API的版本。

4.完成,运行即可。

三、安卓程序的结构

1.安卓一个项目就是一个project,一个项目中可以包含多个app,一个module对应一个app。做开发时,只需建一个project,之后只需要建module即可。

2.Android项目结构

(Android视图下)

manifests ——  AndroidManifest.xml

配置文件,里面含有app的名称,版本号,过滤器(决定那个activity是入口)等,以及activity,一个activity就是一个页面。

 java —— com.example ——MainActivity

Java文件,所有的事件,操作。

res—— layout—— activity_main.xml

布局文件,负责界面设计。

可以在设计界面操作,也可以在代码界面。

res  ——drawable

在旧版本里大部分情况下存放图片。

res ——  mipmap

存放图片

(ps:总的来说,app图标(launcher icon) 必须放在mipmap目录中,并且最好准备不同分辨率的图片,否则缩放后可能导致失真;而应用内使用到的图片资源,放在drawable目录亦或是mipmap目录中是没有区别的,该准备多个分辨率的还是要准备多个分辨率,如果只想使用一份切图,那尽量将切图放在高密度的文件夹中。)

re—— values

关于颜色的定义:colors.xml

关于字符串的定义:strings.xml

关于样式的定义:styles.xml

 

Project 视图下

app/build/ app模块build编译输出的目录

app/build.gradle app模块的gradle编译文件

app/app.iml app模块的配置文件

app/proguard-rules.pro app模块proguard文件

build.gradle 项目的gradle编译文件

settings.gradle 定义项目包含哪些模块

gradlew 编译脚本,可以在命令行执行打包

local.properties 配置SDK/NDK

MyApplication.iml 项目的配置文件

External Libraries 项目依赖的Lib, 编译时自动下载的

四、Android UI设计

1..Android UI布局:布局管理器listview列表视图GridView网络视图

2..Android中提供了7种布局管理器:帧布局管理器,水平线性布局管理器,垂直线性布局管理器,表格布局管理器,表格行布局管理器,网络布局管理器,相对布局管理器。

3..在一个Android应用程序中,用户界面通过view和viewgroup构造。Android中有很多种view和viewgroup,他们都继承自view类。

4..Android布局管理器可以很方便地控制各个组件的位置和大小,同时根据屏幕大小,管理容器内的控件,自动适配组件在手机屏幕中的位置。

 

第三章

 

一、帧布局管理器

1.FrameLayout(帧布局),这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个!虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置。

2.FrameLayout(帧布局)默认是按左上角(0,0)开始排布,在帧布局下的每一个控件都是以画面的形式进行呈现

最开始定义的控件出现在最下方,最后定义的控件出现在最上方,一般用于手机联系人的导航显示字母、帧动画等内容。

3.

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00ff00"
        android:text="你好"/>
    <TextView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="30dp"
        android:background="#ff0000"
        android:text="页面"/>

</FrameLayout>

 

二、线性布局管理器

1. LinearLayout是Android控件中的线性布局控件,它包含的子控件将以横向(HORIZONTAL)或竖向(VERTICAL)的方式排列,按照相对位置来排列所有的子控件及引用的布局容器。超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个控件或者是引用的布局容器。

2.LinearLayout线性布局的相关属性:

android:orientation

布局方向:"vertical"垂直线性布局,"horizontal"水平线性布局

android:id

为控件指定相应的ID

android:text

指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符

android:grivity

指定控件的基本位置,比如说居中,居右等位置

android:textSize

指定控件当中字体的大小

android:background

指定该控件所使用的背景色,RGB命名法

android:width

指定控件的宽度

android:height

指定控件的高度

android:padding

指定控件的内边距,也就是说控件当中的内容

android:singleLine

如果设置为真的话,则将控件的内容在同一行当中进行显示

android:layout_weight

默认值为0,layout_weight属性可以控制各个控件在布局中的相对大小,线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。

3.用XML方式实现线性布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    >
    <Button android:text="按钮1" android:id="@+id/button1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>
    <Button android:text="按钮2" android:id="@+id/button2"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>

 

4.用Java代码实现线性布局

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout layout = new LinearLayout(this);// 创建现行布局管理器
        LinearLayout.LayoutParams params = new LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.MATCH_PARENT);// 设置线性布局参数
        layout.setOrientation(LinearLayout.VERTICAL);
        TextView txt = new TextView(this);
        LinearLayout.LayoutParams txtParams = new LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);// 设置组件参数
        txt.setLayoutParams(txtParams);//将文本组件添加到线性布局当中
        txt.setText(Hello!);//设置文件组件的文本
        txt.setTextSize(20);//设置文本大小
        layout.addView(txt, txtParams);
        addContentView(layout, params);
    }
}

 

三、表格布局

1. TableLayout是采用表格的形式对控件的布局进行管理的,在TableLayout布局管理器之中,要使用TableRow进行表格的行控制,之后所有的组件要在TableRow中增加。

2. 表格布局相关属性

android:collapseColumns

设置指定的列为collapse,该列会被隐藏

android:shrinkColumns

设置指定的列为shrinkable,该列的宽度进行收缩,自适应父类容器的大小

android:stretchColumns

设置指定的列为stretch,该列会被拉伸,填充满表格的空白区域

四、相对布局

1.相对布局是通过相对定位的方式让控件出现在布局任意位置;在相对布局中如果不指定控件摆放的位置,那么控件都会被默认放在RelativeLayout的左上角。因此要先指定第一个控件的位置,再根据一个控件去给其他控件布局。

2.相对布局相关属性

  android:layout_centerHrizontal

水平居中 

 android:layout_centerVertical 

垂直居中 

 android:layout_centerInparent

 相对于父元素完全居中 

   android:layout_alignParentBottom

位于父元素的下边缘 

android:layout_below

 位于元素的下方 

android:layout_alignTop

该元素的上边缘和某元素的的上边缘对齐 

 android:layout_marginBottom

  底边缘的距离 

 

五、列表视图

1. ListView(列表视图)是Android中常用的UI组件之一,它将以垂直列表的形式列出要显示的列表项目。一般来说ListView都是和Adapter(适配器)一起配合使用,数组数据或者数据库数据都将通过Adapter把值传递给ListView组件。

2. Adapter实际上是UI组件和数据源之间的一座桥梁,Adapter把数据从数据源中得到后将传递给Adapter View(适配器视图),Adapter View则将数据呈现在如Spinner(列表选择框)、ListView(列表视图)、GrideView(网格视图)等UI组件中。实际上ListView、GrideView是Adapter View的子类,他们通常和一个Adapter在一起使用,Adapter负责收集外部数据,然后再把数据项以View的形式显示在界面上。

3. Android提供了好几种类型的Adapter,他们都是Adapter的子类,常用的Adapter类型有:ArraryAdapter(数组适配器)、Base Adapter(基本适配器)、CursorAdapter(游标适配器)、SimpleCursorAdapter(简单游标适配器)、SpinnerAdapter(列表适配器)和WrapperListAdapter(封装列表适配器)。不同的适配器将用于绑定不同类型的数据,比如ArraryAdapter就适合绑定数组数据。

4.  ListView(列表视图)的常用属


属性

描述

android:id

用于设置ListView的名称

android:divider

用于为ListView设置分割条,既可以用颜色分割,也可以用Drawable资源分割

android:dividerHeight

用于设置分割条的高度

android:entries

用于通过数组资源为ListView指定列表项

android:footerDividersEnabled

用于设置是否在footer view之前绘制分割条,默认为true,设置为false时,表示不绘制。需要通过ListView(列表视图)提供的addFooterView()方法为ListView(列表视图)添加footer view

 

六、网格视图

1. GridView(网格视图)是Android中常用的UI组件之一,它是按照行、列分布的方式来显示多个组件的,通常用于显示图片或图标等。

2. 网格视图常用属性

属性

描述

android:id

用于设置GridView的名称

android:columnWidth

用于设置列的宽度

android:gravity

用于设置对齐方式

android:horizontalSpacing

用于设置各元素之间的水平间距

android:numColumns

用于设置列数,其属性值通常大于1,如果值较大比如100或者为auto_fit,则将在可用空间中显示尽量多的列数。

android:stretchMode

用于设置拉伸模式,其中属性可以为:

none:不拉伸

spacingWidth:仅拉伸元素之间的间距

columnWidth:仅拉伸表格元素本身

spacingWidthUniform:表格元素本身、元素之间的间距一起拉伸

android:verticalSpacing

用于设置各元素之间的垂直间距

第四章

一、文本框TextView

 

  1. 用于在屏幕中显示文本,可以输入单行文本,也可以输入多行文本,还可以输入指定格式的文本(密码、电话号码、E_mail地址等)。
  2. TextView常用属性

属性

描述

android:id

用于设置文本框的名称

android:capitalize

用于设置输入英文字母是否自动变为大写字母

l   0表示不自动变为大写字母

l   1表示一句话的首字母自动变为大写字母

l   2表示每个单词的首字母自动变为大写字母

l   3表示所有字母自动变为大写字母

android:cursorVisible

当可以编辑时,光标是否显示

l   true表示光标显示

l   false表示光标不显示(默认值)

android:editable

如果设置为true,表示文本框可以进行编辑

android:fontFamily

用于设置文本框的字体样式

android:gravity

用于设置文本框的对齐方式,可选值有top、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal等。这些属性值也可以同时设定,各属性值之间用竖线隔开。例如要指定组件靠右下角对齐,可以使用属性值right|bottom

android:hint

用于设置当文本框中文本内容为空时,默认显示的提示文本

android:inputType

用于指定当前文本框显示内容的文本类型,其可选值有textpassword、textEmailAddress、phone和date等,可以同时指定多个,使用“|”竖线隔开。

android:maxHeight

用于设置文本框的最大高度

android:maxWidth

用于设置文本框的最大宽度

android:minHeight

用于设置文本框的最小高度

android:minWidth

用于设置文本框的最小高度

android:password

用于设置当文本框可以编辑时,里面的文本是否显示为隐藏密码样式“.”,显示为true,不显示为false

android:phoneNumber

用于设置当文本框可以编辑时,里面的文本是否显示为电话号码样式,显示为true,不显示为false

android:text

用于指定文本框中显示的文本内容

android:textAllCaps

用于设置文本框中的英文字母是否全部变为大写字母,变成大写字母为true,不变成大写字母为false

android:textColor

用于设置文本框内文本的颜色,其属性值可以是"#rgb"、 "#argb"、 "#rrggbb"或 "#aarrggbb"

android:textColorHighlight

用于设置文本框内文本的颜色是否高亮

android:textColorHint

用于设置文本框提示信息的颜色,其属性值可以是"#rgb"、 "#argb"、 "#rrggbb"或 "#aarrggbb"

属性

描述

android:textIsSelectable

用于设置当文本框不可以编辑时,文本框中的文字是否可以被选中,true为可以,false为不可以

android:textSize

用于设置文本框中文本的字体大小,其属性由代表大小的数值和单位组成,其单位可以是px、pt、sp和in等

android:textStyle

用于设置文本框中文本的样式,可以同时指定多个,使用“|”竖线隔开

l   0表示正常

l   1表示加粗

l   2表示斜体

这篇关于Android总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!