安卓开发入门(更新ing)

这篇具有很好参考价值的文章主要介绍了安卓开发入门(更新ing)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、创建项目:

1、环境安装(idea):

下载sdk:

配置gradle

第一次运行遇到的问题:

2、 项目讲解

目录结构

 gradle

 budle.gradle

​编辑 清单文件

Activity 

写一个界面实例:

运行效果:​编辑页面跳转 

 3:控件

文本控件-设置文本内容及大小:

文本控件-设置文本颜色:​编辑

​编辑视图基础-设置宽高:

视图基础-设置视图间距:

​编辑视图基础-设置视图对其方式:

常用布局-线性布局(LinearLayout)

常用布局-相对布局(RelativeLayout)

常用布局-网格布局(GridLayout)

常用布局-滚动视图(ScrolView)

按钮触控-按钮控件button 

按钮触控-点击事件和长按事件

按钮触控-禁用与恢复

​编辑 图像显示-图像视图

 图像显示-图像按钮

 图像显示-同时展现文本与图像

4、界面相关项目实战-计数器

1:界面设计:

​编辑

  5、activity:

启停活动页面

 在活动页面间的消息传递

为活动补充附加信息

中级控件

        图形定制

                图形Drawable

                形状图形

                九宫格图片

                状态列表图形

        选择按钮

                复选框CheckBox

                开关按钮Switch

                单选按钮RadioButton

        文本输入

                编辑框EditText

                焦点变更监听器

                文本变化监听器

        对话框

                提醒对话框AlertDialog

                日期对话框DatePickerDialog

                时间对话框TimePickerDialog

        实战项目:找回密码

                需求描述

                界面设计

                关键代码

数据存储

        共享参数SharedPreferences

                共享参数的用法

                实现记住密码功能

        数据库SQLite

                SQL的基本语法

​编辑

​编辑                数据库管理器SQLiteDatabase

                数据库SQLite

                数据库帮助器SQLiteOpenHelper

                优化记住密码功能

        存储卡的文件操作

                私有存储空间与公共存储空间

                在存储卡上读写文本文件

                在存储卡上读写图片文件

        应用组件Application

                Application的生命周期                利用Application操作全局变量                利用Room简化数据库操作

        实战项目:购物车

                需求描述                界面设计                关键代码


一、创建项目:

现在先在idea中new一个安卓项目:

安卓开发,android

1、环境安装(idea):

下载sdk:

安装sdk前一定要先安装jdk至少1.8以上

安卓开发,android

安卓开发,android

这里选择的是33也就是安卓13,后面可以自己选择

安卓开发,android

安卓开发,android

等待下载完成,下载完成后,进入选择项目界面,这里选择一个空项目:

安卓开发,android

 安卓开发,android

 点击finish进入开发界面

 安卓开发,android

配置gradle

进入项目后有一个gradle配置过程,这里要换成阿里的源

首先打开gradle配置,看看我们的gradle在哪里:

安卓开发,android

我的是在这里,我们打开这个目录,在下面新建一个init.gradle文件

安卓开发,android

粘贴如下:

