安卓开发入门(更新ing),安卓开发入门指南(持续更新中)

马肤

温馨提示:这篇文章已超过469天没有更新,请注意相关的内容是否还可用!

摘要:本教程旨在帮助初学者快速入门安卓开发。内容涵盖安卓开发的基础知识、开发环境搭建、常用工具和编程语言介绍。通过逐步教学,让读者了解安卓应用的基本架构和编程技巧。教程不断更新,以适应安卓开发领域的最新发展和变化。适合对安卓开发感兴趣的人群,尤其是初学者。

目录

一、创建项目:

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一个安卓项目:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第1张

1、环境安装(idea):

下载sdk:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第2张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第3张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第4张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第5张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第6张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第7张

 点击finish进入开发界面

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第8张

配置gradle

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

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第9张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第10张

粘贴如下:

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
        }
    }
}

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第11张

 进入项目点击:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第12张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第13张

第一次运行遇到的问题:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第14张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第15张

重新点击运行成功运行:

无法安装到真机上报:

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

在这里加上:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第16张

安装运行成功

2、 项目讲解

目录结构

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第17张

 activity_main.xml是布局文件

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第18张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第19张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第20张

 gradle

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第21张

 budle.gradle

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第22张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第23张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第24张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第25张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第26张 清单文件

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第27张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第28张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第29张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第30张

Activity 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第31张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第32张

写一个界面实例:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第33张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第34张

1、编写xml文件

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第35张

2、编写java代码控制:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第36张

注册文件

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第37张

运行效果:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第38张页面跳转 

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第39张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第40张

 在main1中加入按钮:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第41张

 设计main2界面:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第42张

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

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第43张

 运行成功:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第44张

 3:控件

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第45张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第46张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第47张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第48张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第49张

dp与sp对比:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第50张运行起来效果一样:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第51张

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

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

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第52张

文本控件-设置文本颜色:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第53张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第54张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第55张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第56张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第57张

还可以引用资源文件:

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第58张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第59张

 设置背景颜色:

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第60张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第61张视图基础-设置宽高:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第62张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第63张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第64张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第65张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第66张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第67张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第68张

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

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第69张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第70张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第71张视图基础-设置视图对其方式:

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第72张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第73张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第74张安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第75张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第76张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第77张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第78张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第79张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第80张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第81张

默认在左上角:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第82张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第83张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第84张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第85张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第86张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第87张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第88张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第89张

 跟上级的左边对其安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第90张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第91张 这样设置跟中间左边,只会飘到上面去安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第92张

 再设置—条跟它顶部对其安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第93张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第94张

 在中间右边安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第95张

 在中间的上面,并且左边对其安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第96张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第97张

指定两行两列:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第98张效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第99张

 可以使用gravity设置下级居中:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第100张

 使用列权重均匀分配网格安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第101张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第102张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第103张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第104张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第105张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第106张

按钮触控-按钮控件button 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第107张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第108张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第109张

 按钮绑定监听方法安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第110张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第111张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第112张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第113张

点击事件推荐写法:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第114张 如果把这个类直接继承那么,这些按钮公用这个activity都会有监听功能:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第115张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第116张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第117张

按钮触控-禁用与恢复

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第118张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第119张 图像显示-图像视图

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第120张

放一个图片:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第121张

使用图片:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第122张

在java代码中使用图片:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第123张 正常显示:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第124张

 有时候图片会变大变小:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第125张

默认居中:

拉伸图片:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第126张 代码中的使用:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第127张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第128张

 图像显示-图像按钮

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第129张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第130张 xml中设置:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第131张

效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第132张 设置等比居中:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第133张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第134张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第135张

设置图标在文字左边:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第136张 效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第137张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第138张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第139张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第140张

修改继承的类:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第141张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第142张

设置文字间距:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第143张

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

1:界面设计:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第144张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第145张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第146张

  5、activity:

启停活动页面

启动和结束

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第147张

生命周期

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第148张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第149张

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

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第150张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第151张

 点击跳转:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第152张

 到下一页:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第153张

 跳转时执行顺序:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第154张

 点击返回:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第155张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第156张

 点击返回到主页面:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第157张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第158张

 点击跳转快速点击返回:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第159张安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第160张安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第161张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第162张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第163张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第164张

启动模式

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第165张

设置启动模式:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第166张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第167张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第168张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第169张 比如微信支付,支付宝支付,已经支付了,就不需要重复创建

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第170张 比如跳转到主界面、播放视频这种耗费资源的

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第171张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第172张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第173张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第174张 1、首先创建两个activity

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第175张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第176张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第177张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第178张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第179张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第180张

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

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

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

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

2->1->main

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第181张

