可爱的you
码龄11年
关注
提问 私信
  • 博客:146,698
    146,698
    总访问量
  • 53
    原创
  • 1,702,523
    排名
  • 16
    粉丝
  • 0
    铁粉

个人简介:越努力,越幸运!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2013-07-08
博客简介:

u011339364的专栏

查看详细资料
个人成就
  • 获得58次点赞
  • 内容获得27次评论
  • 获得200次收藏
  • 代码片获得142次分享
创作历程
  • 2篇
    2020年
  • 46篇
    2019年
  • 16篇
    2018年
  • 19篇
    2017年
  • 13篇
    2015年
成就勋章
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

356人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

JDK1.8Serializable接口详解

java.io.Serializable接口是一个标志性接口,在接口内部没有定义任何属性与方法。只是用于标识此接口的实现类可以被序列化与反序列化。一、如何让某些属性不参与序列化与反序列化的过程?如果一个属性被transient关键字修饰,那么此属性就不会参与对象序列化与反序列化的过程。二、类的属性发生了增减那么反序列化时会有什么影响?调用反序列化的方法,使用删除name属性之前的animal.dat文件进行反序列化,运行结果表时还是能正常的反序列化。由此可知,类的属性的增删并不能对对象的反序
原创
发布博客 2020.05.10 ·
1656 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Android老版本httpclient高版本兼容

Android 6.0 版本已移除对 Apache HTTP 客户端的支持Android 6.0 版本移除了对ApacheHTTP客户端的支持。如果您的应用使用该客户端,并以 Android 2.3(API 级别为9)或更高版本为目标平台,请改用 HttpURLConnection 类。此API效率更高,能够通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量。要继续使用 Apache...
原创
发布博客 2020.01.09 ·
1317 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

安卓开发中非常炫的效果集合

所有效果Dome下载地址:https://github.com/20994842/A-collection-of-Android-development-very-dazzling-effect1.很简单却很酷的粒子破碎效果介绍:实现思路1.新建一个 BeanParticle,表示一个粒子对象;新建一个 ViewExplosionField作为画布用来显示破碎的粒子;新建一...
转载
发布博客 2019.12.25 ·
898 阅读 ·
1 点赞 ·
1 评论 ·
7 收藏

invalidate和requestLayout的区别

invalidate和requestLaoyout都是刷新View用的,下面这张图一目了然表示他们的区别此外invalidate与postInvalidate两者的区别也很重要:invalidate是在主线程调用,postInvalidate在非主线程中调用...
原创
发布博客 2019.09.05 ·
501 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

FragmentPagerAdapter和FragmentStatePagerAdapter基本用法与区别

使用ViewPager+fragment的时候,经常使用下面几种方式ViewPager viewPager = findViewById(R.id.viewPager);// 方式一viewPager.setAdapter(new PagerAdapter() { private String mTitles[] ; private List<Vie...
原创
发布博客 2019.09.05 ·
1566 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

在应用内打开另一个app的指定页面

方案 一 此方案需要跳转的对应页面activity的exported = true,带intent-filter的除外//这里是 包名 以及 页面类的全称ComponentName componentName = new ComponentName("com.example.csii", "com.example.csii.SplashActivity"); ...
原创
发布博客 2019.08.23 ·
1456 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Build类常量列表

Build类中的常量列表Build类可以用来获取Android系统的相关信息。Build类中定义了一系列的public static final的常量,和两个静态内部类(VERSION和VERSION_CODES),两个静态类中又分别包含了一些其他的public static final的常量。所有Build类中定义的常量列举如下(字段含义仅供参考)。这些常量中Build.TIME是long类型...
转载
发布博客 2019.08.16 ·
429 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网页如何区分不同渠道

网页区分不同渠道最长用的标志就是 userAgent,安卓可以通过String agent = webSettings.getUserAgentString();webSettings.setUserAgentString(agent + "/iepay");来设置自己的渠道标识,需要注意的是,只能向上添加,如果直接用自己的渠道标识覆盖原来的信息,会无法加载网页。...
原创
发布博客 2019.08.15 ·
771 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android 网页交互详解和mWebview.evaluateJavascript带参数注意事项

