- 博客(25)
- 问答 (2)
- 收藏
- 关注
原创 HTTP和TCP的Keep-Alive机制的区别
HTTP和TCP中的Keep-Alive机制的区别1、HTTP中的Keep-AliveHTTP是短连接。 所谓的短连接就是,每次客户端向服务端发送一个HTTP请求(request),得到服务端返回的响应(response),然后这个HTTP连接就关闭了。为什么使用短连接? 考虑到性能。用户通过浏览器访问一个web站点的某个网页,当网页内容加载完毕后,用户一般会花费几十秒到几分钟来浏览内容,此时没有必要维持这个HTTP连接。这样做可以减轻服务端的压力。HTTP为什么要引入Keep-Alive?
2020-07-26 14:40:49
351
原创 C++ 在delete指针之后应该把指针赋值为NULL
原因:delete指针释放的是指针所指向的内存,而不是删除指针的内存。如果delete指针后没有把指针赋值为NULL,在再次使用指针时,指针指向的仍是那片区域,会出现xxx空间无法访问的异常。以下是正确的用法:ListNode* node = new ListNode(0); delete node; node = NULL;...
2019-12-23 10:29:25
1102
原创 Android 网络编程与网络框架 学习笔记
5.1 网络分层网络分层就是将网络节点所要完成的数据的发送/转发、打包/拆包,以及控制信息的加载或拆出等工作,分别由不同的硬件和软件模块来完成。下面介绍网络分层的5层模型(顺序越前的越靠近硬件)1、物理层:负责比特流在节点间的传输,(物理传输)。是把计算机连接起来的物理手段。2、数据链路层:控制网络层与物理层之间的通信,其主要功能是如何在不可靠的物理线路上进行数据的可靠传递。为了保证传输,...
2019-11-08 17:20:01
275
原创 运用Retrofit和RxJava2 从api获取信息的demo
本文参考的链接:参考链接一、准备工作1、 首先在AndroidManifest.xml中添加权限: <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STAT...
2019-10-12 16:49:25
235
原创 Toolbar、CollapsingToolbarLayout、AppBarlayout、CoordinatorLayout的总结
本文参考了https://www.jianshu.com/p/bbc703a0015ehttps://blog.youkuaiyun.com/mffandxx/article/details/69223021一、只使用Toolbar、AppBarlayout、CoordinatorLayout的情况下先贴上代码:<?xml version="1.0" encoding="utf-8"?>...
2019-10-10 09:24:18
220
原创 ViewPager 实现无限轮播的小demo 以及对instantiateItem和destroyItem的一点理解
本文参考了https://www.jianshu.com/p/1ed6b41891ef首先是布局文件activity_main.xml:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://sche...
2019-09-24 21:30:19
1623
原创 Java 通过异常处理错误之构造器
首先观察下列代码:import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.*;public class InputFile { private BufferedRead...
2019-09-09 10:16:42
600
原创 Java 捕获异常
1、try块如果在方法内部抛出了异常,这个方法将在抛出异常的过程中结束。如果不希望方法就此结束,可以在方法内设置一个特殊的块来捕获异常。称为try块。try{//Code that might generate exceptions}2、异常处理程序抛出的异常需要在异常处理程序中得到处理,而且针对每个要捕获的异常,得准备相应的处理程序。异常处理程序紧跟在try块之后,以关键字catc...
2019-09-06 13:41:44
157
原创 Java 使用匿名类的工厂模式
package M10EX16;interface Cycle{ void print();}interface CycleFactory{ Cycle getCycle();}class Unicycle implements Cycle{ private Unicycle(){} public void print() { System.out.println("Unic...
2019-09-03 23:48:26
234
原创 java 继承与初始化 执行顺序
以下面的代码作为例子:class Insect{ private int i=9; protected int j; Insect(){ System.out.println("i="+i+"j="+j); j=39; } private static int x1=printInit("static Insect.x1 initialized"); static int...
2019-09-01 19:22:17
227
原创 java final关键字
final数据1、当final关键字放于基本数据类型之前,这个数据是固定不变的。2、当final关键字放于对对象的引用之前时,指的是这个引用固定不变。也就是说,这个引用一旦被初始化指向一个对象,就无法再使它指向另一个对象,但这个对象自身是可以改变的。3、对于static final,只能占用一段不能改变的空间。空白final空白final指被声明为final但未给定初值的域,例如。 f...
2019-09-01 17:31:08
105
原创 Android发送本地广播
public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private LocalReceiver localReceiver; private LocalBroadcastManager localBroadcastManager; @Ov...
2019-08-28 22:19:41
930
原创 android NavigationView依赖库的配置(androidx)
app/build.gradle中,dependecies中加入implementation 'com.android.support:design:29.1.1'2、在layout中加入 <com.google.android.material.navigation.NavigationView android:id="@+id/nav_view" ...
2019-08-24 17:01:17
5735
4
原创 Android 服务的基本用法
如何定义一个服务?1定义服务之后,我们会发现这个服务类是继承于Service类的,需要重写Service类中的一些方法,最常用的3个方法:onCreate()(服务创建时调用),onStartCommand()(服务启动时调用)和onDestroy()(服务销毁时调用)。如何启动和停止服务?这里我们用按钮来启动和停止服务核心代码如下:case R.id.start_service: ...
2019-08-18 00:47:32
235
原创 Android9.0 报错:net:ERR_CLEARTEXT_NOT_PERMITTED解决方法
在AndroidManifest.xml中,<application中加入以下语句android:usesCleartextTraffic="true"
2019-08-14 14:54:20
1188
原创 Android 播放音频/视频(基础用法)
运行环境:miui 10.3.3运行截图(播放视频):下面分别贴上的是播放音频的MainActivity.java和播放视频的MainActivity.javapackage com.example.playaudiotest;import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.Activit...
2019-08-11 16:00:08
321
原创 Android 使用通知(最基础的用法)
点击按钮,通知栏出现通知标志步骤如下:package com.example.notificationtest;import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.NotificationCompat;import androidx.core.app.NotificationManagerCo...
2019-08-06 16:40:06
392
原创 Android LitePal的基本用法
一、首先要配置LitePal配置方法如下:1、编辑app/build.gradle文件,在dependencies中加上 implementation 'org.litepal.android:core:1.4.1'2、在app/src/main目录新建一个文件夹assets,然后在assets目录,右键New->File->新建一个文件名为litepal.xml的文件...
2019-08-03 20:48:53
314
原创 Android 接受系统广播之动态注册
注册广播的方式有两种,一种称为静态注册,在AndroidManifest.xml中注册,另一种成为动态注册,是在代码中注册的,下面这种方法是动态注册,实现了监听网络变化的功能首先上代码MainActivitypackage com.example.broadcasttest;import androidx.appcompat.app.AppCompatActivity;import a...
2019-07-29 16:51:31
696
原创 RecyclerView的用法
RecyclerView的使用方法:1、首先写自己要显示的数据的实体类。2、写出RecyclerView子项的布局xml文件。3、写出RecyclerView的适配器类,这个适配器类必须继承RecyclerView.Adapter,且必须重写onCreateViewHolder(),onBindViewHolder(),getItemCount()这三个方法。代码模板如下public cl...
2019-07-28 11:07:50
954
原创 Android RecyclerView实现简单的聊天界面
先上效果图:实现步骤:1、首先编写activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" ...
2019-07-27 16:45:07
1601
1
转载 Android padding margin align的区别
https://blog.youkuaiyun.com/scarecrow_fly/article/details/75682073
2019-07-27 15:26:53
141
原创 Android RecyclerView 依赖库的添加(androidx)
步骤如下:1、在/app下的build.gradle中的dependencies中添加以下语句:implementation 'androidx.legacy:legacy-support-v4:1.0.0+'2、在需要用到RecyclerView的活动对应的xml布局文件中,加入下列语句<androidx.recyclerview.widget.RecyclerView ...
2019-07-26 14:32:23
5695
原创 Android ListView用法(初学)
展示了各种水果的图片及其名字,点击子项会出现对应的水果名,如图实现步骤:1、现在activity_main.xml中加入一个ListView控件。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
2019-07-25 16:35:48
203
原创 Android创建并使用自定义控件的步骤
Android创建并使用自定义控件的步骤!@TOC例如创建一个自定义标题栏的控件,效果如图。步骤如下1、首先写好该控件的xml布局文件,在本例中就是标题栏的xml布局文件,起名为title.xml。代码如下<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.a...
2019-07-24 18:01:45
355
空空如也
使用Retrofit请求可以串行执行吗?
2019-11-15
Android menu上的按钮能否实现点击跳转Fragment?
2019-11-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人