创建页面1

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第182张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第183张

 创建页面2安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第184张安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第185张

效果:点击跳转:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第186张

跳到成功页面点击返回:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第187张

 直接退出

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第188张

 在活动页面间的消息传递

显示intent和隐intent

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第189张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第190张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第191张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第192张

 代码中的使用:
安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第193张

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

 ​​​​​​

隐式类似于大家设置一个暗号,对上暗号就可以调用对应的活动:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第194张

举个打电话的例子:

界面:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第195张

 效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第196张

java代码:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第197张安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第198张 

打电话效果:

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第199张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第200张

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

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

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第201张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第202张

在我们的app中设置好相应的name就可以进行跳转了 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第203张

向下一个activity发送消息

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第204张

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

界面设计:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第205张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第206张

 java代码跳转塞入数据:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第207张

 第二个活动取数据:

页面2设计:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第208张

java代码:获取传递数据

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第209张

演示:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第210张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第211张

向上一个activity发送消息

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第212张

实例:

创建request、response界面

    request:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第213张

java文件:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第214张

红框内添加对response的处理:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第215张

通过regist进行跳转:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第216张

response:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第217张

 java代码:

这里解析request

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第218张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第219张

 运行逻辑:

发送请求:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第220张

拿到消息,返回应答:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第221张

成功处理应答:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第222张

为活动补充附加信息

利用资源文件配置字符串

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

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第223张

编写空界面:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第224张 在java代码中获取修改:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第225张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第226张

显示成功

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第227张

利用元数据传递配置信息

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第228张

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

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第229张

编写一个空文件:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第230张

 获取元数据:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第231张

给应用页面注册快捷方式

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第232张

中级控件

        图形定制

                图形Drawable

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第233张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第234张 使用实例:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第235张

                形状图形

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第236张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第237张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第238张 实例: 

xml:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第239张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第240张点击切换背景

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第241张

 定义矩形shape:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第242张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第243张

 定义一个椭圆的shape:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第244张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第245张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第246张

点击改变形状:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第247张

效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第248张

 点击改变:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第249张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第250张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第251张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第252张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第253张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第254张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第255张

                九宫格图片

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第256张

                状态列表图形

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第257张

实例:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第258张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第259张 运行效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第260张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第261张

        选择按钮

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第262张

                复选框CheckBox

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第263张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第264张

自定义复选框样式:

自定义selector:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第265张 使用selector:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第266张 效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第267张

默认选中:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第268张

复选框事件监听:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第269张

效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第270张

                开关按钮Switch

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第271张

实例:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第272张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第273张

用于显示状态:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第274张

设置监听:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第275张

运行效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第276张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第277张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第278张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第279张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第280张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第281张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第282张

                单选按钮RadioButton

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第283张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第284张

        文本输入

                编辑框EditText

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第285张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第286张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第287张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第288张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第289张

隐藏边框:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第290张 设置边框获取焦点失去焦点样式

聚焦shape:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第291张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第292张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第293张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第294张

 定义selector:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第295张

效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第296张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第297张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第298张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第299张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第300张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第301张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第302张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第303张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第304张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第305张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第306张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第307张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第308张

输入完就关闭输入法:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第309张

                焦点变更监听器

                文本变化监听器

        对话框

                提醒对话框AlertDialog

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第310张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第311张

编辑界面:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第312张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第313张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第314张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第315张

                日期对话框DatePickerDialog

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第316张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第317张

日期样式:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第318张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第319张

隐藏日历:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第320张

                时间对话框TimePickerDialog

        实战项目:找回密码

                需求描述

                界面设计

                关键代码

数据存储

        共享参数SharedPreferences

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第321张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第322张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第323张

                共享参数的用法

示例:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第324张

使用:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第325张

对文件进行编辑:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第326张

演示:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第327张

查看文件已经保存成功:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第328张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第329张

 获取文件:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第330张

运行即可读出:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第331张

                实现记住密码功能

        数据库SQLite

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第332张

                SQL的基本语法

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第333张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第334张

                数据库管理器SQLiteDatabase

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第335张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第336张

                数据库SQLite

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第337张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第338张

 界面:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第339张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第340张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第341张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第342张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第343张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第344张

                数据库帮助器SQLiteOpenHelper

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第345张

界面:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第346张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第347张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第348张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第349张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第350张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第351张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第352张

创建pojo:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第353张插入:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第354张 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第355张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第356张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第357张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第358张

提示工具: 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第359张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第360张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第361张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第362张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第363张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第364张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第365张

数据库升级为2:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第366张

调用:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第367张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第368张

                优化记住密码功能

        存储卡的文件操作

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第369张

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

实例:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第370张 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第371张

 保存sb文件:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第372张

