自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华天朱

陈立臣没我帅

  • 博客(83)
  • 收藏
  • 关注

原创 安卓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 553

原创 序列化与反序列化(1)Serializable —— Java原生态方法

2021-05-08 19:20:21 367

原创 安卓APP_ jetPack —— Bottom Navigation 底部页面导航实现

本文为学习笔记,所用的图片、案例均为教学视频截图源视频地址:BottomNavigation:实现一下底部导航作者:longway777目录实现效果一、获取三个图标二、创建三个带ViewModel的Fragment三、创建底部菜单四、页面的切换:navigation五、添加BottomNavigationView六、添加NavHost七、图标与fragment对应起来部分源码实现效果快速实现底部导航切换页面功能创建工程的时候,这个底部导航的模板可以直接拿来用但是为了更好地运用这个模板,

2021-05-07 21:22:37 898 1

原创 安卓APP_ jetPack —— Navigation页面导航(3) + viewmodel :最佳的页面数据传递方案

这里写目录标题创建两个空白的fragment创建viewmodle创建导航资源完善fragment的内容databindingfragment.java的编写detail界面最后一步完整代码前面用的办法Activity随时可能摧毁,到时候还要保存数据,恢复数据,非常麻烦。而viewmodel很好的解决了这个问题。viewmodel全时期存在!!少了生命周期带来的麻烦而在activity中用的是这个fragment需要另一个activity和fragment很容易被销毁,再每次销毁后我们

2021-05-07 16:30:05 821 2

原创 安卓APP_ jetPack —— Navigation页面导航(2)数据传递与动画

