自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ttdevs

https://github.com/ttdevs

  • 博客(92)
  • 资源 (30)
  • 收藏
  • 关注

原创 各种小记录

1、sqlite中处理单引号:所有单引号换成双单引号,如:content.replace("'", "''");这样是不行的,临时抱佛脚,换成了带"?"的通配形式2、SimpleCursorAdapter 的 notifyDataSetChanged无效:可以使用SimpleCursorAdapter 的changeCursor方法:http://stackov

2013-10-08 15:37:15 3430 2

原创 Apk静默安装之调用系统隐藏API

文章目录0x00 问题0x01 调用系统隐藏API0x02 SystemHideAPISystemHideAPI.javaAndroid.mkBuildclasses.jar0x03 总结0xFF 参考0x00 问题何为隐藏的API?简单来说就是在源码中被用 @hide 标记的代码块,比如常量,方法等。以常用的 ActivityManager.java 为例,里面就有大量的隐藏API:@S...

2019-09-03 16:46:02 481

原创 NMS Toast

0x00 NMS ToastToast.makeText(Context, "Toast message content.", Toast.LENGTH_SHORT).show();以下代码分析基于Android 8.1.00x01 ToastToast类只有500多行,逻辑比较简单,主要有三部分组成: Toast,INotificationManager和TN。Toast类负责构造T...

2019-06-28 12:28:45 227

原创 RockChip主板系统签名说明

简介线下设备使用的都是RockChip芯片的主板,我们要求最终运行的App都有系统权限,因此最终签名都会使用系统签名。之前都是打包完成之后再手动签名,现改成打包的时候直接使用RockChip的签名。操作手动签名先生成apk,然后使用 signapk.jar 签名:java -jar signapk.jar platform.x509.pem platform.pk8 i...

2018-06-13 17:59:18 1337 1

原创 Nexus3配合Gradle搭建私有仓库

Nexus3 私有仓库搭建。将自己的代码通过gradle上传到使用nexus3搭建的私有仓库。

2017-11-05 22:30:20 2044

原创 ThreadLocal

0x00 ThreadLocal查看Android Message源码的时候,看到一个类: ThreadLocal。之前没注意过这个类,看的有点迷糊,这里对其做一下总结。

2017-05-07 23:53:32 460

原创 TextWatcher中的参数

TextWatcher中的参数beforeTextChanged@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {} This method is called to notify you that, within s, the count

2017-04-23 23:32:00 723

原创 java.lang.NumberFormatException: Invalid float: "55,4" 分析

java.lang.NumberFormatException: Invalid float: "55,4"

2017-04-08 08:50:33 2987

原创 使用Websocket实现消息推送(心跳)

本来以为写完了,结果最近和一个同事在讨论心跳的事情,这里再做一个补充。先说我的结论:WebSocket协议已经设计了心跳,这个功能可以到达检测链接是否可用心跳是用来检测链接是否可用的,不一定支持携带数据,可要看具体实现如果非要心跳中带上复杂数据,那这个可作为应用层的一个功能自己去实现

2017-03-17 14:02:05 55798

原创 Java中的比较: == 和 equals

- `==` - 基本类型 对于基本类型,`==` 的功能是比较值。 - `Object` 比较对象在内存中的地址。- `equals` 基本类型无equals方法。Object对象默认equals的实现如下:

2017-03-03 17:21:05 567

原创 Android闹钟遇到的那些坑

做过闹钟的话你就知道这中间有多少坑了。第一次做闹钟程序是在2012年,那时候android最新版本是2.2,2.3发布在即,做了一个整点提醒的小工具,记得很清楚,主要的问题是锁屏之后闹钟不能准时被唤醒,总会晚那么几秒钟,后来没办法把闹钟提前设置几秒钟。不过那时候环境还好,没有遇到攻克不了的问题,重启也可以唤起闹钟的。但是随着android版本的进化,开发者节操的丢失,问题就越来越难做了。

2017-02-24 18:32:29 4728 2

原创 Layout inflate遇到的坑

Layout inflate遇到的坑

2017-02-12 22:34:30 791

原创 使用requests处理cookie

常见的 application/json 请求,如果token进行验证,我们可以在header或者body中直接添加,对于使用cookie进行验证的请求,虽然可以自己维护cookie,但是会比token麻烦很多。之前的忘了请求都是使用python3的urllib进行,当处理cookie时,发现比较困难,因此着手另寻他法,这样就发现了requests。

