自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dream It Possible

目标赋予我们生命的意义和目的。有了目标,我们才会把注意力集中在追求喜悦,而不是在避免痛苦上。

  • 博客(1753)
  • 资源 (224)
  • 问答 (1)
  • 收藏
  • 关注

转载 Git使用规范(Android版)

引言本文根据Git分支管理策略,结合Git Flow分支管理实践,制定了这个适合Android开发中的Git版本管理规范。同时结合实际操作演示了使用示例,希望对你有所帮助。1. 各分支简介下面分支中提到的的 version 应该替换为具体的版本,name 应该替换为具体的开发人员姓名,content 应该替换为需要优化的地方。master分支git的默认分⽀,主分支,不...

2019-08-22 14:55:16 2786 7

转载 不是人人都懂的学习要点

http://www.cnblogs.com/watsonyin/archive/2012/10/22/2734741.html学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。 一.学习也是一种能力看到这个标题,有人会说:“学习,谁不会?”的确,学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。

2012-12-12 15:54:05 7592 11

转载 一个三流学校程序员的奋斗

文章是转载的,我不是一个毅力很强的人,总得一些激励人的文章来激励自己 我也在一个三流的学校,在找有关考研的文章的时候看到这篇文章觉得不错,不敢独享,拿出来共勉…… 看完后我又一次明白,勤能补拙,一个人的成功,往往在于坚持没有挫折,不经历艰难的日子,就没有美好的明天……忘了是谁说的:当你感觉到艰难的时候,正是你在走上坡路的时候

2012-06-08 14:47:26 10103 20

转载 Android Binder分析

为服务创建binder_node:cookies指向native层的BnxxxService对象;proc指向server进程。向serviceManager注册该binder_node。在内核中会创建binder_ref,node指向该binder_node,同时分配desc值(由注册的顺序决定..)。回到serviceManager的用户态,在svcinfos服务链表中,加入一个svcinfo对象。进行了两次拷贝。从client用户态到内核态从内核态到server的用户态。

2024-04-15 00:19:01 14

原创 Android ParcelFileDescriptor实现进程间通信

来建立一个pipe通信通道,ParcelFileDescriptor数组第一个元素是read端,第二个元素是write端,通过write端的AutoCloseOutputStream和read端的AutoCloseInputStream,我们就可以实现进程见的数据流传输了。两端业务层都把Uri对应的ParcelFileDescriptor发送给通信层,发送端通信层从AutoCloseInputStream中取数据发送,接收端通信层获取到数据后,写入到AutoCloseOutputStream中。

2024-04-14 23:28:53 840

转载 Android windowManager弹窗点击空白关闭弹窗

但是如果是一个windowManager操作添加的window弹窗,这个时候就需要我们自己去监听外部的点击事件,然后把自己隐藏掉。1、弹窗的属性flag设置WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,设置了这个属性之后,才能监听view之前的触摸事件。2、设置OnTouchListener,监听外部触摸。项目上遇到这样一个需求,按键增减音量的时候会有一个window弹窗出来,在点击弹窗以外的地方需要立刻让其消失。

2024-04-12 17:17:38 22

原创 Android匿名共享内存(Ashmem)

共享内存是进程间通讯的一种方式,通过映射一块公共内存到各自的进程空间来达到共享内存的目的。通常进程内存空间是4G,这个大小是由内存指针长度决定的,如果指针长度32位,那么地址最大编号为0xffffffff, 为4G。上面的内存实际指的是进程的虚拟地址空间,还需要经过内存映射才能访问到真实的物理内存,这些工作对用户是透明的,不需要用户关心,操作系统都已经帮我们做好了。通常虚拟内存地址和物理内存地址,但是存在一种对应关系。

2024-04-07 21:01:44 867 1

转载 Android 使用AIDL传输超大型文件

一道面试题:使用AIDL实现跨进程传输一个2M大小的文件 - 掘金该文章与本文类似,都是使用AIDL向接收端传输,不过该文中使用共享内存MemoryFile构造出,MemoryFile的创建需要使用反射,对于使用MemoryFile映射超大型文件是否会导致内存占用过大的问题,我个人没有尝试,欢迎有兴趣的朋友进行实践。ParcelFileDescriptor 是一个封装了文件描述符的类,可以通过 Binder 传递给其他进程,实现跨进程访问文件或网络套接字。

