![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
简单的安卓APP
文章平均质量分 73
做一个简单的手机终端APP配合智能家居的使用
丶PURSUING
毕
展开
-
安卓APP_ 控件(11)webView —— 简单应用:显示网页
Android WebView在Android平台上是一个特殊的View,它能用来显示网页,这个WebView类可以被用来在app中仅仅显示一张在线的网页,当然还可以用来开发浏览器。WebView内部实现是采用渲染引擎(WebKit)来展示view的内容,提供网页前进后退、网页放大、缩小、搜索等功能。WebView是一个基于WebKit引擎、展现Web页面的控件,Android的WebView在低版本和高版本采用了不同的WebKit版本内核。添加王文权限<uses-permission and原创 2021-05-11 11:50:52 · 518 阅读 · 0 评论 -
序列化与反序列化(1)Serializable —— Java原生态方法
的原创 2021-05-08 19:20:21 · 326 阅读 · 0 评论 -
安卓APP_ 四大基本组件(1)—— Activity
为什么说他是默认的原创 2021-04-22 15:56:18 · 530 阅读 · 0 评论 -
安卓APP_ Fragment(5)—— Fragment + ViewPager2 模拟微信首页 (2)两者联动实现翻页
目录效果与UI框架(1)定义导航栏大致布局(2)初步设置导航栏图标点击响应事件(3)导航栏图标跟随viewPager滑动一同变化(4)点击导航栏图标,切换viewPager更多细节在具体代码中体现效果与UI框架模拟微信首页的最终实现效果如下图:要实现下面导航栏的效果,有很多的实现方案,典型的是navigation。这个控件把整个联动效果都完成了,开发变得非常简单,在下一章节中再介绍这个简便高级的办法下面硬撸代码,了解更底层地原理。一行行手写效果。总的UI框架为:(1)定义导航栏大致布局原创 2021-04-22 00:11:43 · 1139 阅读 · 4 评论 -
安卓APP_ Fragment(4)—— Fragment + ViewPager2 模拟微信首页 (1)两者联动实现翻页
未来开发中将会大量使用Fragment + ViewPager2 这一组合模式,本篇章实现效果如下图:实现效果一、构建activity_main.xmlactivity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pare原创 2021-04-20 17:46:59 · 391 阅读 · 0 评论 -
安卓APP_ 布局(8) —— 基于 RecyclerView 的 ViewPager2翻页
的原创 2021-04-20 15:37:54 · 725 阅读 · 0 评论 -
安卓APP_ Fragment(3)—— Fragment的生命周期
Fragment的生命周期非常重要,在项目中Fragment生命周期的滥用,会导致很多后台收集到的异常,异常的根本原因是对其生命周期没有按照规则执行。所有的生命周期函数必须在这两者之间执行。如果在fragment中获取A获取的变量为null的时候,绑定,解绑每一个生命周期的意义:创建,销毁在onCreate()中还要对从activity传过来的bundle进行解析。onCreateView对UI的创建,解析xml意味着activity已经创建了编程来感受Fragment生命周期生命原创 2021-04-16 22:32:12 · 378 阅读 · 0 评论 -
安卓APP_ Fragment(2)—— Activity与Fragment的通信
这里写目录标题三、Fragment管理事务生命周期相关状态保存四、Fragment通信与动画Fragment与Activity通信Fragment之间的通信Fragment专场动画三、Fragment管理事务生命周期相关状态保存四、Fragment通信与动画Fragment与Activity通信Fragment之间的通信Fragment专场动画...原创 2021-04-16 17:23:44 · 686 阅读 · 2 评论 -
安卓APP_ Fragment(1)—— Fragment概念、基础用法、动态变换、管理栈
Fragment一、Fragment是什么Fragment的产生原因Fragment两个重要特性具备生命周期寄宿在Activity中运行二、Fragment基础用法简单演示(1)New创建一个Activity(2)添加一个空白的Fragment(3)Fragment 绑定到宿主Activity(4)在Activity中创建两个Fragment具体细节在代码中呈现一、Fragment是什么Fragment的产生原因Fragment很像是小的,简短的Activity。Fragment在安卓3.0后才开始原创 2021-04-15 23:32:31 · 506 阅读 · 0 评论 -
安卓APP_ 布局(7) —— ViewPager翻页
三个布局翻页演示:原创 2021-04-14 19:37:18 · 227 阅读 · 0 评论 -
安卓APP_ 控件(10)—— ListView可上下滑动的列表(重要)与ViewHolder优化
目录项目运行效果(1)创建ListView(2)创建新的item布局(3)创建 javaBean(4)创建数据中间桥梁:Adapter(5)listView的点击效果更多细节在代码中体现重点:优化getView中需要多次调用的 `findViewById`知识扫盲(1)什么是ViewHolder(2)什么是setTag(3)什么是javaBean项目运行效果ListView实现效果一睹为快可以进行上下的滑动,也可以对每一个条目进行点击,每个条目称为ListView的item。(1)创建ListVi原创 2021-04-12 23:28:27 · 903 阅读 · 0 评论 -
安卓APP_ 布局(6) —— ConstrainLayout约束布局(重要)
鱼一样的不一样,是直接通过进行布局,不需要敲代码,意思就是图形化的界面编程,要删除组件,直接delete,添加直接拖动演示代码的变化,要添加约束:直接拖动是不行的,没有进行约束,默认在左上角约束他的上下左右相对约束:边缘Margin约束设置控件的宽高,有适应内容,自定义大小,matchparent(受到约束条件的影响)三种模式。居中约束用到垂直指导线推导约束根据布局自动推导出你的约束...原创 2021-04-12 10:49:42 · 228 阅读 · 0 评论 -
安卓APP_ 布局(5) —— GridLayout网格布局
布局比表格更加灵活方便。父容器对子控件的设置:设置行数列数与排列方式。同样的,如果设置排列方式为垂直(vertical)的话,这时候要配合的是rowCount使用。子控件的设置以下操作横向和纵向都是一样的思路方法,仅做横向的演示对控件所处的位置进行设置剩余空间的分配方式...原创 2021-04-12 00:08:31 · 174 阅读 · 0 评论 -
安卓APP_ 布局(4) —— TableLayout表格布局
如果直接在TableLayout中写入控件,那么这个控件就占用一整行的大小。如果想要多个控件在一行,怎么做呢?用TableRow,如下图:注意,在TableRow中,超出部分不换行,而是直接不显示。原创 2021-04-11 22:55:50 · 152 阅读 · 0 评论 -
安卓APP_ 布局(3) —— FrameLayout帧布局
帧布局的机制从左上角开始绘制。若有重叠,会按照顺序,把前一个的覆盖(前景也会有此机制):前景的设置:foreground、foregroundGravity原创 2021-04-05 20:41:02 · 121 阅读 · 0 评论 -
安卓APP_ 布局(2) —— RelativeLayout相对布局
RelativeLayout一、根据父容器定位二、根据兄弟组件定位三、margin:设置组件与父容器的边距四、padding:设置组件内部元素的边距RelativeLayout是一个相对布局,都是相对位置,不是绝对位置。默认相对于父容器,且从左上角开始布局。一、根据父容器定位大多数是带有Parent的:二、根据兄弟组件定位兄弟组件:在同一个父容器下的组件在使用兄弟组件定位时,似乎需要那个兄弟组件首先基于父容器定位,单纯把绿色块移动到中间(比如使用margin方法)而不使用父容器定位方法,红原创 2021-04-05 20:19:54 · 266 阅读 · 0 评论 -
安卓APP_ 布局(1)—— LinearLayout
LinearLatoutorientation:布局中组件的排列方式gravity与layout_gravity:组件的位置divider:分割线(1)用图片做分割线(2)用view绘制做分割线layout_weight权重注意1:剩余空间注意2:原有的基础上注意3:权重针对于排列方式实际开发时,权重这样用orientation:布局中组件的排列方式gravity与layout_gravity:组件的位置(1)gravity:控件组件所包含的所有子元素的对齐方式,可用|进行多个组合:(2)lay原创 2021-04-05 16:46:22 · 200 阅读 · 0 评论 -
安卓APP_ 控件(9)—— PopupWindow弹窗
实现效果如下:点击触发弹窗的按钮,弹窗出现。弹窗里的按钮设置了监听事件,当点击“上海”时,弹窗不退出。点击空白处弹窗退出。因为“北京”设置了“dismiss”,所以点击“北京”直接退出弹窗。具体细节还是通过代码呈现:MainActivity.javapublic class MainActivity extends AppCompatActivity { private static final String TAG = "zhua"; @Override protec原创 2021-04-05 14:41:35 · 518 阅读 · 0 评论 -
安卓APP_ 控件(8)—— AlertDialog
df原创 2021-04-02 18:13:20 · 98 阅读 · 0 评论 -
安卓APP_ 控件(7)——Toolbar栏目样式
Toolbar栏目样式什么是Toolbar?设置细节见具体代码ToolBar当然也可以在.java中进行设置控件的嵌套运用:TextView放在Toolbar中ToolBar的导包问题什么是Toolbar?改为NoActionBar,创建属于自己的栏目样式如下图,自定义了Toolbar样式和其中的navigationIcon返回设置设置细节见具体代码activity_main.xml<?xml version="1.0" encoding="utf-8"?><Line原创 2021-04-02 15:42:07 · 208 阅读 · 0 评论 -
安卓APP_ 控件(6)—— Notification通知
创建一个NotificationManager这个类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以一般并不直接实例化这个对象。在Activity中,可以使用Activity.get方法获取NotificationManager对象,Activity.get方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回Notification,所以直接传递context.noti即可。使用Builder构造器来创建Notification对象使用Notific原创 2021-04-02 00:30:14 · 199 阅读 · 0 评论 -
安卓APP_ 控件(5)—— ProgressBar
df正常情况是读取文件下载的进度现在用按钮去模拟,每点击一下,进度条就增加一点。原创 2021-03-31 13:03:07 · 111 阅读 · 0 评论 -
安卓APP_ 控件(4)—— ImageView
开篇:安卓APP_ 控件(1)—— TestViewImageView主要是进行图片的缩放控制:导入图片时,可能要更改图片名才能使用:.xml中具体实现代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android原创 2021-03-29 21:52:06 · 107 阅读 · 0 评论 -
安卓APP_ 其他(1) —— 程序的签名打包并在手机上运行
刚学到第四个控件,我就很好奇写的app能不能在自己的手机上跑起来,跑起来跟虚拟机是不是一模一样,效果怎么样。于是就记录这么一个过程,这只是程序打包的一个办法,还有很多途径。随便点点,没有仔细研究每个选项的区别,就快速生成了一个应用。日后涉及什么怎样打包可以减少内存,以及一些优化等再做更新,先草率地用着。手机运行效果具体步骤:(1)生成带有签名的APK(2)在你的设备上部署一个签名的APK(3)创建一个签名文件(4)创建详情(5)点击选择签名存放路径(6)点击OK(7)下一步(8)原创 2021-03-29 20:58:26 · 234 阅读 · 0 评论 -
安卓APP_ 控件(3)—— EditText
开篇:安卓APP_ 控件(1)—— TestViewEditTextEditText设置提示用户输入界面EditText+Button获取用户输入的信息EditText设置提示用户输入界面显示效果:Main.xml:完成了上述界面以及等待输入的效果<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" a原创 2021-03-29 18:43:40 · 193 阅读 · 0 评论 -
安卓APP_ 控件(2)—— Button
首先修改一下这个,否则按钮的背景颜色不会变化框框可以直接拖动,控件说明一下这个颜色透明度RGB三原色图片选择器,颜色选择器前景色会把他们全都覆盖,是最外面的一层原创 2021-03-29 14:20:54 · 430 阅读 · 0 评论 -
安卓APP_ 控件(1)—— TextView
TestView一级目录二级目录三级目录xml负责页面布局,java负责后台逻辑。显示效果如下图:MainActivity.java重点看Main中注释的两句,其他都是框架。在Main中,主要创建了一个控件对象 tv_onepackage com.example.myfirst;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.TextView;原创 2021-03-28 21:53:49 · 430 阅读 · 0 评论