自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 1-java刷题记录(2)

51. java修饰符看这个博客52. 子类的构造函数在子类构造方法中调用父类的构造方法,super() 必须写在子类构造方法的第一行,否则编译不通过53. JAVA 异常类的描述都是Throwable的子类:1.Exception(异常) :是程序本身可以处理的异常。2. Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。3. 检查异常(编译器要求必须处置的异常) : 除了Error,RuntimeExce

2022-03-30 10:31:21 648

原创 1. 在Ubuntu上构建编译jdk12

构建编译环境下载openjdk12的的源码链接zip下载安装GCCsudo apt-get install build-essential安装OpenJDK的编译依赖库FreeType sudo apt-get install libfreetype6-devCUPS sudo apt-get install libcups2-devX11 sudo apt-get install libx11-dev libxext-dev libxrender-dev libxra

2022-03-27 15:38:08 1561

原创 1-java刷题记录-1

1.synchronized关键字和volatile关键字比较:在Java中,对基本数据类型的变量和赋值操作都是原子性操作volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好。但是volatile关键字只能用于变量而synchronized关键字可以修饰方法以及代码块。synchronized关键字在JavaSE1.6之后进行了主要包括为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁以及其它各种优化之后执行效率有了显著提升,实际开发中

2022-03-24 12:24:21 1489

原创 13-高级程序开发组件-Jetpack

高级程序开发组件-Jetpack优秀的项目开发框架MVPMVCMVVM(Google最为推荐)Google官方架构组件-jetpackjetpackjetpack大部分不依赖于任何Android系统版本,而是通常定义在Androidx中拥有好的向下兼容性主要有四个部分组成基础架构行为界面ViewModelViewModel的一个重要作用就是帮助Activity分担一部分工作,它是专门用于存放与界面相关的数据的,也就是说只要是界面上能看到的数据,他的相关变量都应该存放

2022-03-20 16:08:48 3178

原创 12-Material Design实战(UI)

最佳的UI体验,Material Design实战什么是Material Design精美的UI设计语言学习Material Design中的控件1. Toolbar还记得我们每次打开的程序的标题栏吗?啊对,那不是toolbar做的.但是,那是actionbar做的,Toolbar可以说是Actionbar的升级版了。Toolbar不仅有Actionbar的所有功能,而且还更加灵活.Actionbar是默认显示的其实这是在项目中指定的主题来显示的<manifest xmlns:andr

2022-03-19 12:48:41 3343

原创 11-使用网络技术

使用网络技术WebView的用法只是先简单用用<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ···> <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webView"/&gt

2022-03-17 17:33:09 3511

原创 10-四大组件之一-的后台Service

后台工作者----Service什么是ServiceService是Android中实现程序后台运行的解决方案适合执行不需要和用户交互而且还要长期运行的任务Service不需要依赖任何用户界面即使Service被切换到了后台仍然能保持正常运行Service不是单独运行在一个进程里面,而是依赖于创建Service时所在的应用程序进程,当某个应用程序进程被杀掉,所有依赖于该进程的Service都会停止事实上Service是不会自动开启线程的,所有代码都是默认运行再主线程当中,所以我们需要在Ser

2022-03-16 21:30:00 761

原创 9_运用手机多媒体

运用手机多媒体使用通知创建通知渠道其实通知这个功能设计初衷是好的,但是他已经被开发者都玩坏了.其实就开发者而言,用户用自己的软件越多越好,所以就会频繁的去通知,但是就用户而言,这样就会补没有意义的垃圾影响生活,在过去用户要么选择通知,要么选择不通知,只能一刀切.所以引入了通知渠道的概念用户可以自行选择关心哪些信息,自由的选择这些通知渠道的重要程度,然后决定是通知的方式(响铃,震动,不接受…)创建通知渠道的详细步骤需要一个NotificationManager对通知进行管理,可以用过Conte

2022-03-16 21:00:00 941

原创 3-活动Activity

Activity的基本使用从0开始创建一个Activity首先需要创建一个基础的FirstActivity创建一个layout类型是LinearLayout<!-- 给页面中添加一个按钮--><!-- 在first_layout.xml中添加代码 --><!-- 从上到下的含义依次是:--><!-- id:这个按钮的唯一标识符,我们在代码里就是用这个找到按钮--><!-- layout_width:指定按钮的宽度

2022-03-16 20:45:00 3976