保存目录:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第373张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第374张 读取文件:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第375张

 使用外部权限:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第376张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第377张

外部空间:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第378张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第379张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第380张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第381张

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

                在存储卡上读写文本文件

                在存储卡上读写图片文件

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第382张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第383张

编写保存按钮功能:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第384张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第385张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第386张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第387张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第388张

 运行:

保存成功

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第389张

 保存路径:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第390张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第391张 点击读取:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第392张

第二种读取方式:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第393张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第394张

第三种方式

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第395张

        应用组件Application

                Application的生命周期

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第396张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第397张

我们自己创建一个“

” 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第398张

指定我们的application
安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第399张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第400张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第401张

修改主activity运行:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第402张 onTerminate在生产环境中不会被调用。

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第403张

使用application: 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第404张 创建一个activity:

放入参数:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第405张

读取参数:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第406张 运行:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第407张

保存信息:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第408张

退出再进来是有数据的:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第409张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第410张 再进去是不会加载到信息的:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第411张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第412张

每个app最大一百m

                利用Application操作全局变量

                利用Room简化数据库操作

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第413张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第414张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第415张

添加依赖:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第416张

增加界面:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第417张

构建实体类:

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第418张

编写dao层:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第419张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第420张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第421张

指定schema生成文件的地方:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第422张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第423张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第424张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第425张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第426张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第427张

        实战项目:购物车

                需求描述

                界面设计

                关键代码

内容共享

        在应用之间共享数据

                通过ContentProvider封装数据

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第428张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第429张

                通过ContentResolver访问数据

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

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第430张

创建一个provider:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第431张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第432张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第433张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第434张

获取db连接:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第435张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第436张

增加:data_path是表名:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第437张 

 查询:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第438张

客户端代码:

界面:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第439张 

绑定按钮:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第440张

 访问服务端需要用到:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第441张

封装一个url对应server的url:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第442张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第443张

查询:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第444张 修改配置文件

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第445张

发布运行;

先发布server:

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第446张 启动客户:点击保存:保存成功

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第447张

 插入执行成功:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第448张

点击读取成功:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第449张

删除:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第450张

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

                运行时动态申请权限

                利用ContentResolveri读写联系人

                利用ContentObserver监听短信

        在应用之间共享文件

                使用相册图片发送彩信

                借助FileProvider发送彩信

                借助FileProvider安装应用

高级控件:

        下拉列表

                下拉列表Spinner

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第451张

实例:

spinnerMode两个选择 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第452张

效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第453张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第454张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第455张

                数组适配器ArrayAdapter
安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第456张

                

编写一个条目:

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

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第457张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第458张

 构建数组适配器:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第459张

 设置适配器:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第460张

 设置监听:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第461张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第462张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第463张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第464张

对话框模式:

修改成安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第465张 

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第466张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第467张  

简单适配器SimpleAdapter

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第468张

实例:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第469张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第470张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第471张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第472张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第473张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第474张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第475张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第476张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第477张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第478张

        列表类视图

                基本适配器BaseAdapter

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第479张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第480张

条目:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第481张

               

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第482张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第483张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第484张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第485张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第486张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第487张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第488张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第489张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第490张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第491张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第492张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第493张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第494张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第495张 效果:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第496张

                 列表视图ListView

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第497张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第498张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第499张

条目布局:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第500张

用之前那个适配器

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第501张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第502张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第503张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第504张

 不要分割线,间距为0,点击后透明色安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第505张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第506张

增加可配置项:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第507张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第508张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第509张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第510张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第511张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第512张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第513张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第514张

创建一个activity:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第515张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第516张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第517张

 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第518张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第519张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第520张

效果:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第521张 

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第522张

                网格视图GridView

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第523张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第524张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第525张 实例:

设置两列:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第526张

使用之前的条目做条目:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第527张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第528张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第529张

运行效果:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第530张 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第531张 

 

        翻页类视图

                翻页视图ViewPager

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第532张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第533张

实例:创建xml:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第534张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第535张 

                翻页标签栏PagerTabStrip

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第536张

编辑xml:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第537张 

 

                简单的启动引导页

        Fragment

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第538张

                碎片的静态注册

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第539张

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

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第540张

静态注册上面的文本:

创建fragment:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第541张 

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第542张 安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第543张

连接创建的fragment:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第544张 

效果:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第545张 

fragment布局:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第546张 

 运行效果:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第547张

 查看布局:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第548张

  碎片的生命周期:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第549张

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第550张 

                碎片的动态注册

 创建viewpage:安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第551张

创建动态碎片:

安卓开发入门(更新ing),安卓开发入门指南(持续更新中) 第552张 

 

                改进的启动引导页


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码