2024-04-07 20:20:31 59

转载 Android 车载应用开发与分析 - 编写基于AIDL 的 SDK

AIDL,Android 接口定义语言,是Android开发中常用的一种进程间通信方式。关于如何使用AIDL请参考Android 接口定义语言 (AIDL) | Android 开发者 | Android Developers这里介绍一些AIDLin单向数据流向。被in修饰的参数,会顺利传到Server端,但Servier端对实参的任何改变,都不会回调给Client端。out单向数据流向。

2024-04-07 19:40:23 24

原创 android:scrollbars 滑动滚动条代码控制

Android中的View对于ScrollBar和Scroll的支持是非常灵活的,不仅仅是UI样式可变,计算参数的方式也是可变的。在Android中,任何View都可以显示出ScrollBar,唯一的条件是自身高度不足以显示全部内容。

2024-04-07 10:26:12 886

转载 全面理解Android内存优化

到这里,对于Android内存优化中需要了解的理论基础就简略的介绍完了,掌握理论基础,一方面开发中,我们可以避免犯一些低级错误,提高代码的质量,另一方面在日后做内存优化时会变得更加游刃有余,或许就不会产生“卧槽,这样为什么又会内存泄漏”的疑问了。到这里,对于Android内存优化中常用的三种工具就介绍完了。熟练掌握各种分析工具的使用,能够帮助我们快速定位、解决开发中遇到的各种内存问题。既能帮助程序员提升自我,也能给用户一个良好的使用体验。

2024-04-06 16:28:33 23

原创 Android 代码自定义drawble文件实现View圆角背景

相信大多数Android开发都会遇到一个场景,给TextView或Button添加背景颜色,修改圆角,描边等需求。一看到这样的实现效果,自然就是创建drawble文件,设置相关属性shap,color,radius等。然后将drawble文件设置给对应的view即可实现想要的效果。但是作为一个SDK,如果不同的app都需要修改自己独特的颜色,圆角等需求,如何以最小的改动来满足不同app的需求呢?

2024-04-05 16:57:15 797 1

转载 Android车载应用开发——音视频基础知识与MediaPlayer

多媒体应用是车载信息娱乐系统的一个重要组成部分,一般包含音视频播放、收音机、相册等。

2024-04-04 16:39:12 416

原创 Android 解决TextView多行滑动与NestedScrollView嵌套滑动冲突的问题

2. 计算文本客滑动到哪里即可停止, (行高*总文本行数)- (行高 * 最多显示行数) int sum = getLineHeight() * getLineCount() - getLineHeight() * getMaxLines();1.当前是上滑动还是下滑动(相对于屏幕) ,使用ev.getRawY()获得当前滑动位置在屏幕哪个地方。左右对齐的TextView。

2024-04-02 16:28:25 521

转载 【原理篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X5 webview

上一篇文章【使用篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X5 webview已经讲解了如何实现嵌套滑动,这篇文章,让我们一起来看他的实现原理。废话不多说,开始进入正文。讲解之前,先简单说一下嵌套滑动的一些概念。(熟悉这个的哥们可以直接跳过这个)说到嵌套滑动,大家应该都不陌生。他是 Google 在 5.0 之后推出来的 NestedScroll 机制。可能初学者会有这样的疑问?想比较于传统的事件分发机制,NetstedScroll 机制有什么优点。

2024-04-02 15:39:44 35

原创 Android 自定义View 测量控件宽高、自定义viewgroup测量

主要思路:对FlowLayout的所有子View逐个进行测量,获得measuredHeight和measuredWidth,在水平方向上根据这个尺寸依次对View进行放置,放不下则另起一行,每一行的高度取该行所有View的measuredHeight最大值。3.1、单个子View测量。

2024-04-01 11:26:44 971

转载 Android中自定义LinearLayout中layout方法不起作用的原因

看到第五、六步发现,LinearLayout是以左侧为基准,处理子View的位置排布的,其中,涉及到了一个很重要的属性margin,它是通过循环,控制childLeft的值,然后调用setChildFrame方法,在该方法中,最终调用的view.Layout方法。所以在外部的onLayout方法中,无论你怎么设置四个参数,压根就影响不到有用的的布局参数,所以,需要给view设置它们的params就可以了。重点来了,然后自己实现一个自定义LinearLayout的时候,还是按部就班。....省略计算过程。