2016-12-16 18:11:34 22249

原创 MediaPlayer单曲循环不卡顿

需求单曲循环播放歌曲,要求过度连贯,听不出来卡顿感觉。0x01 解决思路MediaPlayer对于常见的音乐播放,我们第一时间想到的应该就是它,它有一个方法MediaPlayer.setLooping(true);就是用来进行单曲循环的。但是很遗憾,如果你简单的这么做,上面的目的是达不到的,会出现上一遍结束出现一个明显的停止才开始播放下一次的现象。

2016-12-11 12:23:02 3760 5

原创 Data Binding给Button设置背景无效

0x00 问题通过Data Binding给Button设置背景无效。 具体表现为给Button设置不同的背景图片,但是无论怎样背景只会显示不同的颜色,而不是显示期望的图片。0x01 分析由于对Data Binding不是很熟悉,所以很奇怪为什么。不管怎样先打印下这个资源的值,发现在布局文件中打印资源值是有的。根据经验,设置不同的背景图片,背景会显示不同的颜色,那这个值可能被解析成了颜色值。

2016-11-15 16:13:30 1385

原创 Retrofit初探——POST方式提交JSON数据

Retrofit初探——POST方式提交JSON数据

2016-11-13 11:40:59 26682 2

原创 使用Websocket实现消息推送(下)

上一篇使用 Java-WebSocket 写了一套 WebSocket 的Demo,这一篇着重分析下WebSocket 的一些实现细节,更加详细的协议细节可参考 RFC6455。

2016-09-11 20:53:19 4954

原创 Mac下Homebrew 安装 Mysql

0x00 mac下mysql安装简单记录mac下mysql安装。 这里需要一个前提——先安装 homebrew,具体可以参考这里。

2016-09-02 19:09:18 1131

原创 使用Websocket实现消息推送(上)

WebSocket一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范,WebSocketAPI被W3C定为标准。

2016-08-26 23:13:56 35743 4

原创 Android通过Intent传递数据

当我们需要对JVM中的java对象进行转储时,就需要将其转化成二进制序列,然后才能存储到外部。这个序列中保存了java对象的类型,数据,数据类型等。当需要的时候,再对存储的二进制序列进行反序列化,即可将其还原。常见的场景比如:存储JVM中对象,通过Socket传递java对象,RMI等等。

2016-08-08 17:20:08 3069 4

原创 Retrofit初探——同步与异步请求

0x00 请求的形式我们正常的网络请求有两种形式:同步方式和异步方式。所谓同步方式,是指我们发出网络请求之后当前线程被阻塞,直到请求的结果(成功或者失败)到来,才继续向下执行。所谓异步,是指我们的网络请求发出之后,不必等待请求结果的到来,就可以去做其他的事情,当请求结果到来时,我们在做处理结果的动作。当然无论是同步还是异步,最终都是同步请求。0x01 同步请求Retrofit的同步请求...

2016-07-31 12:58:58 10702 3

原创 Retrofit初探——请求参数

0x00 请求参数常见的Http请求,除了指定的请求地址,很多时候我们还需要加上一些请求参数,这些参数可能是固定的,也可能是动态添加的。在Retrofit中,我们该如何处理呢?这里以GET方式中添加请求参数为例。

2016-07-24 16:33:38 3781

原创 Retrofit初探——Header问题补充

0x00 Retrofit Header上一篇中我们介绍Retrofit的一个简单的Demo和添加Header方法,这一篇在补充一下Header的另外几种处理方法。0x01 Header使用OkHTTP的Interceptor来处理Header信息,这种方法是需要我们在封装Retrofit的时候考虑的。但是有时候我们还希望能灵活的控制每一个请求的Header信息,接下来的几种方法满足我们这样的要求。

2016-07-17 09:09:54 3964 1

原创 Retrofit初探

Retrofit初探0x00 Retrofit很久以前就计划要研究一下,但是一直拖到现在,不知道是因为优先级放的比较低还是因为拖延症。总只,现在要完整的看一遍。由于这个已经出来很久了,所以我就直接选择了Refrofit2,没有去关注Refrofit1,等看完Refrofit2有时间的话再去看看Refrofit1,看看它们的变迁。好了,先从Refrofit2开始吧。

