- 博客(34)
- 问答 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 protobuf变长编码
之前写过使用Protobuf的文章,参考链接https://blog.csdn.net/zhtttyyzc/article/details/88554911微信mmkv轻量级存储也用到Protobuf那么Protobuf跟传统的json有哪些优势,又有哪些缺点呢https://developers.google.com/protocol-buffers/docs/encoding...
2019-09-09 16:38:42
755
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 反射与hook起步
为什么使用hook?有时系统源码无法实现我的需求有时我的需求A写法太麻烦了,效果也不要好。但是用B写法,稍微改动点源码即可完美实现N多理由如之前写的LiveDataBus也用到了hookhttps://blog.csdn.net/zhtttyyzc/article/details/99736065hook的前提:清晰的步骤流程、反射、熟悉源码刚好前段时间重新梳理了触碰流...
2019-08-26 17:24:06
561
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 美团robust接入
美团Robust的GitHub地址https://github.com/Meituan-Dianping/Robust导入1、Module的build.gradle中apply plugin: 'com.android.application'//制作补丁时将这个打开,auto-patch-plugin紧跟着com.android.application//apply plu...
2019-08-23 16:32:58
907
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 LiveDataBus
具体参考https://www.cnblogs.com/meituantech/p/9376449.html观察者模式多个果商订阅了某个果农的果子,果子熟了告诉我。几天后果子熟了,果农一个个通知果商来拿货发布/订阅模式发布者只负责把信息发布到调度中心,至于这信息有没有人处理,怎么样处理,则不关心。附加上代码/** * 替换 EventBus Rx...
2019-08-19 16:57:25
499
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 google play以及google pay
接入google play有段时间了,今天抽空留个备份,回忆下心酸的历程网上已经有很多资料,google爸爸也提供了很多文档。但是对于刚接触的我来说,信息量太大,有点杂乱的感觉。其实整理清楚,那么就非常简单了。这里细节也不详细写了,主要理清楚一些概念。一、注册google账号,付钱成为开发者人员二、进入Google Play Console创建你的应用,同时填写一些信息。(APP基本信...
2019-08-16 15:53:58
4278
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android源码解析触碰机制
分发dispatchTouchEvent 触碰屏幕时会触发的view方法,原理需要看更深层次的源码,这里可以理解为入口拦截onInterceptTouchEvent消费onTouchEvent总结View中有dispatchTouchEvent分发onTouchEvent消费ViewGroup是由多个View组成。继承View 有onInterce...
2019-08-16 15:43:58
232
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓okhttp3使用http2.0
implementation 'com.squareup.okhttp3:okhttp:3.9.0'我用的是3.9.0版本,调用http2.0代码如下fun setDefaultClient(): Builder { myOkHttpClient = OkHttpClient.Builder() .cookieJar(CookieManger()) ...
2019-07-01 16:36:30
6491
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我理解的http,get post以及1.0 、1.1、 2.0,https、socket
本文只是表达个人对http概念,get、post方法,http各大版本以及https、socket的理解。如有问题,欢迎指正一、TCP/UDP的概念TCP可以理解为是一个协议组或者是一个网络服务模型。是基于连接的协议,在收发数据前,需要建立可靠的连接,也就是所谓的三次握手。使用TCP协议时,数据会准确到达,但是效率较低UDP是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送...
2019-07-01 16:21:56
600
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 android中protobuf的简单使用
protobuf 是什么? 为什么要用到?protobuf 是二进制存储所以比 json传输更快 更易于跨平台开发 但是读写更麻烦没关系,google已经帮我们处理好了 现在我们只用站在巨人的肩膀上就行先来看一个简单的protobuf 类 类名定义为 Result 在Result 类中定义个对象message PMessage { int32 code ...
2019-03-14 18:09:35
5458
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 svg初探,绘制爱心
1、svg图片 svg和bitmap的区别 不详细介绍了 首先强烈推荐阿里 iconfont 简单粗暴 找一张图片下载 可以调整图片属性 选择svg下载 然后打开android studio module 右键drawable 选中下载的svg图片 这里可以调整图片属性 然后生成对应的.xml文件 最后的使用是一样的 and...
2018-08-30 16:48:48
2888
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 dagger2的简单入门(二)
上一篇讲了些简单的用法,这篇在继续积累点知识@Named限定符号假设这样一个场景 父类public abstract class Parent { public abstract String getMsg();}子类1public class ViscountOne extends Parent{ @Inject public Vis
2017-03-01 11:03:54
420
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 dagger2的简单入门
dagger2 解耦 依赖 注入。懵逼,懵逼。。。下面总结下我查看网上资料 看得脑浆炸裂 !!的一点小成果AS导入的流程1、Modules 下build.gradledependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.andro
2017-02-28 18:53:17
389
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Textview增加图片并实现点击与文字设置不同大小颜色
本文参考 http://www.cnblogs.com/luction/p/3645210.html需求再操蛋也是木有办法 本文代码 textView 包含3个功能 1、文字中添加表情 2、文字中添加图片并实现点击3、同一个textView中的文字设置不同的字体大小与颜色效果如图一切都在代码里 上代码 pu
2016-11-28 17:23:33
617
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 recyclerview的简单使用
xml布局文件代码<android.support.v7.widget.RecyclerView android:id="@+id/id_recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" >activity代码mRecy
2015-12-31 13:55:47
411
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 android中cardview的基本使用
cardView的基本使用 留个demo 做个小小的备份cardView个人感觉类似于xml布局 shape的效果首先在项目的build.gradle中添加引用dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12'
2015-12-31 12:01:58
818
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓瀑布流适应ScrollView标签控件
此文章参考http://blog.csdn.net/jdsjlzx/article/details/45042081感谢大神提供的帮助 尊重原创最近碰到个需求 弹窗标签流 弹窗高度有限 但是后台标签超过范围需要嵌套 ScrollView 此文章只是为了解决上面链接嵌套ScrollView无效问题public class XCFlowLayoutScrollView ex...
2015-12-28 15:48:00
985
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓反编译smali代码注入第三方广告
最近研究了下反编译smali代码注入 实现自己的功能 简单的注入Toast log代码 比较简单 网上都是 但是没有找到加入第三方广告sdk的例子 下面就以hao123广告注入说下自己的经验 其实规律很简单hao123广告 需要的代码 (此处只是为了知道哪些地方改变了)1.AndroidManifest.xml 权限 以及活动 服务 广播2.res-drawable-x
2015-10-17 15:04:17
3534
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 TextView点击拨号出错的问题
TextView拨号很简单 布局xml文件 添加一行 android:autoLink="phone"即可但是有的时候点击报错 android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_T
2015-09-06 18:15:11
565
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓adapter子项动态设置控件宽度以及扩展动画
适配器每项的一个控件 根据数据百分比大小 动态设置宽度 以及扩展动画非常简单的一个功能 但是也写出来 希望有点帮助吧baseAdapter 的getView 会根据布局 初始化convertView 此处我的convertView有两个控件 固定高宽的ImageView 剩余的就是另外一个LinearLayout了getView大家都清楚 但是在此方法中 return co
2015-08-26 17:30:32
2683
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 详解android中OnClickListener监听
菜鸟上路,个人见解,有错误的地方请多指教OnClickListener是安卓控件的一个点击监听事件 这个接口 包含一个方法 void onClick(View v)进去看源码会比较神奇的发现 view中 public void setOnClickListener(OnClickListener l) { if (!isClickable()) {
2015-08-24 16:15:28
1185
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ViewPager内嵌ViewPager以及与SwipeRefreshLayout冲突的问题
ViewPager 内嵌 ViewPager 思路来源 http://my.oschina.net/ososchina/blog/383194重写onTouchEvent方法 细微的代码做了修改 在手势动作 追加个判断 if(this.getChildCount() > 1){//判断重写的viewpager 是否有子项 getParent().requestDisallowIn
2015-08-22 15:17:13
857
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 dialog 自动弹出软键盘的问题
dialog中 有EditText 有的需求是自动弹出软键盘 有的是不需要自动弹出软键盘 其实解决方案是一样的前段时间 dialog中 有EditText 需要自动弹出 试了各种办法 都没啥用 比如EditText 焦点的获取 强制软键盘的弹出 但是这个时候 强制弹出的软键盘 闪下就没了 强制的代码是在dialog.show()之后 运行的 得到这个
2015-08-06 10:35:33
1871
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓视图动画+收缩与展开
最近需求 类似支付宝 余额宝中的一个 视图 根据动画 动态收缩和展开 其实很简单 废话不多说 上代码头部红色布局 可以理解为三个不同的view 中间布局 显示或隐藏动画 mExpandAnimation = AnimationUtils.loadAnimation(this, R.anim.expand);mCollapseAnimation = Anim
2015-07-22 10:57:00
3145
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 android仿网易导航栏HorizontalScrollView
简单的代码主活动-------------------------public class TradeActivity extends FragmentActivity implements OnItemClickListener{/*横向导航*/private HorizontalScrollView scrollView;/*导航栏每项*/private GridVie
2015-05-12 19:28:07
1351
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 editext文本输入框 软键盘下个按钮的问题
项目中,一个页面有多个editext。点击editext 软键盘完成按钮 变为下个,但是功能不行。前段时间碰到这个问题,自己网上找了很久都没有找到相关的解决方案。希望对你们有所帮助,同时自己也留个笔记。其实很简单 在editext布局代码中加上android:imeOptions="actionNext" android:nextFocusDown="@+id/ed_xxxxx"
2015-02-06 15:10:35
447
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 editext去掉自动获得焦点问题
项目中editext焦点问题,进入界面 editext自动获得焦点,导致弹出软键盘。 android:name=".ui.activity.calculate.xxxxxxx" android:screenOrientation="portrait" android:windowSoftInputMode="stateAlwaysHidden"> // edi
2015-02-06 14:55:07
654
原创 安卓View布局优化杂谈
有些东西,一直忽略了它们,因为它们是空气现在发现,它们很重要,因为它们是空气嘿嘿,文艺一把安卓5大布局:LinearLayout、FrameLayout、TableLayout、RelativeLayout、AbsoluteLayout老生常谈的东西,这个时代也可以称为LinearLayout、RelativeLayout时代后面出现了PercentLayout,最近几年又出现...
2019-08-27 18:07:00
171
原创 android studio aapt2 error问题
此处只是做个记录新电脑 安装studio 新建项目报错aapt2 error什么鬼,一脸懵逼 赶紧网上查找资料 大多数都是 在项目的gradle.properties文件中 添加 android.enableAapt2=false兴高采烈的试试然而又出现了其他一系列问题跟着一个个问题的捣鼓 最后虽然不报错了 但是只是把aapt2错误变成警告了这。。。并不是我想要的所以再去...
2018-08-08 16:07:51
1438
原创 android rxjava的简单使用
rxjava很强大,非常强大。我很喜欢。嘿嘿刚接触rxjava不久,整理了下代码,留个备份。首先不清楚观察者的,建议去网上看下先。不然肯定是懵逼的。目录/**第一个简单使用*/protected abstract void testRxJava();/**简化*/protected abstract void testRxJava1();/**转换map*/p...
2017-02-28 15:56:04
405
原创 AS第一次启动HTTP proxy问题
(转载请注明出处)前段时间换工作,面试的时候被无情的嘲讽了 AS出了两年多了 都还不用?之前有把公司的项目整到AS 但是前期不习惯 项目进度紧 就沿用EC了 好吧 对于程序员来说 这是个借口 所以转用AS了(公司的电脑配置只有4g 32位操作系统 卡得不要不要的)第一次配置AS是比较繁琐 今天下班抽空 写出来下载AS 本地安装成功 第一次启动 新建项目...
2016-05-09 19:51:42
12857
转载 studio好用的插件
根据自己的喜好 在此处保留几个很不错的插件postfix插件.log..isempGsonFormat插件在空的实体类中 使用 粘贴json 自动生成实体类属性butterknife zelezny插件(力荐)在使用此插件前,需要已经导入了butterknife的jar(或者在build.gradle中已经加入:compile‘com.jakewhar
2015-12-31 15:31:06
615
原创 java枚举
留作备用public enum ReqMethod {REGISTER("user_post"),GETCITY("openCityList");String method;ReqMethod (String method) {this.method = method;}public String getRequestMethod () {r
2015-12-28 15:30:42
406
原创 设计模式之单列
private static HttpTask sHttpTask;public static HttpTask getInstance () {if (sHttpTask == null) {synchronized (HttpTask.class) {if (sHttpTask == null) {sHttpTask = new HttpTask();}}
2015-12-28 15:28:45
581
原创 ExpandableListView以及BaseExpandableListAdapter的基本使用
ExpandableListView是listView的扩展类.之前做过测试,使用ExpandableListView结合baseAdapter的getView 实现扩展组项跟子项,但是会报错.不多说,上代码layout布局:<ExpandableListView android:id="@+id/store_listview" and...
2015-06-24 10:01:31
588
空空如也
安卓NFC加密限制的问题
2015-09-21
安卓NFC芯片加密的问题
2015-09-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人