自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 socket一个server多个client间的通讯学习历程和demo

关于socket协议的一个server(服务器)多个client(客户端)间的即使聊天实现  这个月一直在想弄明白即时聊天这这个模块,原来一直以为是要用到socket协议的。不过,上网查了一下资料,都说是即时聊天软件用的基本上都是XMPP技术的,然后又查了一下XMPP这个东西,原来也是一个协议,封装好的一个,然后就没有去深入了解了,先用这个socket来实现看看,毕竟这个socket名

2014-10-11 21:29:33 6691 3

原创 前端Web3开发者的出路——财富密码

存粹传统的web外包不好接,虽然dapp现在的开发者也逐渐多起来了,但是相对于传统的app或者web项目,还是有一定的优势的。但是要注意对项目的筛选,价格再高也不能丢了自己作为良好市民的底线,拒绝一切与黄赌毒有关系的项目,拒绝诈骗类项目,合理规避风险和不能跨越道德和法律的底线。没有回不了款的风险,稳定来源,这是最理想的方式,但是需要点运气。如果想加入一个靠谱的团队,可以私信我,深耕技术多年,也积累了点人脉,可以帮你推荐一下。注意:你得有这方面需求的朋友,而且信得过,毕竟做完项目不给钱的很多。

2023-12-21 16:12:47 63 1

原创 python脚本打包apk-上传到内测平台-企业微信通知

python脚本完成Android项目打包apk,然后上传到服务器或者上传到fir,最后在企业微信发送消息

2022-09-20 11:38:27 948 1

原创 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】

Could not get unknown property 'applicationVariants' for extension 'android' of type com.android.build.gradle.LibraryExtension.

2022-08-21 16:58:53 2210

原创 关于build.gradle中的packagingOptions配置参数

关于build.gradle中的packagingOptions配置参数使用方法1. exclude2. pickFirst3. doNotStrip4. merge引入库少配置该参数出现的问题问题解决本文一来带大家了解一下这个配置参数使用方法,二来说说这个配置参数会引起哪些问题。使用方法packagingOptions常见的设置项有exclude、pickFirst、doNotStrip、merge。1. exclude过滤掉某些文件或者目录不添加到APK中,作用于APK,不能过滤aar和jar

2021-10-08 14:53:24 1051

原创 Android进阶之路-自定义ButterKnife(中)

众所周知,android项目通过gradle构建工具编译打包的时候,会执行很多task任务。大致会经历以下几个阶段**.java文件-->.class文件-->.dex文件-->.apk文件**ButterKnife的原理就是编译的时候动态生成XXX$ViewBinder类,在我们调用BufferKnife.bind(this)的时候,通过动态的类加载方式创建出这个ViewBinder类的实例,并且调用bind()方法完成给带有注解的对象进行id绑定的操作。

2021-07-03 22:37:02 214 3

原创 Android进阶之路-自定义ButterKnife(下)

Android进阶之路-自定义ButterKnife(下)

2021-07-03 22:36:17 106

原创 Android Profile 检测结果分析详解$是什么意思

众所周知,Android profile工具可以进行内存分析。网上也有很多文章介绍,例如:https://www.jianshu.com/p/e75680772375但是你真的清楚分析报告的每个字段的意义么?就问一个简单的,如下图的VerticalTextSwitcher$1是什么意思?不知道就往下看。XXXX$1,XXXX$2...表示XXXX类里的内部类,右键jump to source能够直接定位到代码中具体的内部类位置。如果重新定义一个类来继承内部类,就有了名字,如下..

2021-03-19 17:02:34 383 1

原创 scrapy入门——实战爬取doxmark信息

在此以前我们学会了使用urllib来实现简单的爬虫文件爬取网络信息!但是这还远远不够的。Scrapy是一个Python的爬虫框架,使用scrapy可以提高开发效率,并且非常适合做一些中大型的爬虫项目。提高稳定性。scrapy安装1、升级pip:python -m pip install --upgrade pip2、安装wheel:pip install wheel3、安装lx...