2016-07-10 12:23:54 882

原创 微信公众号开发流程

微信公众号开发流程

2016-06-26 22:27:14 5739

原创 android你可能要用到的自定义View分享

Indicator View0x00 main进步、创新都是在不断变化的需求中诞生的。 -- By ttdevs这不,新的需求又来了。废话不多说,先上设计稿:简单分析上图包括三部分:最上面的类Progressbar,中间两个指示盘和最下面的指示盘。第一个类Progressbar我们项目之前有实现过,但是和这个需求有一些差异,因此决定重新实现一遍。另外

2016-06-19 14:46:55 2511 2

原创 Python中的Thread Local

python thread local介绍

2016-05-30 00:56:56 1478

原创 从浏览器中打开我们的应用

有时候你会发现,用Android系统自带的浏览器(chrome)打开一个web页面,如果安装了相应的App,就会自动打开这个App并进入具体的界面中。

2016-05-08 23:55:10 6136 2

原创 用support annotation替代enum

一次演讲中听到android中使用enum可能会造成很大的性能问题。开始我是怀疑的。

2016-04-22 18:25:52 911

原创 Android Studio 2.0 NDK开发环境搭建

Android Studio 2.0 NDK开发环境搭建

2016-04-17 23:00:53 4031 14

原创 python文件拷贝工具shutil介绍

python文件拷贝工具shutil介绍

2016-04-04 21:06:24 1222

原创 Android本地数据安全尝试(下)——JNI

Android本地数据安全尝试(下)——JNI

2016-03-19 15:45:21 1891 1

原创 Crontab定时任务

crontab工具的使用和我们可能遇到的问题

2016-03-13 21:29:26 750

原创 Android Studio NDK环境搭建

Android Studio NDK环境搭建

2016-03-06 18:11:08 1523 2

原创 Android本地数据安全尝试(中)——Conceal

上一篇我们提到使用SQLCipher对本地的数据进行加密。在保证数据安全的同时,我们又引入了一些新的问题,比如安装包体积的增加,数据存储过程中耗时增加,数据加密的粒度不可控等等。如果你接受不了这些问题,那我们还需寻找其他的加密方法。这里给大家推荐Conceal

2016-02-27 09:38:26 4025 5

原创 Android本地数据安全尝试(上)——SQLCipher

从今天开始,又开始写博客啦啦啦啦。话说基本上一年多没好好写博客了。回想起来,和之前写博客时相比,还是差距好大。好吧,废话不说了,进入正题。首先,开篇打算跟大家分享下你遇到的或者将来可能遇到的问题:本地数据的安全问题。多数情况,我们可能没有去考虑app的本地数据安全问题,一来公司没这样的要求,二来我们可能也没有非常需要保密的数据。那现在思考一下为将来做储备。

2016-02-19 22:25:33 4398 1

原创 让RecyclerView支持加载更多(Endless RecyclerView)

在Android的Support包中我们有很多新的组件可以使用,比如代替ListView的RecyclerView。使用RecyclerView和SwipeRefreshLayout组合,我们可以实现很酷炫的下拉刷新的功能。但是,事情总不是那么美好,有了下拉刷新,却找不到上拉加载更多(我们已经习惯了PullToRefresh),最终还是放弃了使用RecyclerView。现在看来,自己实在是太懒了。好了,今天就让我们的RecyclerView支持加载更多。

2015-09-26 10:37:37 5220 1

原创 Facebook Fresco体验 (一)

Fresco 一个强大的Android图片显示系统。图片的加载和显示交由它负责,我们就不需要关心了。这两句足以说明他的牛逼——有几个插件感这么自己的称自己为System的。当然,Facebook出品,必属精品。

2015-04-10 17:55:37 3119

原创 android Toobar的一个简单封装