效果:创建两个fragment更改布局创建资源nav添加host设置按键事件如何实现数据的传递呢?tween animation进入和退出的动画是不一样的自定义一个简单的动画从左边滑动到中间页面进入动画:从左边移动进来页面退出动画:从右边移动出去应用:缩放出现比例从0到1,即为慢慢变大退出,慢慢缩小HomeFragment.javapublic class HomeFragment extends Fragment { public

2021-05-07 15:45:06 267 1

原创 安卓APP_ jetPack —— Navigation页面导航 (1)页面切换与返回

程序内部页面按照一定的逻辑进行切换、创建两个空白的fragment加入约束布局另外一个也一样创建Nagrap默认的,第一个进来的页面host在哪呢?在activity_main.xml先留着设置按钮点击事件添加页面跳转动画给两个箭头添加动画左上角的返回箭头与页面提示是activity的功能注意这个id,是Navhost的id激活箭头返回更改页面显示文字...

2021-05-07 15:27:32 1969 1

原创 安卓APP_ jetPack —— Lifecycles让组件感知生命周期并响应

本文为学习笔记,所用的图片、案例均为教学视频截图源视频地址:LifeCycles(让组件感知生命周期并响应)作者:longway777目录实现效果在生命周期回调函数中响应组件功能的弊端生命周期观察者Lifecycles设置计数器创建一个专门管理这个组件的类给activity添加一个观察者完整代码实现效果计数器在计数,当返回桌面时,activity的生命周期处于onpause状态,此时由于组件计数器使用了lifeCycle观察者,观察到了生命周期的变化,便停止计数。当重新进入界面,界面被重新构建

2021-05-07 14:53:40 316

原创 安卓APP_ jetPack —— MVC架构之联动 ViewModel、LiveData、DataBinding 应用:篮球积分器

项目内容实现效果重点掌握:MVC架构一、可视化图形编程创建`main.xml`布局二、创建viewModel:数据模块三、加入dataBinding:为后续在xml中绑定数据做准备四、Activity:只需要管理dataBinding和viewModel五、main.xml:数据绑定到xml部分关键源码实现效果输入队伍名称,可以通过按钮的点击对其进行积分,也可以撤销上一次操作,重置分数。这用到了数据监听(LiveData),数据回绑到xml(DataBinding ),页面数据独立(ViewMode

2021-05-01 23:03:55 293 5

原创 安卓APP_ 四大基本组件(1)—— Activity

为什么说他是默认的

2021-04-22 15:56:18 566

原创 安卓APP_ Fragment(5)—— Fragment + ViewPager2 模拟微信首页 (2)两者联动实现翻页

目录效果与UI框架(1)定义导航栏大致布局(2)初步设置导航栏图标点击响应事件(3)导航栏图标跟随viewPager滑动一同变化(4)点击导航栏图标,切换viewPager更多细节在具体代码中体现效果与UI框架模拟微信首页的最终实现效果如下图:要实现下面导航栏的效果,有很多的实现方案,典型的是navigation。这个控件把整个联动效果都完成了,开发变得非常简单,在下一章节中再介绍这个简便高级的办法下面硬撸代码,了解更底层地原理。一行行手写效果。总的UI框架为:(1)定义导航栏大致布局

2021-04-22 00:11:43 1277 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 548

原创 安卓APP_ 布局(8) —— 基于 RecyclerView 的 ViewPager2翻页

2021-04-20 15:37:54 823

原创 安卓APP_ Fragment(3)—— Fragment的生命周期

Fragment的生命周期非常重要,在项目中Fragment生命周期的滥用,会导致很多后台收集到的异常,异常的根本原因是对其生命周期没有按照规则执行。所有的生命周期函数必须在这两者之间执行。如果在fragment中获取A获取的变量为null的时候,绑定,解绑每一个生命周期的意义:创建,销毁在onCreate()中还要对从activity传过来的bundle进行解析。onCreateView对UI的创建,解析xml意味着activity已经创建了编程来感受Fragment生命周期生命

2021-04-16 22:32:12 645

原创 安卓APP_ Fragment(2)—— Activity与Fragment的通信

这里写目录标题三、Fragment管理事务生命周期相关状态保存四、Fragment通信与动画Fragment与Activity通信Fragment之间的通信Fragment专场动画三、Fragment管理事务生命周期相关状态保存四、Fragment通信与动画Fragment与Activity通信Fragment之间的通信Fragment专场动画...

2021-04-16 17:23:44 747 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 527

原创 安卓APP_ 布局(7) —— ViewPager翻页

三个布局翻页演示:

2021-04-14 19:37:18 266

原创 安卓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 1055

原创 进程基础(1)——进程的几个重要概念

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-04-12 11:09:33 169

原创 安卓APP_ 布局(6) —— ConstrainLayout约束布局(重要)

鱼一样的不一样,是直接通过进行布局,不需要敲代码,意思就是图形化的界面编程,要删除组件,直接delete,添加直接拖动演示代码的变化,要添加约束:直接拖动是不行的,没有进行约束,默认在左上角约束他的上下左右相对约束:边缘Margin约束设置控件的宽高,有适应内容,自定义大小,matchparent(受到约束条件的影响)三种模式。居中约束用到垂直指导线推导约束根据布局自动推导出你的约束...

2021-04-12 10:49:42 313

原创 安卓APP_ 布局(5) —— GridLayout网格布局

布局比表格更加灵活方便。父容器对子控件的设置:设置行数列数与排列方式。同样的,如果设置排列方式为垂直(vertical)的话,这时候要配合的是rowCount使用。子控件的设置以下操作横向和纵向都是一样的思路方法,仅做横向的演示对控件所处的位置进行设置剩余空间的分配方式...

2021-04-12 00:08:31 180

原创 安卓APP_ 布局(4) —— TableLayout表格布局

如果直接在TableLayout中写入控件,那么这个控件就占用一整行的大小。如果想要多个控件在一行,怎么做呢?用TableRow,如下图:注意,在TableRow中,超出部分不换行,而是直接不显示。

2021-04-11 22:55:50 176

原创 linux文件编程(5)—— 用ANSIC标准中的C库函数进行文件编程

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-04-11 11:58:25 165

原创 linux文件编程(4)—— open与fopen的区别

UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, writefopen 系列是标准的C库函数;open系列是 POSIX 定义的,是UNIX系统里的system call。也就是说,fopen系列更具有可移植性;而open系列只能用在 POSIX 的操作系统上。使用fopen 系列函数时要定义一个指代文件的对象,被称为“文件句柄”(file handler),是一个结构体;而open系列使用的是一个被称为“文件描述符” (

2021-04-11 00:07:04 636

原创 linux shell编程(1)—— 初见

初识shell1.1、什么是shell编程高大上的解释,往往让人摸不住头脑。一句话概括就是:shell编程就是对一堆Linux命令的逻辑化处理。1.2、为什么要会shell编程举个简单的例子,比如做javaweb开发的,在以前,如果要在本地将程序打包,然后部署到远程服务器, 我们以前的做法通常会经历如下几个步骤:1、拉取最新代码(git pull);2、编译打包;3、上传并部署到远程服务器。每次打包都要经历这一个阶段,效率低又烦躁。而此时,我们可以编写一个shell脚本,然后每次只需要运行一下这个

2021-04-10 08:56:26 779

原创 linux文件编程(3)—— 文件编程的简单应用:myCp、修改配置文件

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-04-09 23:45:05 466

原创 linux文件编程(2)——文件操作原理简述之文件描述符、动静态文件、块设备

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-04-09 11:14:12 140

原创 linux文件编程(1)—— 常用API之open、write、read、lseek

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-04-08 22:19:28 349

原创 安卓APP_ 布局(3) —— FrameLayout帧布局

帧布局的机制从左上角开始绘制。若有重叠,会按照顺序,把前一个的覆盖(前景也会有此机制):前景的设置:foreground、foregroundGravity

2021-04-05 20:41:02 128

原创 安卓APP_ 布局(2) —— RelativeLayout相对布局

RelativeLayout一、根据父容器定位二、根据兄弟组件定位三、margin:设置组件与父容器的边距四、padding:设置组件内部元素的边距RelativeLayout是一个相对布局,都是相对位置,不是绝对位置。默认相对于父容器,且从左上角开始布局。一、根据父容器定位大多数是带有Parent的:二、根据兄弟组件定位兄弟组件:在同一个父容器下的组件在使用兄弟组件定位时,似乎需要那个兄弟组件首先基于父容器定位,单纯把绿色块移动到中间(比如使用margin方法)而不使用父容器定位方法,红

2021-04-05 20:19:54 294

原创 安卓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 216

原创 安卓APP_ 控件(9)—— PopupWindow弹窗

实现效果如下:点击触发弹窗的按钮,弹窗出现。弹窗里的按钮设置了监听事件,当点击“上海”时,弹窗不退出。点击空白处弹窗退出。因为“北京”设置了“dismiss”,所以点击“北京”直接退出弹窗。具体细节还是通过代码呈现:MainActivity.javapublic class MainActivity extends AppCompatActivity { private static final String TAG = "zhua"; @Override protec

2021-04-05 14:41:35 710

原创 安卓APP_ 控件(8)—— AlertDialog

df

2021-04-02 18:13:20 103

原创 安卓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 283

原创 安卓APP_ 控件(6)—— Notification通知

创建一个NotificationManager这个类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以一般并不直接实例化这个对象。在Activity中,可以使用Activity.get方法获取NotificationManager对象,Activity.get方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回Notification,所以直接传递context.noti即可。使用Builder构造器来创建Notification对象使用Notific

2021-04-02 00:30:14 210

原创 利用FileZilla实现ubuntu与windows文件传输

Download FileZilla虚拟机安装ssh服务sudo apt-get install openssh-serverifconfig找到虚拟机ip地址按照下图操作即可

2021-03-31 22:17:28 169

原创 安卓APP_ 控件(5)—— ProgressBar

df正常情况是读取文件下载的进度现在用按钮去模拟,每点击一下,进度条就增加一点。

2021-03-31 13:03:07 126

原创 CSDN文字自定义颜色

CSDN只能写黑色的文本?不不不,今天发现了个好玩的今天来玩玩 HTML < font > 标签,设置字体颜色。红色字体<font color = red size=5>红色字体</font>橙色字体<font color = orange size=5>橙色字体</font>绿色字体<font color = green size=5>绿色字体</font>蓝色字体<font color =

2021-03-30 17:52:40 320

原创 安卓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 131

原创 安卓APP_ 其他(1) —— 程序的签名打包并在手机上运行

刚学到第四个控件,我就很好奇写的app能不能在自己的手机上跑起来,跑起来跟虚拟机是不是一模一样,效果怎么样。于是就记录这么一个过程,这只是程序打包的一个办法,还有很多途径。随便点点,没有仔细研究每个选项的区别,就快速生成了一个应用。日后涉及什么怎样打包可以减少内存,以及一些优化等再做更新,先草率地用着。手机运行效果具体步骤:(1)生成带有签名的APK(2)在你的设备上部署一个签名的APK(3)创建一个签名文件(4)创建详情(5)点击选择签名存放路径(6)点击OK(7)下一步(8)

2021-03-29 20:58:26 241

原创 安卓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 242

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除