2020-01-06 15:10:24 214

原创 Android高级开发进阶之路4——增量更新(bsdiff,bspatch,bzip,ndk)

目录增量更新介绍效果步骤总结增量更新最近换了个新手机,号称2019年的android机皇一加7plus。面对这90z的屏幕,原本不玩游戏的我也入了王者农药的坑!不过很少玩,所以基本上每次玩都要下载补丁更新才能玩。今天我们就来讲一下Android应用的增量更新。介绍优点: 节省用户更新新版本的流量、时间、内存空间。基本流程如下:app...

2019-10-16 19:55:33 782

原创 Android开发模式万佛朝中MVX(MVC、MVP、MVVM)

今天公司的测试服务器开小差了,后台被吐槽的体无完肤,虽然我们都知道跟他没有什么关系,但是生活需要乐趣,总要有人背锅,哈哈!~~~暂时没有环境开发了,那就分享一下之前做的一篇关于Android开发模式的总结,MVC,MVP,MVVM对于刚了解或者没有好好归纳总结的朋友来说,特别是那些像我记性很差的朋友来说,很容易忘记。下面我们一起归纳总结一下,这样屡清楚他们的关系我们用起来就可以迎刃有余,也不会...

2019-10-08 18:05:42 287

原创 Android高级开发进阶之路3——动态换肤(监听xml布局初始化,动态加载类,加载插件资源文件)

动态换肤(监听xml布局初始化,动态加载类,加载插件资源文件)一般小公司是不会接触到换肤的,尤其是动态下载皮肤插件来实现换肤。那么,今天我们来一探究竟。如何实现加载从网上下载的皮肤插件,并且替换到相应的控件中!大致涉及到4个步骤:1、下载皮肤插件(通常为apk,后期用skin.apk来表示皮肤插件)到本地2、根据皮肤插件skin.apk的绝对路径,加载插件里的资源文件3、准...

2019-10-08 08:45:46 336

原创 Android高级开发进阶之路2——手写butterknife(注解,注解处理器,类加载器)

Android高级开发进阶之路2——手写butterknife(注解,注解处理器,类加载器)首先我们来简单讲讲ButterKnife的工作过程:引入库:compile 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'使用:...

2019-08-30 23:36:17 338 2

原创 Android高级开发进阶之路1——自定义控件(Canvas,Paint,贝塞尔曲线)

自定义View(Canvas,Paint,贝塞尔曲线)目录自定义View(Canvas,Paint,贝塞尔曲线)在Canvas上绘制圆,利用Bitmap保存起来在路径上,依次绘制圆,形成画线动画同时绘制多条路径在Android应用层来说,众所周知,自定义一个View,需要经过测量,布局,绘制三个步骤。每个步骤深入将都可以写成长篇大论。今天我们主要了解的是onDraw绘制的部...

2019-08-30 13:49:10 275

转载 Android录制gif(Adb命令录制+FFmpeg命令转换格式)脚本效果更佳

因为一直需要将Android手机上的效果录制下来,转成gif,然后上传到博客上。原来都需要手动操作好几次,所以索性的写了一个脚本来配合使用。环境准备FFmpeg下载 去官网下载地址下载好,解压就可以了。 adb下载 需要下载AndroidSDK。因为笔者下载了Android Studio,帮忙下好SDK。所以就不过多描述了。脚本书写关键的几个指令0.adb截屏...

2019-08-30 11:00:04 362

原创 string too large to encode using UTF-8 written instead as 'STRING_TOO_LARGE'.

为了提高构建速度,按照android 官方的建议如下,改进您的构建速度的一般过程如下所示:采取一些可以立即为大多数 Android Studio 项目带来好处的措施,优化您的构建配置。 分析您的构建,确定并诊断一些对您的项目或工作站来说比较棘手的瓶颈。升级版本后,安卓构建项目的时候遇到error: string too large to encode using UTF-8 wr...

2019-07-25 16:57:01 8807

原创 Android Jetpacket套件之LiveData+ViewModel