android 4.4以下跟H5交互需要调用webview的loadUrl(javascript:方法名(参数))来实现调用js方法。如果需要网页获取返回值还需要网页调用安卓 @JavaScriptInterface 注解的方法才可以。Android 4.4以上调用webview.evaluateJavascript(javascript:方法名(参数),new ValueCallback{...
原创
发布博客 2019.08.15 ·
20274 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

Android 动态权限管理各版本差异方案

1.Android6.0之后运行时权限策略从Android6.0(API23)开始,对系统权限做了很大的改变,在之前用户安装app前,只是把app需要的使用的权限列出来告知用户一下,app安装后都可以访问这些权限。从6.0开始,一些敏感权限需要在使用是动态申请,并且用户可以选择拒绝授权访问这些权利,已授予过的权限,用户也可以去app设置界面去关闭授权。这对用户来说提高了安全性,可以防止一些应用...
转载
发布博客 2019.06.28 ·
690 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

安卓Environment路径总览

<files-path name="name" path="path" /> 物理路径相当于Context.getFilesDir() + /path/<cache-path name="name" path="path" /> 物理路径相当于Context.getCacheDir() + /path/<external-path nam...
原创
发布博客 2019.06.28 ·
432 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

java用double和float进行小数计算精度不准确

大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中或者已知的小数计算得到的结果会不准确,这种问题是非常严重的。《EffectiveJava》中提到一个原则,那就是float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类可以解决上述问题,java的设计者给编...
原创
发布博客 2019.06.26 ·
3949 阅读 ·
4 点赞 ·
0 评论 ·
14 收藏

Socket基于TCP和UDP编程基本步骤

TCP编程的服务器端一般步骤是:  1、创建一个socket,用函数socket();  2、设置socket属性,用函数setsockopt(); * 可选  3、绑定IP地址、端口等信息到socket上,用函数bind();  4、开启监听,用函数listen();  5、接收客户端上来的连接,用函数accept();  6、收发数据,用函数send()和recv(),...
原创
发布博客 2019.06.24 ·
2971 阅读 ·
0 点赞 ·
0 评论 ·
15 收藏

WebView方法详解

/*** 是否支持缩放,配合方法setBuiltInZoomControls使用,默认true*/setSupportZoom(boolean support)/*** 是否需要用户手势来播放Media,默认true*/setMediaPlaybackRequiresUserGesture(boolean require)/*** 是否使用WebView内置的...
原创
发布博客 2019.06.20 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式 Git - 分布式工作流程

分布式工作流程同传统的集中式版本控制系统(CVCS)不同,开发者之间的协作方式因着 Git 的分布式特性而变得更为灵活多样。在集中式系统上,每个开发者就像是连接在集线器上的节点,彼此的工作方式大体相像。而在 Git 网络中,每个开发者同时扮演着节点和集线器的角色,这就是说,每一个开发者都可以将自己的代码贡献到另外一个开发者的仓库中,或者建立自己的公共仓库,让其他开发者基于自己的工作开始,为自己...
转载
发布博客 2019.06.20 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git 基础 - 记录每次更新到仓库

记录每次更新到仓库现在我们手上已经有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝。接下来,对这些文件作些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。请记住,工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。而所...
转载
发布博客 2019.06.20 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git 基础 - 远程仓库的使用

远程仓库的使用要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。 管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支,等等。本节我们将详细讨论远程库的管理和使用。...
转载
发布博客 2019.06.20 ·
105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git 基础 - 打标签

打标签同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。列显已有的标签列出现有标签的命令非常简单,直接运行git tag即可:$ git tagv0.1v1.3显示的标签按字母顺序排列,所以标签的...
转载
发布博客 2019.06.20 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git 分支 - 分支的变基

分支的变基把一个分支中的修改整合到另一个分支的办法有两种:merge和rebase。在本章我们会学习什么是变基,如何使用变基,为什么变基操作如此富有魅力,以及我们应该在什么情况下使用变基。基本的变基操作请回顾之前有关合并的一节(见图 3-27),你会看到开发进程分叉到两个不同分支,又各自提交了更新。图 3-27. 最初分叉的提交历史。之前介绍过,最容易的整...
转载
发布博客 2019.06.20 ·
751 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git 分支 - 远程分支

远程分支远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在 Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用(远程仓库名)/(分支名)这样的形式表示远程分支。比如我们想看看上次同origin仓库通讯时master分支的样子,就应该查看origin/master分支。如果...
转载
发布博客 2019.06.18 ·
413 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多