allprojects{
    repositories {
        def REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            def url = repo.url.toString()
            if ((repo instanceof MavenArtifactRepository) && (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com'))) {
                project.logger.lifecycle 'Repository ${repo.url} replaced by $REPOSITORY_URL .'
                remove repo
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

安卓开发,android

 进入项目点击:

安卓开发,android

等待buidle完成即可 ,这里调试项目使用真机调试

安卓开发,android

第一次运行遇到的问题:

1、调试报错:

Installed Build Tools revision 33.0.0 is corrupted. Remove and install again using the SDK Manager.

这个是由于33的sdk有有错误

找到sdk目录我的在D:\adSDK\build-tools\33.0.2下面有个d8.bat改成dx.bat

安卓开发,android

找到D:\adSDK\build-tools\33.0.2\lib中的d8.jar改成dx.jar

安卓开发,android

重新点击运行成功运行:

无法安装到真机上报:

Error
			Installation did not succeed.
			The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

在这里加上:

android:exported="true"(允许被其他应用打开)

安卓开发,android

安装运行成功

2、 项目讲解

目录结构

安卓开发,android

 activity_main.xml是布局文件

 安卓开发,android

 安卓开发,android

安卓开发,android

 gradle

安卓开发,android

 budle.gradle

安卓开发,android

安卓开发,android

安卓开发,android

 安卓开发,android

安卓开发,android 清单文件

安卓开发,android

 安卓开发,android

 安卓开发,android

安卓开发,android

Activity 

安卓开发,android

 这就是一个页面,当我们从A页面跳到B页面就会开一个新的Activity

安卓开发,android

写一个界面实例:

安卓开发,android

安卓开发,android

1、编写xml文件

 安卓开发,android

2、编写java代码控制:

安卓开发,android

注册文件

安卓开发,android

运行效果:安卓开发,android页面跳转 

首先准备两个页面文件,通过直接new activity文件,会自动注册:

安卓开发,android

这里可以看到被自动注册进来了:

安卓开发,android

 在main1中加入按钮:

安卓开发,android

 设计main2界面:

安卓开发,android

在第一页的java文件中添加跳转方法:

 安卓开发,android

 运行成功:安卓开发,android

 3:控件

文本控件-设置文本内容及大小:

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

dp与sp对比:

安卓开发,android运行起来效果一样:

安卓开发,android

但是我们调整系统字体大小:

此时sp就会变大,所以sp只针对字体

 安卓开发,android

文本控件-设置文本颜色:安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

在java中默认颜色透明,在xml中如果没有前面两位默认不透明:

安卓开发,android

还可以引用资源文件:

 安卓开发,android

 安卓开发,android

 设置背景颜色:

 安卓开发,android

安卓开发,android视图基础-设置宽高:

安卓开发,android

 安卓开发,android

 安卓开发,android

安卓开发,android

 安卓开发,android

 安卓开发,android

安卓开发,android

视图基础-设置视图间距:

 安卓开发,android

安卓开发,android

安卓开发,android视图基础-设置视图对其方式:

 安卓开发,android

 安卓开发,android

 安卓开发,android安卓开发,android

常用布局-线性布局(LinearLayout)

安卓开发,android

安卓开发,android

安卓开发,android 安卓开发,android

常用布局-相对布局(RelativeLayout)

安卓开发,android

 安卓开发,android

默认在左上角:

安卓开发,android 安卓开发,android

 安卓开发,android

 安卓开发,android

 安卓开发,android

 安卓开发,android

 安卓开发,android

 安卓开发,android

 跟上级的左边对其安卓开发,android

安卓开发,android 这样设置跟中间左边,只会飘到上面去安卓开发,android

 再设置—条跟它顶部对其安卓开发,android

 安卓开发,android

 在中间右边安卓开发,android

 在中间的上面,并且左边对其安卓开发,android

常用布局-网格布局(GridLayout)

安卓开发,android

指定两行两列:

安卓开发,android效果:

安卓开发,android

 可以使用gravity设置下级居中:安卓开发,android

 使用列权重均匀分配网格安卓开发,android

常用布局-滚动视图(ScrolView)

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

按钮触控-按钮控件button 

安卓开发,android

安卓开发,android 安卓开发,android

 按钮绑定监听方法安卓开发,android

 安卓开发,android

 安卓开发,android

按钮触控-点击事件和长按事件

安卓开发,android

点击事件推荐写法:

安卓开发,android 如果把这个类直接继承那么,这些按钮公用这个activity都会有监听功能:

安卓开发,android

 安卓开发,android

 长按事件:如要返回true那么分组件也会觖发长按

安卓开发,android

按钮触控-禁用与恢复

安卓开发,android

安卓开发,android 图像显示-图像视图

安卓开发,android

放一个图片:

安卓开发,android

使用图片:

安卓开发,android

在java代码中使用图片:

安卓开发,android 正常显示:

安卓开发,android

 有时候图片会变大变小:

安卓开发,android

默认居中:

拉伸图片:

安卓开发,android 代码中的使用:

安卓开发,android

安卓开发,android

 图像显示-图像按钮

安卓开发,android

安卓开发,android xml中设置:

安卓开发,android

效果:

安卓开发,android 设置等比居中:

安卓开发,android

安卓开发,android

 图像显示-同时展现文本与图像

安卓开发,android

设置图标在文字左边:

安卓开发,android 效果:

安卓开发,android

 紫色为默认主题颜色紫色:

安卓开发,android

安卓开发,android

手动改背景色不会起作用:

安卓开发,android

修改继承的类:

安卓开发,android

 安卓开发,android

设置文字间距:

安卓开发,android

4、界面相关项目实战-计数器

1:界面设计:

安卓开发,android

 安卓开发,android

安卓开发,android

  5、activity:

启停活动页面

启动和结束

安卓开发,android

生命周期

安卓开发,android

安卓开发,android

我们启动一下时执行顺序:

先创建活动 -》开始活动活动页面显示在屏幕上-》屏幕上可以交互

安卓开发,android

安卓开发,android

 点击跳转:

安卓开发,android

 到下一页:

安卓开发,android

 跳转时执行顺序:

onPause当前页面暂停交互但是还是可以显示-》onStop页面不再屏幕上显示

安卓开发,android

 点击返回:

安卓开发,android

安卓开发,android

 点击返回到主页面:

安卓开发,android

 安卓开发,android

 点击跳转快速点击返回:

在跳转后立马返回,会导致我正在停止当前的一些交互,还没消失,立马又回来了,那么又可以开始建立交互了。所以这样是不会执行onStop()

安卓开发,android安卓开发,android安卓开发,android

安卓开发,android

 无论是onPause还是onStop在内存不足的情况下,都会出现在后台被杀死的情况。从新进来的话就会重新执行onCreate()

安卓开发,android

安卓开发,android

启动模式

安卓开发,android

设置启动模式:

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android 比如微信支付,支付宝支付,已经支付了,就不需要重复创建

安卓开发,android 比如跳转到主界面、播放视频这种耗费资源的

 安卓开发,android

安卓开发,android 安卓开发,android

除了在xml中实现,还可以在java代码中动态实现:

安卓开发,android 1、首先创建两个activity

安卓开发,android

安卓开发,android

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

 实现效果,如果没有设置的话,这里我们1->2->1->2点返回的话

就是2->1->2->1->main

但是如果我们设置了的话:

就是1->2->1->2点返回的话:

2->1->main

 安卓开发,android

创建页面1

安卓开发,android

安卓开发,android

 创建页面2安卓开发,android安卓开发,android

效果:点击跳转:

安卓开发,android

跳到成功页面点击返回:

安卓开发,android

 直接退出

安卓开发,android

 在活动页面间的消息传递

显示intent和隐intent

安卓开发,android

安卓开发,android 安卓开发,android

 安卓开发,android

 代码中的使用:
安卓开发,android

这里setComponent可以直接调用包名指定类名,而不需要知道class,常常用于调用第三方应用。 

 ​​​​​​

隐式类似于大家设置一个暗号,对上暗号就可以调用对应的活动:安卓开发,android

举个打电话的例子:

界面:安卓开发,android

 效果:

安卓开发,android

java代码:

安卓开发,android安卓开发,android 

打电话效果:

 安卓开发,android

 安卓开发,android

如果同时intent.xxx是相同的,那么就会跳出一个选择框询问我们选择哪一个应用打开

 如果我们需要被其他应用调用的话,这里我们需要做一些设置,因为默认我们是只能被主页面调用,我们需要设置可以被其他应用调用:

1、首先修改我们目标应用的xml文件:

安卓开发,android

安卓开发,android

在我们的app中设置好相应的name就可以进行跳转了 安卓开发,android

向下一个activity发送消息

安卓开发,android

实例:把文字传到下一个活动中去

界面设计:

安卓开发,android 安卓开发,android

 java代码跳转塞入数据:

安卓开发,android

 第二个活动取数据:

页面2设计:

安卓开发,android

java代码:获取传递数据

安卓开发,android
演示:

安卓开发,android

安卓开发,android

向上一个activity发送消息

安卓开发,android

实例:

创建request、response界面

    request:

安卓开发,android

java文件:

定义一个register可以调用callback函数进行回调:

安卓开发,android

红框内添加对response的处理:

安卓开发,android

通过regist进行跳转:

安卓开发,android

response:

安卓开发,android

 java代码:

这里解析request

安卓开发,android

 收到request通过setResult发送一个response回去

安卓开发,android

 运行逻辑:

发送请求:

安卓开发,android

拿到消息,返回应答:

安卓开发,android

成功处理应答:

安卓开发,android

为活动补充附加信息

利用资源文件配置字符串

这样的好处就是,资源文件不需要编译,方便修改

在资源文件中定义一个string:

安卓开发,android

编写空界面:

安卓开发,android 在java代码中获取修改:

安卓开发,android

主activity修改成这个活动运行:

安卓开发,android

显示成功

 安卓开发,android

利用元数据传递配置信息

安卓开发,android

使用场景:第三方sdk读取token就会从这里读取token

直接在配置清单里配置元数据:

安卓开发,android

编写一个空文件:

安卓开发,android

 获取元数据:

安卓开发,android

给应用页面注册快捷方式

安卓开发,android

中级控件

        图形定制

                图形Drawable

安卓开发,android

安卓开发,android 使用实例:

安卓开发,android

                形状图形

安卓开发,android

安卓开发,android

安卓开发,android 实例: 

xml:

安卓开发,android

安卓开发,android点击切换背景

 安卓开发,android

 定义矩形shape:

安卓开发,android

安卓开发,android

 定义一个椭圆的shape:

安卓开发,android

 安卓开发,android

 默认将我们的activity设置为圆角矩形:

安卓开发,android

点击改变形状:

安卓开发,android

效果:

安卓开发,android

 点击改变:

安卓开发,android

安卓开发,android

安卓开发,android 安卓开发,android 安卓开发,android

安卓开发,android 安卓开发,android

                九宫格图片

安卓开发,android

                状态列表图形

安卓开发,android

实例:

创建选择器:定义按下和没有按下的状态

安卓开发,android

使用,这里为了方便对比,使用一个正常的和选择器的进行对比

安卓开发,android 运行效果:

安卓开发,android

安卓开发,android

        选择按钮

安卓开发,android

                复选框CheckBox

安卓开发,android

安卓开发,android

自定义复选框样式:

自定义selector:安卓开发,android 使用selector:

安卓开发,android 效果:

安卓开发,android

默认选中:

安卓开发,android

复选框事件监听:

安卓开发,android

效果:

安卓开发,android

                开关按钮Switch

安卓开发,android

实例:

安卓开发,android

安卓开发,android

用于显示状态:

安卓开发,android

设置监听:

安卓开发,android

运行效果:

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

                单选按钮RadioButton

安卓开发,android

安卓开发,android

        文本输入

                编辑框EditText

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android 安卓开发,android

隐藏边框:

安卓开发,android 设置边框获取焦点失去焦点样式

聚焦shape:

安卓开发,android 安卓开发,android

失去焦点变成灰色:是下面那个aaaa,这里标错了

安卓开发,android

安卓开发,android

 定义selector:

安卓开发,android

效果:

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

 安卓开发,android

 安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

 安卓开发,android

输入完就关闭输入法:

安卓开发,android

                焦点变更监听器

                文本变化监听器

        对话框

                提醒对话框AlertDialog

安卓开发,android

安卓开发,android

编辑界面:

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

                日期对话框DatePickerDialog

安卓开发,android

安卓开发,android

日期样式:

安卓开发,android

安卓开发,android

隐藏日历:

安卓开发,android

                时间对话框TimePickerDialog

        实战项目:找回密码

                需求描述

                界面设计

                关键代码

数据存储

        共享参数SharedPreferences

安卓开发,android

安卓开发,android

安卓开发,android

                共享参数的用法

示例:安卓开发,android

使用:

安卓开发,android

对文件进行编辑:

安卓开发,android

演示:

安卓开发,android

查看文件已经保存成功:

安卓开发,android

安卓开发,android

 获取文件:

安卓开发,android

运行即可读出:

安卓开发,android


                实现记住密码功能

        数据库SQLite

安卓开发,android

                SQL的基本语法

安卓开发,android

安卓开发,android
                数据库管理器SQLiteDatabase

安卓开发,android

安卓开发,android


                数据库SQLite

安卓开发,android

 安卓开发,android

 界面:安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android


                数据库帮助器SQLiteOpenHelper

安卓开发,android

界面:

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

创建pojo:

安卓开发,android插入:安卓开发,android 

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

提示工具: 

安卓开发,android

 安卓开发,android

 安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

数据库版本更新的时候执行:

安卓开发,android

数据库升级为2:

安卓开发,android

调用:

安卓开发,android

安卓开发,android


                优化记住密码功能

        存储卡的文件操作

安卓开发,android

外部空间中,自己的私有空间,卸载后就会被删除

实例:安卓开发,android 

安卓开发,android

 保存sb文件:

安卓开发,android

保存目录:

安卓开发,android

安卓开发,android 读取文件:

安卓开发,android

 使用外部权限:

安卓开发,android 安卓开发,android

外部空间:

安卓开发,android

安卓开发,android

 安卓开发,android

 安卓开发,android

                私有存储空间与公共存储空间


                在存储卡上读写文本文件


                在存储卡上读写图片文件

安卓开发,android

创建一个活动:点保存就将图片保存到sd卡上,点读取就将图片读取出来

安卓开发,android

编写保存按钮功能:

安卓开发,android

安卓开发,android

 安卓开发,android

读取图片:返回一个bitmap在前端显示

安卓开发,android

安卓开发,android

 运行:

保存成功

安卓开发,android

 保存路径:

安卓开发,android

安卓开发,android 点击读取:

第二种读取方式:

安卓开发,android

安卓开发,android

第三种方式

安卓开发,android

        应用组件Application

                Application的生命周期

安卓开发,android

我们没有指定使用的就是默认的application:

安卓开发,android

我们自己创建一个“

” 安卓开发,android

指定我们的application
安卓开发,android

安卓开发,android

安卓开发,android

修改主activity运行:

安卓开发,android onTerminate在生产环境中不会被调用。

安卓开发,android

使用application: 

安卓开发,android 创建一个activity:
放入参数:

安卓开发,android

读取参数:

安卓开发,android 运行:

安卓开发,android

保存信息:

安卓开发,android

退出再进来是有数据的:

安卓开发,android

如果进程结束就会结束掉application:

安卓开发,android 再进去是不会加载到信息的:

安卓开发,android

安卓开发,android

每个app最大一百m


                利用Application操作全局变量
                利用Room简化数据库操作

 安卓开发,android

在之前我们查询需要游标来确定查询位置:

安卓开发,android

 安卓开发,android

添加依赖:

安卓开发,android

增加界面:

安卓开发,android

构建实体类:

 安卓开发,android

编写dao层:

安卓开发,android

安卓开发,android 安卓开发,android

指定schema生成文件的地方:

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android 安卓开发,android

        实战项目:购物车

                需求描述
                界面设计
                关键代码

内容共享

        在应用之间共享数据

                通过ContentProvider封装数据

使用场景:获取短信、通讯录

安卓开发,android

安卓开发,android
                通过ContentResolver访问数据

首先我们创建一个客服端一个服务端:

效果:在客户端输入内容,在服务端操作数据库:

安卓开发,android

创建一个provider:

安卓开发,android

安卓开发,android

添加配置:authorities是我们的访问入口

安卓开发,android

 使用之前的dbhelp创建数据库用:

安卓开发,android

获取db连接:

安卓开发,android

安卓开发,android

增加:data_path是表名:安卓开发,android 

 查询:

安卓开发,android

客户端代码:

界面:安卓开发,android 

绑定按钮:

安卓开发,android

 访问服务端需要用到:

安卓开发,android

封装一个url对应server的url:

安卓开发,android

 点击保存直接保存到server中去:

安卓开发,android

查询:安卓开发,android 修改配置文件

安卓开发,android

发布运行;

先发布server:

一发布provider就起来了(应用启动就创建):我们后面可以把一些配置文件写在这里(内存检查)

安卓开发,android 启动客户:点击保存:保存成功

安卓开发,android

 插入执行成功:

安卓开发,android

点击读取成功:

安卓开发,android

删除:

安卓开发,android

        使用内容组件获取通讯信息

                运行时动态申请权限


                利用ContentResolveri读写联系人


                利用ContentObserver监听短信

        在应用之间共享文件

                使用相册图片发送彩信


                借助FileProvider发送彩信


                借助FileProvider安装应用

高级控件:

        下拉列表

                下拉列表Spinner

安卓开发,android

实例:

spinnerMode两个选择 

安卓开发,android

效果:

安卓开发,android

安卓开发,android

安卓开发,android

                数组适配器ArrayAdapter
安卓开发,android
                

编写一个条目:

tools:在代码中运行是没有的,只有在预览才有:

 安卓开发,android

 构建数组适配器,需要条目以及数据:

安卓开发,android

 构建数组适配器:

安卓开发,android

 设置适配器:

安卓开发,android

 设置监听:

安卓开发,android

安卓开发,android

 安卓开发,android

安卓开发,android

对话框模式:

修改成安卓开发,android 

除了可以加标题,其他都一样:

安卓开发,android

安卓开发,android  

简单适配器SimpleAdapter

 安卓开发,android

实例:

安卓开发,android

现在的条目需要一个imageview和一个textView

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

        列表类视图

                基本适配器BaseAdapter

安卓开发,android

安卓开发,android

条目:安卓开发,android
               

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

 安卓开发,android

安卓开发,android 安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android 效果:

安卓开发,android

                 列表视图ListView

安卓开发,android

安卓开发,android

安卓开发,android

条目布局:

安卓开发,android

用之前那个适配器

安卓开发,android

安卓开发,android

安卓开发,android

发布运行:每个条目之间都有分割线,点击后会变成灰色

安卓开发,android

 不要分割线,间距为0,点击后透明色安卓开发,android

 安卓开发,android

增加可配置项:

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

安卓开发,android

创建一个activity:

安卓开发,android

条目:在原来的基础上加一个button

安卓开发,android

编写适配器:在之前的基础上加一个按钮

安卓开发,android

 安卓开发,android

安卓开发,android

安卓开发,android

效果:安卓开发,android 

点击条目要弹出的话,需要关闭向下传递

安卓开发,android


                网格视图GridView

安卓开发,android

安卓开发,android

安卓开发,android 实例:

设置两列:

安卓开发,android

使用之前的条目做条目:

安卓开发,android

 让gridview展示条目,需要适配器:使用之前的baseAdapt:

安卓开发,android

安卓开发,android

运行效果:安卓开发,android 

安卓开发,android 

 文章来源地址https://www.toymoban.com/news/detail-757274.html

        翻页类视图

                翻页视图ViewPager

安卓开发,android

安卓开发,android

实例:创建xml:安卓开发,android

安卓开发,android 


                翻页标签栏PagerTabStrip

安卓开发,android

编辑xml:安卓开发,android 

 


                简单的启动引导页

        Fragment

安卓开发,android

                碎片的静态注册

安卓开发,android

我们现在显示一个这样的界面:上面是一个fragment,下面是一个文本

安卓开发,android

静态注册上面的文本:

创建fragment:

安卓开发,android 

安卓开发,android 安卓开发,android

连接创建的fragment:安卓开发,android 

效果:安卓开发,android 

fragment布局:安卓开发,android 

 运行效果:安卓开发,android

 查看布局:

安卓开发,android

  碎片的生命周期:

安卓开发,android

安卓开发,android 


                碎片的动态注册

 创建viewpage:安卓开发,android

创建动态碎片:

安卓开发,android 

 


                改进的启动引导页

到了这里,关于安卓开发入门(更新ing)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • prompt工程(持续更新ing...)

    prompt工程(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 我准备想办法把这些东西整合到我的ScholarEase项目里。到时候按照分类、按照prompt生成方法列一堆选项,用户自己生成prompt后可以选择在ScholarEase里面聊天,也可以复制到别的地方(比如ChatGPT网页版之类的) 其实以现在GPT-4的能力来说,直接就

    2024年02月12日
    浏览(24)
  • 推理数据集(持续更新ing…)

    诸神缄默不语-个人CSDN博文目录 这两部分因为与GitHub上的有所重合,所以我全都归到那边了,这边的内容也放到那边了:PolarisRisingWar/Numerical_Reasoning_Collection: A collection for numerical reasoning, including datasets, algorithms and so on. LogiQA(中英文) 原始论文:(2020 IJCAI) LogiQA: A Challenge Da

    2024年02月10日
    浏览(15)
  • 神经网络解决回归问题(更新ing)

    神经网络解决回归问题(更新ing)

    神经网络是处理回归问题的强大工具,它们能够学习输入数据和输出之间的复杂关系。 神经网络提供了一种灵活且强大的框架,用于建模和预测回归问题。通过 适当的 网络结构 、 训练策略 和 正则化 技术,可以有效地从数据中学习并做出准确的预测。 在实际应用中,选择

    2024年04月10日
    浏览(12)
  • 李宏毅机器学习课程笔记(更新ing)

    basic Why deep not fat model? 当需要拟合的pattern复杂度很高时,deep model需要的参数量远低于fat model(指数组合与线性组合)。 另外当pattern复杂且有规律时(语音、图像、NLP),deep model通常表现好于fat model。 CNN 为什么AlphaGo可以用CNN?棋盘抽象成图片时需要注意什么? 首先图片有

    2024年02月10日
    浏览(11)
  • sentinel踩坑记录——持续更新ing

    sentinel踩坑记录——持续更新ing

    自定义被限流的后续操作@SentinelResource(blockHandler = \\\"blockHandler\\\"),其中blockHandler处理函数不执行 前置条件  定义好资源和流控规则之后,如果每秒访问超过2个请求,那么就会触发流控,从而应该执行 blockHandler(int a, BlockException e) 方法,但是实际情况是即使触发了流控规则依然

    2024年02月05日
    浏览(8)
  • 资源搜索引擎集合1(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 不是所有网址我都用过。如有失效请联系我。 电影 在线版 蓝鲸电影 电影狗 - 专业电影搜索引擎(电影狗发布页:http://www.haodyg.com/) 电影天堂 高清电台 APP 小小影视APP官网-全民影音播放器! 追风视频(可用应用宝下载) 555电影APP下载-555电影

    2024年01月20日
    浏览(10)
  • Python虚拟环境管理(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 本文介绍Python语言管理虚拟环境的工具(anaconda,virtualenv) 使用虚拟环境主要是为了1. 防止新的包把整个环境搞乱 2. 有时需要跑不同版本的代码,这就需要机器上有不同版本的环境 最近更新时间:2023.5.31 最早更新时间:2023.5.31 优势是简单易

    2024年02月07日
    浏览(10)
  • Nginx 报错问题汇总(持续更新ing)

    Nginx 报错问题汇总(持续更新ing)

    目录 一、nginx: [emerg] invalid number of arguments in \\\"include\\\" directive in C:Program Filesnginx-1.15.4/conf/nginx.conf:61 总结: 二、nginx: [error] OpenEvent(\\\"Globalngx_reload_2152\\\") failed (5: Access is denied) 解决方案: 三、nginx: [emerg] unknown directive \\\"stream\\\" in /etc/nginx/nginx.conf:13 问题原因 解决办法 时间:2022-1

    2024年02月05日
    浏览(10)
  • 在线加密解密网站大全2022(更新中ing)

    MD5免费在线解密破解_MD5在线加密-SOMD5 md5解密 MD5在线解密 破解md5 Unicode编码转换 - 站长工具 AES加密,DES加密,RC4加密,Rabbit加密,TripleDes加密 - 站长工具 Base64编码、解码 - 站长工具 Image2Base64,图片转换成base64编码,base64还原成图片 base64图片在线转换工具 - 站长工具 在线指纹识别,在

    2024年02月09日
    浏览(17)
  • 【统计分析】(task4) 应用随机过程(更新ing)

    【统计分析】(task4) 应用随机过程(更新ing)

    task4学习datawhale萌弟的随机过程。概率论中我们会对随机变量本身进行研究(如随机变量的分布函数、密度函数等等)。不像多维随机变量、大数定律中的无穷多个随机变量是相互独立的,随机过程是也是研究无穷多个随机变量,但它们很多情况下不是相互独立的,注意随机

    2024年02月15日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包