2024-04-01 09:48:20 26

转载 Android 动态添加 View 并显示在指定位置

DecorView 有唯一一个子 View,它是一个垂直 LinearLayout,包含两个子元素,一个是 TitleView( ActionBar 的容器),另一个是 ContentView(窗口内容的容器)也是一个 FrameLayout(android.R.id.content),平常用的 setContentView 就是设置它的子 View。下面就得介绍另一个方法呢。其实添加以后,还得考虑事件的点击之类的,比如可以通过设置回调,当点击引导动画的时候,先隐藏动画,再去主动促发按钮的点击逻辑等。

2024-03-30 17:16:09 63

原创 Android WindowManager工具类

WindowManager提供三个方法: addView()、updateLayout()、removeView()。分别对应是添加view、更新view、移除view。其他工具类大家搜索一个就可以了。

2024-03-29 20:14:43 373

原创 饺子播放器Jzvd使用过程中遇到的问题汇总

继续看第一个方法第四行开始,毫无疑问,作者获取getDecorView()根视图,然后将原来的对象放入了跟视图,同时隐藏了状态栏,也即是开启了全屏模式,汗,简单粗暴。从上方代码第三行跳转到下面这个方法,可以看出作者用构造器构造了一个新的对象替代了原来位置的对象。还不够,那如何从全屏模式回来呢,作者在打开全屏的时候,就将原视图的父容器存放到了一个链表中。

2024-03-28 14:31:45 300

转载 Mac 安装Photoshop遇到一系列问题&解决方法

Mac 下Photoshop各类安装报错提示的解决方案。

2024-03-24 19:00:01 100

原创 Android RecyclerView用代码动态设置item的selector

上述代码states[0]一维数组里有两个状态,当着两个状态都成立的时候selected这个颜色才生效,所以这里回答了一个问题,为什么第一个参数是二维的,因为可以对应多个状态。在XML中我们可以通过不同状态设置true然后设置color="hex_color"来达到不同状态显示不同颜色的目的,下面是总结的状态表。注意:这个是为view设置颜色,不是背景,如果为背景设置颜色,需要使用StateListDrawable。在drawable下创建的xml都是作为背景使用的,背景可以使用纯颜色也可以使用图片。

2024-03-20 14:30:42 342

原创 Android自定义View——可以设置最大宽高的FrameLayout

Override// 计算子View的宽度和高度i++) {// 根据测量模式设置最终的宽度和高度// 设置最终的宽度和高度使用自定义FrameLayout使用自定义的FrameLayout和使用普通的FrameLayout没有太大的区别,只需要在布局文件中使用我们定义的CustomFrameLayout即可。-- 子View的布局 -->/*** *//***/

2024-03-11 15:57:42 719 1

转载 Android Aidl的使用

别忘了对象是不能跨进程传递的,对象的跨进程传递本质上是反序列化的过程,这就是为什么 AIDL 中的自定义对象都必须要实现 Parcelable 接口。实际开发中,我们要传入的数据可能是 JavaBean 类型的,需要先进行序列化,Android 的序列化推荐用 Parcelable。在 project 视图下,在 main 目录新建 Aidl File ,会生成一个 Aidl 文件夹,用来存放 aidl 文件。新建 ICarManager.aidl 文件, 本例中,只添加获取和增加的接口,

2024-03-08 14:36:59 74

原创 在 build.gradle.kts 添加 阿里云仓库

在 build.gradle.kts 添加 maven 仓库。

2024-03-06 11:26:32 690

原创 Android动态添加view设置view大小(宽高)

第一种:ViewGroup在添加子view的时候设置layoutParams。第二种:子view本身设置layoutParams。

2024-03-05 10:27:02 465

原创 Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法

在问题排除过程中,根据网上的博客猜测是版本Gradle和Gradle Plugins不匹配产生的问题,但是发现sync的过程中,build.gradle、settings.gradle中并未有如上现象。原因是,我曾经按照博客教学安装AS的时候,刚打开AS的第一个界面就是让我设置AS的Proxy,而按照某些过时的博客上所讲,从官方的源下载会很慢,于是我就设置了代理并规定了端口号。也就是说,你在AS里面下载Gradle是走AS里面的代理,而我后来gradle sync中下载的gradle插件则是走的全局设置。

2024-03-02 14:00:27 1386 1

转载 如果面试这样说HashMap,那么稳了

HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。

2024-02-18 23:40:23 80

转载 JVM相关面试题

类加载器是一个用来加载类文件的类。Java 源代码通过 javac 编译器编译成类文件。然后 JVM 来执行类文件中的字节码来执行程序。类加载器负责加载文件系统、网络或其他来源的类文件。实现通过类的权限定名获取该类的二进制字节流的代码块叫做类加载器。在介绍双亲委派模型之前先说下类加载器。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立在 JVM 中的唯一性,每一个类加载器,都有一个独立的类名称空间。

2024-02-18 21:42:09 81

转载 详解JVM对象内存布局以及内存分配规则

程序计数器是一块较小的内存空间,是当前线程正在执行的那条字节码指令的地址。若当前线程正在执行的是一个本地方法,那么此时程序计数器为Undefined。Java 虚拟机栈是描述 Java 方法运行过程的内存模型。Java 虚拟机栈会为每一个即将运行的 Java 方法创建一块叫做“栈帧”的区域,用于存放该方法运行过程中的一些信息,如:局部变量表操作数栈动态链接方法出口信息......

2024-02-18 18:20:46 179

原创 Kotlin和Java 单例模式

最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式。因为其表达方式与Java是不同的。所以对不同单例模式的实现进行了分别探讨。饿汉式懒汉式线程安全的懒汉式双重校验锁式静态内部类式PS:该篇文章不讨论单例模式的运用场景与各种模式下的单例模式的优缺点。只讨论在Java下不同单例模式下的对应Kotlin实现。

2024-02-05 11:46:22 2178

转载 Kotlin作用域函数let、with、run、apply、also

函数名函数体内使用的对象返回值letit函数块的最后一行或指定return表达式withthis或省略函数块的最后一行或指定return表达式runthis或省略函数块的最后一行或指定return表达式applythis或省略thisalsoitthis。

2024-02-05 11:38:33 101

原创 gradlew与jdk版本不匹配,可以通过配置指定jdk 版本

在Gradle构建工具中, org.gradle.java.home 属性用于指定Gradle在构建过程中使用的Java JDK的安装路径。它是一个全局属性,可以在项目级别或全局级别进行设置。当Gradle构建项目时,它将使用指定的JavaJDK版本来编译和运行项目代码。默认情况下,Gradle将使用系统默认的JavaJDK。但是,在某些情况下,您可能希望使用不同的JavaJDK版本,比如您的项目需要特定版本的Java或需要与其他项目兼容。当Gradle下次构建项目时,它将使用指定的Java JDK版本。

2024-02-04 23:09:43 643

转载 Android基于Gradle8.0的插件开发

之前使用Groovy、Java 、 手动配置的方式演示了Gradle插件的整个自定义流程《自定义gradle插件》。本文使用java-gradle-plugin 和 Kotlin重新梳理下Gradle插件的自定义流程。1、新建一个Module模块hui_plugin(选择Kotlin Library)2、在hui_plugin模块的build.gradle.kts中引入“java-gradle-plugin” 和 “org.jetbrains.kotlin.jvm” 插件。

2024-02-04 19:07:17 456

原创 Android kotlin build.gradle.kts配置

重新build了下代码,然后找编译后的代码,发现确实没有生成BuildConfig。之前代码相比,也就是AGP的版本升级了下,那猜测是不是跟AGP8.0.0的版本有关,于是在BuildType中手动添加了个buildConfigField,想以此方式强制生成下BuildConfig。我们在新建一个项目然后直接进行Build apk,可以生成一个app_debug.apk的apk文件,那么文件是怎么产生的呢?不同flavor的应用,加载不同的lib,然后某些代码文件,资源也可以使用对应文件夹下的内容替代。

2024-02-04 18:55:12 5132 1

转载 使用 LiveDataBus 替代 EventBus

可以看到相比第一版的 LiveDataBus ,改良版增加了许多代码,因为 version 机制,但反过来一想,如果没有这个 version ,我们一样还是要自己实现粘性订阅的功能,在 Android 帮我们实现了这个功能后,我们再自己增加非粘性订阅的功能,其实都差不多。优点UI 和数据保持实时同步,因为 LiveData 采用观察者模式,只要数据发生改变就立刻通知订阅者。避免内存泄漏,订阅者和生命周期绑定,当宿主销毁时订阅者能够马上清理自身数据。