Android Jetpacket套件之LiveData+ViewModel最近很火的一个mvvm模式开发,其实原来2017年以前就有databinding的模式了。2018年的i/o大会Google推出的这个全家桶,让开发变得更加简单。一般新的东西到成熟估计还要2,3年吧,八卦的我怎么安奈得住,直接教程吧。好处:数据驱动模式(也就是数据有变化会驱动界面刷新),解耦性强。团队开发...

2019-07-10 14:55:08 924

原创 Android如何构建自己的库在build.gradle中引用-教程+跳坑

开发Android也有一定的年头的,承蒙大神们通过不懈的努力带给我们众多的便利!或许也到自己贡献的时候了,那么我们先学习一下如何构建自己的库,并且在gradle中的引用!步骤前期准备:新建一个project,提交到github上面去创建lib的module这个module里的代码就是别人可以引用的代码创建你分享的代码,例如下图在github上...

2019-06-28 11:08:56 2712 2

原创 Android Jetpack套件之Navigation导航组件

首先记录一个坑:no current navigation node06-26 14:42:25.787 25913-25913/com.bluetree.bytepay2 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.bluetree.bytepay2, PID: 25913 java.lang.IllegalSt...

2019-06-26 18:14:56 1636 2

原创 Android Jetpack套件之Paging分页组件

Google 2018 I/O大会上,Google正式推出了AndroidJetpack——这是一套组件、工具和指导,可以帮助开发者构建出色的 Android 应用。架构组件可帮助您设计稳健、可测试且易维护的应用。 数据绑定 以声明方式将可观察数据绑定到界面元素 Lifecycles 管理您的 Activity 和 Fragment 生命周期 LiveData...

2019-06-22 00:07:30 706

原创 初探Arouter框架

学习Arouter框架最近公司需要重构项目,需要用到jecket page和Arouter框架。利用一晚上的时间将这两个东西快速地学习一下。·首先是ArouterARouter官方地址:https://github.com/alibaba/ARouter/blob/master/README_CN.md背景传统的Activity页面跳转有两种方式,一种是显示跳...

2019-06-11 00:41:43 681

原创 Error:SSL peer shut down incorrectly多次改成http都解决不了

每次在svn中拉公司的项目导进来都会出现各种各样的问题,导致编译不过去!起初是ndk的问题,必须使用16版本以下的。其实就是:Error:SSL peer shut down incorrectly原以为按照https://blog.csdn.net/qq_15895655/article/details/76714071已经找到了解决办法,然而现实并不尽人意。仍然是报同样的错误。...

2019-06-06 17:32:52 1699 2

原创 Android性能分析工具的使用

最近下来了一个比较棘手的任务,优化项目的启动速度!我们解决问题的第一步,首先就是找到问题,我们需要借助分析工具的帮助。熟练使用分析工具准确定位问题的关键,下面来介绍一下android代码的分析工具。常用的Android代码分析工具:1、Android profiler2、TraceViewAndroid Profiler工具:Android Studio 3.0+An...

2019-06-04 10:38:40 1361

原创 Mac安装移动硬盘win10系统

https://bbs.feng.com/read-htm-tid-11628135.html这篇文章写得挺好的,这边说一下我所遇到的问题!DiskGen可以不下载第10步的时候,插入移动硬盘后,发现无法进去有系统的那个分区,如何处理?分配一个盘符后就可以进入了!进到有系统的盘符后,需要双击wtg.vhdx挂载这个虚拟盘后才能在boottice工具中,选中需要的文...

2019-05-21 17:59:00 2782

原创 参透Android的JNI,NDK

什么是NDK,跟JNI之间有什么关系原生开发工具包 (NDK) :是一套工具,允许您为 Android 使用 C 和 C++ 代码,并提供众多平台库。Java 原生接口 (JNI) :JNI是一个协议,这个协议用来沟通java代码和外部的本地代码(c/c++),外部的c/c++代码也可以调用java代码。需要NDK的原因进一步提升设备性能,以实现低延迟时间,或运行计算密集型应用,如...

2019-05-14 14:47:37 166