现有的APP尝试向Material Design靠齐,开始使用Toolbar代替之前的ActionBar。Toolbar和ActionBar的直观区别就是需要我们自己将ToolBar加到自己的布局文件中。目前的情况是:在我们的现有项目上改动,多数的Activity都是继承一个BaseActivity。为了用最小的代价达到目的,简单的思考之后,做了如下的改动:/** * 带ToolBar的

2015-04-06 22:42:44 1753

原创 MAC一句话分享——开机自启动设置

window下直接输入msconfig打开系统配置即可,在这里可以配置是否允许开机自启动。MAC下最近装了几个软件,发现每次开机都会自动运行,比较烦躁,遂干掉之:打开系统偏好设置>选择用户与群组>在当前用户的右侧选择登录项,在这里即可添加删除我们要的程序。

2015-03-08 11:45:54 940

Spring in Action 4th Edition 第四版 英文版

Spring in Action 4th Edition 第四版 英文版

2015-08-13

Spring in Action 4th Edition

Spring in Action 4th Edition 第四版 英文版

2015-08-13

fresco sample

Facebook Fresco 事例demo

2015-04-10

android反编译工具

android反编译工具,包括apktool,dex2jar,jd-gui。 http://blog.csdn.net/ttdevs/article/details/42297905

2014-12-31

AnyToISO dvd to iso

AnyToISO 将dvd转成iso 带了破解文件,偶尔使用一下

2014-12-09

charles-proxy-3.9.1-applejava Mac OSX破解版

charles-proxy-3.9.1-applejava Mac OSX破解版

2014-10-11

仿联系人列表或其他上的字母索引

仿联系人列表或其他上的字母索引 http://blog.csdn.net/ttdevs/article/details/38944139

2014-08-31

Notification Demo

android notification 通知 demo

2014-08-21

facebook开源动画库rebound(含源码)

facebook开源动画库rebound https://github.com/facebook/rebound

2014-04-29

Activity和Fragment的生命周期

Activity和Fragment的生命周期 http://blog.csdn.net/ttdevs/article/details/24382573

2014-04-28

google volley源码和jar

google volley源码和生成的jar包 http://blog.csdn.net/ttdevs/article/details/17566795

2013-12-26

模仿支付宝手机客户端长按ListView的Item弹出操作按钮效果

ListViewItem模仿——支付宝手机客户端长按ListView的Item弹出操作按钮效果 地址:http://blog.csdn.net/ttdevs/article/details/17263801

2013-12-11

最新中国天气网提供的城市或者地区数据总共2747条

中国天气网提供的城市或者地区数据总共2747条,花了两个小时拉的

2013-11-04

android 二级城市选择

android 实现的二级城市选择,可初始化显示。城市数据来自互联网整理的中国天气网的数据。 http://blog.csdn.net/ttdevs/article/details/13092769

2013-10-26

android 读取本地中国城市数据库

android 读取本地中国城市数据库 包括本地数据库 参见:http://blog.csdn.net/ttdevs/article/details/11989123

2013-09-28

中国城市代码,中国天气网的数据,省份代码

中国城市代码,中国天气网的数据,包括省份代码

2013-09-28

Android下拉刷新:Chrisbanes的PullToRefresh

Android下拉刷新:Chrisbanes的PullToRefresh github下载地址:https://github.com/chrisbanes/Android-PullToRefresh

2013-09-14

带下拉刷新的ListView的中同时处理CheckBox,Button,和item事件

带下拉刷新的ListView的中同时处理CheckBox,Button,和item事件

2013-09-14

自定义的带tab的可左右滑动的viewpager

自定义的带tab的可左右滑动的viewpager 文章来源:http://blog.csdn.net/ttdevs/article/details/10296277

2013-08-25

ViewPager实现滑动的Preference页面且带ActionBar

ViewPager实现滑动的Preference页面且带ActionBar

2013-08-03

android获取wifi的IP,子网掩码,网关,dns等信息

android获取wifi的IP,子网掩码,网关,dns等信息

2013-07-24

精简JRE1.6

精简 JRE 1.6 未验证,如不必须,可以使用自己安装的jre

2013-06-20

Inno setup 5.5.3

Inno setup 5.5.3 exe工具

2013-06-20

exe4j_x32_4_5_2&keygen

exe4j_x32_4_5_2 keygen

2013-06-19

rome-1.0RC2rss解析

rome-1.0RC2 source,jar and doc

2013-06-15

android滑动引导页面

android滑动引导页面 viewpager实现 具体请看:http://blog.csdn.net/ttdevs/article/details/8681882

2013-03-16

二维码 qrcode zxing google

二维码 qrcode zxing google

2013-03-15

空空如也

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

TA关注的人

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