2024-02-02 16:13:32 169

原创 Android性能优化:直播推流使用对象池

根据Android Handler里面的Message实现思想,实现自定义的对象池。#性能优化之Android应用内存优化实战#

2024-01-27 16:49:18 235

转载 java实现双向链表的增删改查

双链表顾名思义,就是链表由单向的链变成了双向链。使用这种数据结构,我们可以不再拘束于单链表的单向创建于遍历等操作,大大减少了在使用中存在的问题。

2024-01-27 16:42:46 104

转载 java实现单链表的增删改查

单链表:单链表中的每个节点不仅包含储存的数据,还包含指向下一个节点的链接。

2024-01-27 16:26:35 147

转载 偏向锁和重量级锁的多连问,你能接住几个?

jvm因为加入了偏向锁逻辑而大大提高了同步锁的速度。但是偏向锁不是万能的,尤其是现在互联网应用并发越来越高,偏向锁在过多的争抢下反而会影响效率并且很快就会发生膨胀,已经越来越偏离了了它设计时的初衷。当前的Java应用中也基本会使用JUC包来做并发的同步,偏向锁的使用场景越来越少。当然硬件性能的提升也在削弱偏向锁的优势,所以Java15默认关闭了偏向锁。当然,本篇文章对于你参加面试还是能够提供一点点帮助的😄。

2024-01-24 13:16:49 88

Android将list数据通过LitePal保存到本地(集合保存到本地)

有时候我们需要将list集合保存到本地,自己写起来太麻烦,就找到了强大的框架LItePal Git地址 https://github.com/LitePalFramework/LitePal

2016-06-17

AndroidDownLoad-多线程断点续传下载

什么是多线程下载? 多线程下载其实就是迅雷,BT一些下载原理,通过多个线程同时和服务器连接,那么你就可以榨取到较高的带宽了,大致做法是将文件切割成N块,每块交给单独一个线程去下载,各自下载完成后将文件块组合成一个文件,程序上要完成做切割和组装的小算法 什么是断点续传? 断点续传,就是当我们下载未结束时候,退出保存下载进度,当下次打开继续下载的时接着上次的进度继续下载,不用每次下载都重新开始,那么有关断点续传的原理和实现手段 http://blog.csdn.net/jdsjlzx/article/details/41014021

2016-06-14

DownloadEngine-Android多线程下载断点续传

商业级别的范例,集支持多线程下载,断点续传,只使用wifi网络下载,显示下载速度,人性化提示及超强的容错机制多功能于一体,绝对的实用,绝对的专业。

2016-06-14

MulThreadDownloader-Android实现网络多线程断点续传下载

Android实现网络多线程断点续传下载

2016-06-14

android-rsa-http

对url的path段进行rsa加密 博客:http://blog.csdn.net/jdsjlzx/article/details/51644798

2016-06-12

android自定义ProgressBar(仿淘宝)的加载效果

android自定义ProgressBar(仿淘宝)的加载效果

2016-06-11

RxJava封装、离线缓存、在线缓存时间控制

http://blog.csdn.net/adzcsx2/article/details/51333890 代码修复版本

2016-05-24

RxJava在Android中内存泄漏解决以及RxJava的封装

RxJava在Android中内存泄漏解决以及RxJava的封装 原文:http://blog.csdn.net/adzcsx2/article/details/51333890 原作者的demo运行有点问题,本人修复重新上传。

2016-05-23

Android RecyclerView实现了下拉刷新和上拉加载

Android RecyclerView实现了下拉刷新和上拉加载,不需要其他控件辅助。

2016-05-23

Android H5做的商城客户端

H5做的商城客户端,效果和android原生客户端没多大区别 详细:http://blog.csdn.net/jdsjlzx/article/details/51283543

2016-04-29

Android下的图片压缩及图片和视频的上传

Android开发中上传图片很常见,一般为了节省流量会进行压缩的操作,Android下的图片压缩及图片和视频的上传

2016-04-19

Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比

在加载大量数据的时候,经常会用到异步加载,所谓异步加载,就是把耗时的工作放到子线程里执行,当数据加载完毕的时候再到主线程进行UI刷新。在数据量非常大的情况下,我们通常会使用两种技术来进行异步加载,一是通过AsyncTask来实现,另一种方式则是通过ThreadPool来实现。 http://blog.csdn.net/jdsjlzx/article/details/43682351