原创 一行代码实现Recycleview拖拽排序

公司的老项目需要加一个拖拽排序的功能,以前是用listview来实现的,自定义listview,然后再onInterceptTouchEvent中拦截DOWN的事件生成一个新的View,达到一个拖动的效果。这个思想是没有毛病,就是太繁琐了。Recycleview的效果就非常好,最后简单封装了一下,给大家使用:首先我们需要一个工具类:DragRecycleViewHelperi...

2019-04-18 15:10:27 440

原创 Android安装Flutter插件的那些坑

时代的变迁如此之快,AndroidP还没有吃透,又要适配AndroidQ了,强颜欢笑!small case。现在Google究竟想怎样,一方面大力推广Kotlin,一方面又日夜更新推行Flutter。为了不被淘汰,只能都学了......好了,发了一下牢骚,下面入正题,说说在Android Studio中安装Flutter插件的一些坑:坑一:插件列表中搜索不出来flutter取消这个选项就好...

2019-04-18 14:50:31 3522 4

原创 全方位Android优化APP启动速度的

最近进了一家外包公司,这代码就不吐槽了,接过外包公司的二手代码的应该都能理解。虽然说给我的评级不算低,2天熟悉代码,上来就一大波需求。好吧,微笑面对吧,毕竟这对我们程序猿来说在正常不过了。想想也是,比某公司要求手机主题要根据手机壳来变颜色正常得多。主要有三个方面会影响到app的启动速度, 原因一:启动页没有设置带背景的主题style.xml----><style na...

2018-11-08 17:06:49 528

转载 用Fiddler对Android应用进行抓包详解

前言     Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。显然它是可以支持对手机应用进行http抓包的。本文就来介绍下如何用fiddler对手机应用来抓包。 工具/原料Fiddler...

2018-07-12 16:43:30 2386

原创 Bmob后端云——Android再也不担心没有后台了

虽然说团队精神不可无,但是有时候想搞个简单的APP还需要欠后台一个人情,而且人家也不一定有空,特别麻烦。难道Android开发就是这么局限么?脱离了后台Android就只能自己写来玩玩本地的功能吗?答案肯定是否定的,BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务。这里面的一个代表就是Bmob,当然BAT还有亚马逊 ,都有这类产品,这里我...

2018-03-20 16:30:44 8852

原创 升级到android studio 3.0版本的跳坑手册

随着android studio 3.0稳定版的发布,广大开发者都开始尝鲜了,但是尝试新事物是要付出代价的。以下是我掉过的坑,发出来希望能令大家快速跳坑,以便更快用上新版AS出现错误如下Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com

2018-01-25 15:57:24 551

原创 HelloChart框架动态加载数据

一个动态加载数据的图表,首次进入加载20条,并且视图显示在最右边,然后滑动到最左边的时候会再动态加载20条数据

2017-06-21 10:48:47 2898 1

原创 开发Android高德地图

Android高德地图记录运动轨迹,并自动定位视图到2点之间且自动缩放废话不错说,这次我们来实现一个记录运动路径的功能,当然需要有高德地图sdk的帮助,感谢高德地图。如下:首先把高德地图的sdk集成进项目,这个高德地图的开放平台网站已经说的很清楚了,我就不在这里多废话了。http://lbs.amap.com/api/android-sdk/summary/

2017-05-11 15:46:50 1787 8

原创 xutils3.0 post请求网络,后台无法接收到参数

xutils3.0 post请求网络遇到的那些坑最近公司项目比较赶,所以直接用了一个集成的xutils3.0。跟php的同事对接口的时候发现,用网上的post案例请求数据的时候,php端无法接收到数据,但是ios端post的数据php是可以接收到的。百度了半天没有百度出答案,后来自己瞎搞发现了点眉目,现在分享出来给后人~~~原因:提交表单的方式有以下几种:

2017-03-31 14:10:12 3946 4

原创 ViewPager+Fragment避免重复createview

