自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android组件化开发学习(二)

按上一篇搞完之后会发现common组件里什么都没有。事实上我们可以把一些第三方依赖包放入common中,由于user和home依赖了common,他们的build.gradle中就不用了再写一遍依赖了p.s. 在common的依赖中需要使用api来代替implementation,api会传递所依赖的库,当其他组件依赖了当前组件时,可以使用当前组件下使用api依赖的库。如果使用implementation的话,就会出现Can’t resolve symbol ‘xxx’其他组件只需依赖common组件

2021-01-13 20:03:51 196

原创 Android组件化开发学习

Android组件化开发踩到的坑主要借鉴了这篇文章,感谢这位博主【Android】组件化开发的简单应用 - milovetingting - 博客园 (cnblogs.com)但还是遇到了几个问题Q1arouter-compiler 1.2.0 以后用 AROUTER_MODULE_NAME以前用 moduleNameQ2app的清单文件也要加上其他模块的Activity的声明,并且会遵循app模块的主题,home模块设置的主题无效了效果展示isDebug=fal

2021-01-07 16:25:56 136 2

原创 Small插件化疯狂踩坑

万恶的插件化欢迎使用Markdown编辑器欢迎使用Markdown编辑器大体上照着Small官网的教程走,踩坑无数http://code.wequick.net/Small/cn/quickstart我用的Small版本是1.5.0-beta2,恶心的是这个版本不支持gradle3.0以上的版本,于是第一个坑出现了好的,我把gradle版本降低(gradle版本可以从这里找 https://jcenter.bintray.com/com/android/tools/build/gradle/)

2020-12-18 22:56:17 447 2

原创 Java实现TCP通信

Java实现TCP通信服务端开两个线程,一个负责发送数据,一个负责接收数据import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintStream;import java.net.ServerSocket;import ja

2020-12-05 01:52:53 497

原创 Java实现UDP通信

JavaSocket实现通信UDP实现可靠传输要让 UDP 数可靠的传送数据,最直接的办法是模拟 tcp 协议的实现,对 UDP 进行简单的差错重传控制。 我们设定基本的控制规则如下:1.c 向 s 发送一个数据包,如果 s 收到,必须在 3 秒之内回送一个应答包;发送的数据包必须有一个唯一的序列号,s 回应时的数据包带上这个序列号,当 c 收到应答时,根据序列号匹配,即可确认某个消息 s 己收到。2.如果 c 己发出的消息 3 秒内还未收到应答,即认为超时,c 应重发这条消息,最多重

2020-11-01 04:15:57 991 1

原创 二叉树

几种比较容易混淆的二叉树满二叉树:高度为h,并且由2^h-1个结点组成的二叉树,叶子节点都在最后一层,除了最后一层,其他层的节点个数都要达到最大判断满二叉树public class Solution { boolean isFullTree(TreeNode root){ if(root==null) return false; if(root.left==null && root.right==null)

2020-10-27 00:27:44 118

原创 HashMap与Hashtable散列方式比较

HashMap与Hashtable散列方式比较HashMap与Hashtable大同小异,这里主要讲一下他们在散列方式上的差异Hashtable的散列方式是取模它的put方法有这样一句代码int index = (hash & 0x7FFFFFFF) % tab.length;这里的0x7FFFFFFF是一个运算遮罩,防止hash为负数,然后取模HashMap的散列方式是位运算它的hash方法将key的hash值的低16位和高16位做一次异或运算(这里的HashMap是jdk1.8以

2020-10-17 15:21:46 143 1

原创 Android Fragment基础学习

Fragment的一个小例子代码核心思想优化希望实现一个这样的应用,在一个Activity的左侧有一个列表,点击列表中的项,右侧就会显示对应项的详情页,如下图,本例中用接口来实现Fragment之间的通信代码设计一个MovieModel类模拟系统的数据模型package com.example.fragmentsetting.practice.model;import java.util.ArrayList;import java.util.HashMap;import java.uti

2020-06-30 23:29:35 203

原创 Android框架——GreenDAO的配置

GreenDAO配置保姆教程首先,创建一个新工程,切换到Project视图选中build.gradle,在依赖中添加以下语句并应用implementation 'org.greenrobot:greendao:3.0.1'选中工程名右键->New->Module,选择Java Library,点击Next,再点击Finish,就会看到多了一个lib文件夹,其内部有一个MyClass.java文件创建成功之后要给这个java项目配置依赖接下来编写MyClass.java的

2020-06-28 23:09:06 209

原创 Android开发——静态注册的BroadcastReceiver怎么收到广播

Android开发——静态注册的BroadcastReceiver怎么收到广播如果你不想看那么多字,可以直接点更简单的方法静态注册动态注册可恶的API 8.0(级别26)自定义权限更简单的方法如果你不想看那么多字,可以直接点更简单的方法跟着教材学习Android的BroadcastReceiver时发现静态注册的BroadcastReceiver无法收到广播,但是动态注册的却可以!静态注册定义一个广播接收器先.receiver.MyBroadcastReceiverimport android.

2020-06-07 04:29:29 696

原创 tomcat默认端口配置

妈耶第一次写博客。。。重要的事情说三遍!一定要修改Servers文件夹里头的Tomcat v7.0 Server at localhost-config里头的server.xml !一定要修改Servers文件夹里头的Tomcat v7.0 Server at localhost-config里头的server.xml !一定要修改Servers文件夹里头的Tomcat v7.0 ...

2018-10-21 22:14:32 319

空空如也

空空如也

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

TA关注的人

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