2016-03-31

Android Bluetooth蓝牙通信文件传输

Android Bluetooth文件的引入和传输,可使用两台设备,一个做客户端一个做服务端,传输文件,显示传送进度。 http://download.csdn.net/download/u010963246/8907157

2016-03-27

Android蓝牙聊天程序的扩展开发(基于Google Sample,类QQ设计)

Android蓝牙聊天程序的扩展开发(基于Google Sample,类QQ设计) 原作者:http://my.oschina.net/sikilao/blog/488331

2016-03-26

Android蓝牙聊天程序优化版

Android蓝牙聊天程序的扩展开发(基于Google Sample,类QQ设计) 原创作者链接:http://my.oschina.net/sikilao/blog/488331

2016-03-26

universal-image-loader-1.9.5.jar

universal-image-loader-1.9.5.jar

2016-02-27

Android 二维码扫描怎样实现第二次(重复)扫描

Android二维码扫描怎样实现第二次(重复)扫描

2016-02-16

Android 通过Socket 和服务器通讯

Android 通过Socket 和服务器通讯,是一种比较常用的通讯方式,时间比较紧,说下大致的思路,希望能帮到使用socket 进行通信的人 (1)开启一个线程发送消息 SocketOutputThread 消息是放在队列里的,当有消息后,进入队列,线程唤醒,发送消息,并反馈发送是否成功的回调 (2)开启一个线程接受服务器消息 SocketInputThread 为了防止一直收数据,浪费电池的电,采用NIO的方式读socket的数据,这个是本文的关键 (3)开启一个线程,做心跳,防止socket连接终断 , SocketHeartThread (4)构建 SocketThreadManager对以上三个thread进行管理 (5)构建 TCPClient 发送socket消息 在NIO的方式实现TCP,特别是在接收服务器的数据,不用写个线程定时去读了。

2016-02-16

android RangeSeekBarView 选定范围值的控件

实现了一个选定范围值的控件,刻度尺为等分的100等分。模仿二手车app中筛选选定区间的控件。 原创链接:http://download.csdn.net/detail/huweigoodboy/8508243

2016-02-01

Android仿天天动态上拉播放界面控件

仿天天动态上拉出现播放界面(修改) 效果:1,在Content未展开的状态(隐藏): 1>点击Handler控件,弹出Content。 2>拖动Handler,Content会从底部逐渐出来。 2,在Content展开的状态: 拖动Content,content位置随着手指的滑动而产生位置变化。 原创:http://download.csdn.net/detail/huweigoodboy/8372255

2016-01-31

RecyclerView的四级缓存源码分析

RecyclerView 四级缓存

2023-03-21

Flutter编程指南-多线程

Flutter是Google开发的新一代跨平台方案,Flutter可以实现写一份代码同时运行在iOS和Android设备上,并且提供很好的性能体验。 在Google刚推出Flutter时,其发展很缓慢,终于在18年发布第一个Bate版之后迎来了爆发性增长,发布第一个Release版时增长速度更快。可以从Github上Star数据看出来这个增长的过程。在19年最新的Flutter 1.2版本中,已经开放Web支持的Beta版。 目前已经有不少大型项目接入Flutter,阿里的咸鱼、头条的抖音、腾讯的NOW直播,都将Flutter当做应用程序的开发语言。除此之外,还有一些其他中小型公司也在做。Flutter越来越变成一个新的开发趋势。

2022-02-21

java数据结构与算法之美(物超所值)

数据结构与算法之美教程分为 4 个由浅入深的模块:入门、初级、高级、实战。 高级篇将从概念和应用的角度,深入剖析一些稍复杂的数据结构与算法,推演海量数据下的算法问题解决过程;帮你更加深入理解算法精髓,开拓视野,训练逻辑;真正带你升级算法思维,修炼深厚的编程内功。 实战篇将通过实战案例串讲前面讲到的数据结构和算法;并拿一些开源项目和框架,剖析它们背后的数据结构和算法;并带你用学过的内容实现一个短网址系统;深化对概念和应用的理解,灵活使用数据结构和算法。

2022-02-09

flutter_macos_2.8.1-stable.zip

Flutter 的 Stable channel 是相对稳定的发布版本,最新版本是2.8.1。 官网下载速度慢还容易失败,有需要的下载即可。