ViewPager+Fragment避免重复createview每次使用ViewPager+Fragment来作为app的框架的时候都要格外小心,因为他们的生命周期有点奇怪,并没有Activity那样来得自然。如何奇怪呢,请看下面日志打开app,一开始为第一个Fragment02-09 14:02:12.551 30159-30159/com.tianjiyun.glyc

2017-02-09 14:55:33 2708

原创 自定义ViewGroup——圆形排列LinearLayout

自定义ViewGroup——圆形排列LinearLayout官方的控件远远无法满足客户的需求了,很多时候需要自己去定义需要的View和ViewGroup。前段时间因为公司的项目非常赶,自己写好的东西都没有时间记录下来,现在稍微好点,就在博客这里留下点足迹。之前一直对onMeasure(),onLayout(),onDraw()这几个方法似懂非懂的,如今顺便复习一下。如题,我

2016-05-23 12:18:13 2897

原创 ScrollView嵌套导致onTouch中的ACTION_UP丢失的问题解决

onTouch 中的ACTION_UP丢失的问题解决

2015-08-28 12:30:00 1543

原创 Jpush丢掉.os文件报错了cn.jpush.android.api.JPushInterface.init(Unknown Source)

今天一直用svn检出代码来运行,发现程序报错at cn.jpush.android.service.ServiceInterface.a(Unknown Source)一开始以为是代码出错,点击logcat中的错误信息,跳转到Jpush那个init()方法那里!找了半个钟都没有找到,最后看了一下上面那行警告(英文的),大概意思是说“库文件找不到,还是未更新”,所以说,还是懂一点英语

2015-08-06 16:04:17 6307

原创 (微信框架之雏形)ViewPager+Fragment实现滑动标签页

ViewPager + Fragment实现滑动标签页简单适合新手的框架

2015-07-16 11:36:30 655

原创 如何修改eclipse 中Android的预览layout布局背景颜色

如何修改eclipse 中Android的预览layout布局背景颜色最近在学习有关于主题和style方面的东西,不知道自己搞了什么东西,layout文件在预览的时候背景颜色总是黑色的,但是运行出来的时候又是白色的,整个eclipse创建的layout布局文件都是那样。默认预览变成黑色的了,我知道应该是我改了一些东西,但是却不知道在哪里改回来了,百度了一下似乎没有人遇到这个问题,好吧,吃自己咯

2015-07-07 15:24:24 9263

bsdiff_bspath_bzip2.zip

bsdiff,bspath,bzip2用于Android开发增量更新!

2019-10-16

NDKApplication2.zip

android开发,在ndk工具下,java使用jni调用c/c++代码。

2019-05-14

NDKApplication.zip

android开发,在ndk工具下,java使用jni调用c/c++代码。

2019-05-14

HellloChart监听滑动到折线图表尽头动态加载数据

一个动态加载数据的图表,首次进入加载20条,并且视图显示在最右边,然后滑动到最左边的时候会再动态加载20条数据

2017-06-21

Viewpager+Fragment优化

Viewpager+Fragment优化实例化布局(避免重复调用)

2017-02-09

Genymotion-ARM-Translation

在Genymotion上运行以前的一个项目(libs中有多个SDK和so文件)时,出现以下错误: Console控制台中:Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 解决:

2015-10-12

viewpager+fragment滑动页面框架

类似微信框架的,左右滑动进行相应的页面切换.不过ui有很大出入,仅供学习!

2015-07-16

xmpp必须要的3个包

一定要的3个包,xmpp初学者快速开发即时聊天工具

2014-10-21

基于socket,一个server,多个client客户端间的即时通讯

网上很少这方面的资源,如果你是想开一个socket服务,进行多个client客户端之间的通讯,那就是找对了,就是这个例子,不会用可以m我。

2014-10-11

万能ListView适配器

免去重新定义多个相似的适配器繁琐工作,只需要提供一个itemitem的layout文件和一个自定义的item样式java文件

2014-09-23

肯定可以的socket_demo

很多地方的Socket代码不行,我这个肯定可以,而且简单,有解释,请看我的文章

2014-09-17

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

TA关注的人

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