原创 8-跨程序共享数据-ContentProvider

跨程序共享数据-ContentProvider如果程序与程序之间的数据不能共享的话,你就不能从抖音里看到你的联系人发了什么视频了,所以我们会采用安全可靠的ContentPricider技术ContentPricider主要用于程序与程序之间的数据共享提供了一套完整的机制,允许一个程序访问另一个程序中的数据同时保证了被访问数据的安全性是Android实现跨程序共享数据的标准方式运行时权限访问数据不可避免要涉及权限问题Android权限机制当时我们在尝试静态广播的时候,为了监听开机广播,

2022-03-16 16:36:08 523

原创 6-广播Broadcast

广播机制Android中的广播机制更加灵活:因为Android中的每个应用都可以堆自己感兴趣的广播进行注册这样该程序就只会收到自己关心的广播内容这些广播可能是来自系统的,也可能是来自其他应用的发送广播是通过intent接受广播是通过BroadcastReveiver广播分成两类:标准广播:完全异步执行,在广播发出之后,几乎所有broadcastReceiver会在同一时间收到这条广播消息,因此他们之间没有任何先后顺序可言,这种广播的效率比较高,但同时他也是无法被截断的有序广播:同步执

2022-03-16 16:35:19 255

原创 5_LearnFramgent

FragmentFragment是一种可以嵌入到Activity中的UI片段,能让程序更加合理和充分地利用大屏幕的空间Fragment非常相似,同样有布局和生命周期的概念Fragment的使用尝试一个简单的使用left_fragment.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an

2022-03-10 20:35:24 175

原创 7_数据存储持久化技术

持久化技术持久化技术就是将那些在内存中的瞬时数据存储到存储设备中,使其成为持久数据文件存储SharedPregerences存储数据库存储文件存储数据存储到文件中Context类中提供了openFileOutput()方法将数据存储到指定的文件里面,默认会把所有文件存储到/data/data//file/目录下。有两个参数:文件名,文件的操作模式(有两种操作模式):MODE_PRIVATE(默认就是):表示当指定相同文件夹的时候,所写入的内容会覆盖原文件的内容MODE_APP

2022-03-10 20:33:15 1805

原创 4_LearnUi_6_UiDemo

精美的聊天界面编辑mainActivity.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="matc

2022-03-08 13:05:41 85

原创 4_LearnUi_5_LearnRecyclerView

RecyclerView可以轻松实现和ListView一样的效果,还优化了ListView各种不足之处Android也更加推荐使用RecylerView基本用法RecyclerView属于是新增控件,为此,谷歌将其定义在了AndroidX当中我们需要去项目的build.gradle中添加RecyclerView依赖才行implementation 'androidx.recyclerview:recyclerview:1.0.0'实现一下<!--RecyclerView不是内置

2022-03-07 23:00:00 156

原创 4_LearnUi_4_LearnListView

ListView最常用,最难用由于手机屏幕空间比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以借助ListView来实现。ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据会滚动出屏幕。你其实每天都在使用这个控件,比如查看QQ聊天记录,翻阅微博最新消息,等等。<ListView android:id="@+id/listView" android:layout_width="mat

2022-03-07 21:30:00 99

原创 4_LearnUi_3_LearnCustomViews

自定义控件我们使用的所有控件都是直接或间接继承自View的,所有的布局都是直接或间接继承自ViewGroup的View是Android中最基本的一种UI组件,它可以在屏幕上绘制一块矩形区域,并且能够响应这块区域的各种事件因此我们使用的各种组件其实都是在View基础上添加了各自特有的功能而ViewGroup是一种特殊的View,它可以包含很多子View和子ViewGroup,是一个放置控件和布局的容器所以其实我们可以自己来创建一个自定义控件引入布局我们可以用两个Button和一个Text

2022-03-07 21:00:00 167

原创 4_LearnUi_2_LearnLayout

详解三种基本布局LinearLayout线性布局,很常用,<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <!--android:orient

2022-03-07 19:30:00 211

原创 4-LearnUi-1-LearnUiWdget

了解程序界面相关谷推出的一种新的布局方式ConstraintLayout,和传统布局方式不同的是他不太适合用xml来编写,更适合可视化编辑(拖放控件)所以下面会用传统布局方式介绍,但是网络上有很多资源,可以搜控件的使用方法TextView示例:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an

2022-03-07 15:11:00 231

空空如也

空空如也

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

TA关注的人

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