2022-01-05

mac_apktool.zip

MacOS下用的APK逆向工程工具 本工具分两个版本:一个是图形化版本Android-Crack-Tool,易操作;一个是命令行版本; 使用参考:https://www.jianshu.com/p/56ea01d7ccac

2021-03-25

Postman-osx-5.3.2 for Mac

Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。 这里提供的是Mac下的Postman安装包。

2017-10-31

Android 三种方式实现自定义圆形页面加载中效果的进度条

Android 三种方式实现自定义圆形页面加载中效果的进度条

2016-12-19

CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar

Android Material Design之CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar http://blog.csdn.net/jdsjlzx/article/details/50421349

2016-08-19

android自定义进度条渐变色View的实例代码

这个自定义的view,完全脱离了android自带的ProgressView,并且没使用一张图片,这样就能更好的降低程序代码上的耦合性! http://blog.csdn.net/jdsjlzx/article/details/49586339

2016-07-26

Android多行文本折叠展开效果

- 单行文本水平触摸滑动效果 通过EditText实现TextView单行长文本水平滑动效果 - 多行文本折叠展开 自定义布局View实现多行文本折叠和展开 详见: http://blog.csdn.net/jdsjlzx/article/details/45821909

2016-07-25

Android封装popwindow类(下拉菜单弹出和收缩效果)

popwindow 实现下拉菜单的弹出和收缩效果 http://blog.csdn.net/jdsjlzx/article/details/52000107资源

2016-07-22

Android自定义spinner下拉框

Android自定义spinner下拉框实现的实现 http://blog.csdn.net/jdsjlzx/article/details/41316417 请支持原创:http://blog.csdn.net/geniuseoe2012/article/details/8723702

2016-07-16

Android DigitalClock实现倒计时

应用案例: 大量商品的限时抢购等。 类似于这样的倒计时,不知道大家有没有遇到过,大家又能想到哪些方案????? 1、每一秒到服务器上面去取一次数据? 2、每一秒,通过一个Handler去循环遍历,对每一条去刷新一次时间控件? 3、还是大家有其它的想法。 上述两种方案都不可取: 1、网络连接有时间差,况且数据访问量大的情况,服务器没法承受。 2、 循环遍历可行,但是要在数据量少的情况下,如果数据量过大,那么会卡屏,对系统内存的占用也较高。 本源码的方案是对Android 系统中 DigitalClock 进行一次封装。 通过继承以下方法并改变内部的实现。

2016-07-12

Android 带箭头有光晕效果的ProgressBar

Android 带箭头有光晕效果的ProgressBar(Android Studio版本) 原文:http://blog.csdn.net/ekeuy/article/details/39228285

2016-07-04

android webview与 js交互通信

webview与js的交互。 其实这个demo完全可以在客户端实现相同功能,这里只是学习交互如何实现的。并且用html动态加载会比较灵活,可以在服务端随时更新样式。没有公网服务器,我把网页放在assets中,不过不影响的。

2016-06-20

Android项目webview中做与js交互

Android项目webview中做与js交互,涉及到js中调用Android本地的方法,于是查了资料整理了一下android和js互相调用的过程。如下demo,demo的主要实现过程如下:通过加载本地的html文件(里面有js脚本),实现android本地方法和js中的交互。 http://blog.csdn.net/jdsjlzx/article/details/7254875

2016-06-20

Android socket通信长连接(心跳检测)

Android的socket长连接(心跳检测),有服务端和客户端 。开发环境eclipse,不可多得的客户端与服务器端代码

2016-06-17

Android客户端提供Socket服务与pc通过USB通信

Android手机和电脑通USB线连接,手机里面的app作为Socket的服务器端,PC作为Socket的客户端,两者进行通信。

2016-06-17

Android 使用Socket,ServerSocket编程网络通信

Android完全支持JDK本身的TCP,UDP网络通信API,也可以使用ServerSocket,Socket来建立基于TCP/IP协议的网络通信,也可以使用DatagramSocket,Datagrampacket来建 立基于UDP协议的网络通信

2016-06-17

Android socket即时通信Demo

基于tcp和udp的即时通信源码,以及实现原理说明和截图。 当然socket不仅仅可以用来做聊天,如usb连接和wifi通信等都可以用socket来实现,此源码功能实现非常详细,不可多得!

2016-06-17

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

TA关注的人

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