自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

asd1031的专栏

世界是公平的,想要得到什么就要拿你现在有的去换。

  • 博客(44)
  • 资源 (7)
  • 收藏
  • 关注

原创 一笔“狗”消,“猪”事顺利

2018的最后一天在公司度过,今年相当平静,平静的感觉只过了一天,这一年都已经结束了,在这平静之下却也是波澜起伏,回头看却是一阵唏嘘。工作上 :2018从上个公司离开进入一家初创公司,工资涨了点,路程却远了一倍,也算有得有失吧,本着宁为鸡头不为凤尾的想法,以为能够升职加薪,走上人生巅峰,事实是想法很美好,不过老板没这么想,不升职加薪就不升职加薪吧,不升职就升值。今年在继续本职工作上学会了java...

2019-01-01 00:29:33 24722 2

原创 Android 分析Native库的加载过程及x86系统运行arm库的原理

本文主要讲述Android 加载动态链接库的过程,为了分析工作中遇到的一个问题 x86的系统是如何运行arm的动态链接库的。参考博客:https://pqpo.me/2017/05/31/system-loadlibrary/ 深入理解 System.loadLibrary https://www.jianshu.com/p/bf8b4a90f825 ...

2018-09-17 11:36:09 2076

原创 Android 7.0 Settings Summary 小记

改Setting的主菜单的一个显示问题,发现android原生的Settings 在7.0 发生了很大的变化。 主要有: 1、增加了侧滑菜单; 2、增加了Suggestions 3、可以在主界面显示状态(这篇博客主要针对这个) 4、主界面使用RecyclerView这个是主界面加载的时序图 本文主要介绍下 Summary的显示流程 通过搜索可以定位到这个配置的地方是在 下面代码加粗的地

2017-07-26 20:25:18 5094 3

原创 android自定义view --视差动画

一转眼又到周末,发现博客居然两个月都没更新了,在不写点儿什么,真的就说不过去。前面有写过一篇自定义view 主要写的是为原生的控件添加自定义的属性,其基本原理就是在代码中为原生的控件外面包一层自定义的控件,从而使系统能认识我们自定义的属性,最终达到控制原生控件的目的。这样做的目的是为了让别人用我们设计的框架时,不需要为了一个属性而去自定义view。 如果有兴趣详细了解可以参考我的这篇文章andro

2017-03-10 19:49:13 1544 4

原创 Android RRO机制的运用-----google开机向导客制化

上周五的时候领导分了一个任务,客户让在google开机向导里面增加一页,首先就想到了android的Overlay,然后网上搜了下,发下有很多人写了这方面的技术。而且写的都还不错,所以本篇只当记录作用吧,列下写的比较好的博客:http://developer.sonymobile.com/2014/04/22/sony-contributes-runtime-resource-overlay-fra

2017-01-09 17:15:46 4666 1

原创 2016——关于工作,关于生活

自从换了公司以后,工作都比较清闲,没事了就来csdn看看,其实《我的2016征文活动》一出来的时候我就知道了,当时就想写,抬笔却发现无从写起,即是因为我的文笔本来就不好,也是因为不知道写些什么,也许小公司呆的久了工作总结常年不写的原因吧。上周忙了一周终于搞定了一个camera的需求,利用晚上加班把它写成了一遍博客,对懂的大神当然不算什么,对我却也算对camera模块的一次尝试吧。这周的几个bug没什

2016-12-21 19:20:53 2908 21

原创 android 原生camera——设置模块修改

此篇博客是记一次客户需求修改,从上周五到现在正好一周时间,期间的各种酸爽,就不说了,还是来看大家关注的技术问题吧。首先看下以前效果和修改后的效果:修改前: 修改后: 不知道有没有看明白,我在简单说下,没修改前Camera 设置中是有两个选项的一个负责预览大小(显示的宽高比如16:9),一个负责照片大小(如1600x1200),修改后 只要一个Picture Size 即负责切换预览大小也负责

2016-12-16 21:56:59 7157 2

原创 android自定义View之3D索引效果

效果图: 我的小霸王太卡了。最近工作比较忙,今天搞了一下午才搞出来这个效果,这种效果有很多种实现方式,最常见的应该是用贝塞尔曲线实现的。今天我们来看另一种不同的实现方式,只需要用到 canvas.scale(),有没有很好奇是怎么实现的呢。首先来说一下思路,只要有了思路剩下的就是往里面套代码了。通过观察上面的效果图我们发现可以把右边的字母分为三种类型 1、 手指没触摸的地方显示正常的样式 2

2016-12-11 00:52:01 1354

原创 致等待跳槽的人——为什么我们不建议等到年后?

离过年还有不到两个月时间了,相信很多人都在等年终奖然后准备要换坑了,做软件的普遍认为金三银四,因为这时候有大量的企业招聘,其实之前我也是这么认为的,直到看了这篇文章。100offer的致等待跳槽的人——为什么我们不建议等到年后?分享给大家共勉对于有跳槽心思的人来说,肯定会思考一个问题——「我该什么时候跳?」在这篇文章中,我们就通过对 100offer 上用户跳槽数据的分析,研究一下不同时间对跳槽的影

2016-12-05 20:15:43 9560 1

原创 android 小项目------黑名单app

周一的时候,同事在群里问到了黑名单功能,他说网上都没有找到一个完整的,记得谁说过一句,当都没有做过的时候,这就是机会。这几天公司事比较多,只能晚上抽时间写写,直到今天才完整的做出来。具体效果的话大家可以运行demo看看。首先我们分析下需求1、UI部分,毕竟这也是一个小的app,2、需要有一个数据库来保存黑名单的号码,3、需要用到一个服务来具体执行黑名单的功能,毕竟如果我们的app退出了,黑名单功能

2016-12-01 20:52:09 5573

原创 android M Launcher之数据库实现

前面一系列文章我们分析了LauncherModel的工作过程,它会把数据绑定到桌面上。从今天开始我们来分析下Launcher的数据来源即Launcher数据库的实现。一个完整的数据库实现都应该包括两方面的内容,第一是数据库实体SQLiteOpenHelper的实现,第二是数据库ContentProvider的实现。数据库的实体包含了数据库实体以及相关的操作,ContentProvider负责数据库内

2016-11-29 00:03:03 2275

原创 android M Launcher之LauncherModel (三)

通过前两篇的分析,我们已经知道了LauncherModel的初始化及工作流程,如果您还不熟悉的话请看前两篇博文 android M Launcher之LauncherModel (一)android M Launcher之LauncherModel (二)了解了LauncherModel的工作过程后,我们继续来学习LauncherModel中提供的一些工具,从而了解Google工程师在自家系上怎么

2016-11-26 16:12:33 1866

原创 android M Launcher之LauncherModel (二)

上一篇我们通过LauncherModel的创建 ,实例化,以及与LauncherModel之间的沟通方式。初步了解了LauncherModel一些功能及用法,如果对LauncherModel一系列初始化动画还不了解的可以看android M Launcher之LauncherModel (一)好了 接下来我们继续分析,大家都知道 LauncherModel是Launcher的数据中心,但是数据中心的

2016-11-26 00:13:57 2720

原创 LauncherModel.Callbacks接口

public interface Callbacks { //如果Launcher在加载完成之前被强制暂停,那么需要通过这个回调方法通知 //launcher,在它再次显示的时候重新执行加载过程 public boolean setLoadOnResume(); //获取当前用户所在的桌面页索引 public int g

2016-11-24 09:42:44 1169

原创 android M Launcher之LauncherModel (一)

众所周知 LauncherModel在Launcher中所占的位置,它相当于Launcher的数据中心,Launcher的桌面以及应用程序菜单中所需的数据像 桌面小部件的信息、快捷方式信息、文件信息、以及一些比较特殊的桌面页的信息等都是由它提供,因此我们这里来分析下LauncherModel的工作流程。 一、LauncherModel的创建要了解LauncherModel,我们要从Launche

2016-11-24 00:50:03 4998

原创 android 自定义view之侧滑效果

效果图:看网上的都是两个view拼接,默认右侧的不显示,水平移动的时候把右侧的view显示出来。但是看最新版QQ上的效果不是这样的,但给人的感觉却很好,所以献丑来一发比较高仿的。知识点:1、ViewDragHelper 的用法; 2、滑动冲突的解决; 3、自定义viewgroup。ViewDragHelper 出来已经比较久了 相信大家都比较熟悉,不熟悉的话google一大把 这里主要简单用一

2016-11-23 11:12:28 5866

原创 android 自定义ViewGroup之浪漫求婚

1、最终效果有木有发现还是很小清新的感觉 2、看整体效果这是一个scrollView,滑动时每个子view都有一个或多个动画效果,但是如果我们直接给每个子view加上动画去实现这个需求就太low了,而且也不利于扩展,所以这里将会设计一套框架,使别人能很方便的使用我们定义的控件。3、首先看看我们是怎么使用自己设计的这个控件的<scrollviewgroup.lly.com.scrollviewgrou

2016-11-18 11:07:46 7553 6

原创 android launcher 之踩到的坑

需求: 1、 用android系统launcher 隐藏主菜单 所有应用显示在桌面 即workspace上; 2、隐藏launcher上方默认的google search; 3、切换一套launcher主题。实现效果: 分析: 1、 隐藏主菜单 ,google默认在android L 版本有一个隐藏主菜单的开关——LauncherAppState.isDisableAllApps()

2016-11-12 14:01:01 15830 2

原创 android 自定义view之选座功能

效果图: 界面比较粗糙,主要看原理。这个界面主要包括以下几部分 1、座位 2、左边的排数 3、左上方的缩略图 4、缩略图中的红色区域 5、手指移动时跟随移动 6、两个手指缩放时跟随缩放主要技术点 1、矩阵Matrix 2、GestureDetector与ScaleGestureDetector 3、Bitmap的一下基本用法 4、这里只需要重写view的onDraw就可实现全部

2016-11-07 17:46:52 8226 2

原创 关于bitmap你不知道的一些事

1、计算机表示图形的几种方式1)BMP :几乎不进行压缩 占用空间比较大 2)JPG : 在BMP的基础上对相邻的像素进行压缩,占用空间比BMP小 3) PNG : 在JPG的基础上进一步压缩 占用空间比较小这是对三种格式进行一个简单的介绍,知道是怎么回事就行,在android中一般都用png格式的图片,因为他占用空间小2、图形的大小图形的大小 = 图片的总像素*每个像素的大小 图

2016-10-20 15:51:50 1633

原创 java多线程断点下载

最近闲的比较蛋疼,原本软件计划招20个人的,现在14个人的团队都是一半在打酱油,这跟全国经济形势有关,我们也没太大办法,所以最近是啥都看看。昨天晚上看了一个多线程断点下载,今天就用java实现了一遍。基本思路:通过HttpURLConnection获取网络资源,得到资源大小等一些信息,在本地创建一个和通过网络获取的资源同样大小的文件(目的是为了存放下载的资源)分配每个线程下载文件的开始位置和结

2016-10-14 17:02:19 1496

原创 Android 多窗口

随着手机屏幕越来越大,单手操作手机越来越难,所以一些大厂早就开始研究多窗口,如iphone、samsung的单手模式,作为一个发展趋势google肯定也不会不考虑用户的体验,所以在android N中增加了多窗口的操作。本编通过android官方给出的示例结合api指南及前人分析来研究一下android 的多窗口操作。 示例Github API指南 博客用户可以通过以下方式切换到多窗口模式:

2016-10-13 19:11:36 2426

原创 栈与队列

一、栈是限定仅在表尾进行插入和删除的线性表 允许插入和删除的一端称为栈顶,另一端称为栈底,栈又称为先进后出的线性表简称LIFO结构栈的抽象数据类型 ADT 栈 Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系 Operation InitStack(*S):初始化操作,建立一个空栈S。 DestroyStack(*S):

2016-10-13 11:41:02 533

原创 线性表

十一回来后正式上班的第一天,坐我后面的小伙儿闪人了。线性表 : 零个或多个数据元素的有限序列。 所以线性表首先是一个序列,也就是说元素之间是有顺序的。 然后它是有限的,在计算机中处理的对象都是有限的,无限的数列只存在数学的概念中。线性表的抽象数据类型:Data 线性表的数据对象集合为{a1,a2,a3,……,an},每个元素的类型均为Data类型,其中除第一个元素a1外,每一个元素有

2016-10-12 16:26:20 760

原创 自定义View实现五子棋游戏

成功的路上一点也不拥挤,因为坚持的人太少了。 ---简书上看到的一句话未来请假三天顺带加上十一回家结婚,不得不说真是太坑了,去年婚假还有10天,今年一下子缩水到了3天,只能赶着十一办事了。最近还在看数据结构,打算用java实现一遍,所以没着急写读书笔记,不过前段时间看了一个简单的五子棋游

2016-09-27 18:27:43 2648 1

原创 算法

一大早发了个软件版本,又不知道干嘛了,继续看书吧。。。算法 算法是解决特点问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法的度量方式 有事后统计方法和事前分析估算法。 事后统计就是用记时器统计代码执行的时间。 事前统计就是在依据特点的统计方法对算法进行估算 记得刚毕业找工作那会儿最怕人家问什么时间复杂度空间复杂度的,非科班

2016-09-22 11:28:41 596

原创 数据结构的基本概念

if you give someone a program,you will frustrate them for a day; if you teach them how to program ,you will frustrate them for a lifetime.(如果你交个某人一个程序,你将折磨他一整天;如果你教给某人如何编写程序,你将折磨他一辈子。)数据结构: 是相互之间存在的一种或

2016-09-21 20:19:51 863

原创 数据结构启动篇

当手机电量仅剩下20%时,很多人会开始紧张,想找个地方充电,但是当我们一年的时间仅剩20%时,又有多少人会在意,会紧张? ---你的2016年,仅剩20% 回顾这一年,跳了一次槽涨薪不到10%,听信了前同事和经理的忽悠以为奖金很多,可惜到现在也没见毛毛。工作也是刚来的时候天天加班,后来就是天天打酱油

2016-09-21 10:31:24 623

原创 Android 内置群组,联系人

这样一个需求,手机第一次启动的时候,需要内置一个群组,并且里面有给定的联系人信息,本来打算写双进程守护的,结果昨天接到一个这样的任务,就先把它做了,发现里面有些操作数据库的东西还是值得看一下。首先接到这样一个需求第一眼就是懵逼,然后还是得硬着头皮搞,接下来分析下这个需求需要怎么搞:1、首先第一次启动 Android 有一个开机启动的广播; 2、启动后去内置一个群组; 3、内置客户给的联系人;

2016-08-25 15:10:17 2108

原创 安装包性能优化,动态加载资源

昨天腾讯课堂有一堂关于安装包性能优化的文章,联系到前段时间做的主题管理功能,发现一种更简便的方法,特此记录一下。想这样一个问题,我要开发一个类似华为的主题管理功能,客户先给了一套主题做为默认的主题,说有好看的主题的时候你在给我加,这时候我们如果直接把默认的主题加到launcher里面这样可以满足暂时满足客户需求,但是当客户要加新主题的时候怎么办不能在把那堆新的图片放到launcher里面吧,而且说不

2016-08-08 16:40:05 1673

原创 Launcher3 HotSeat显示名称

天闲的无聊,研究了下launcher代码,看到Hotseat.java的时候,想起来以前有做过显示hotseat中应用名称,因为换了公司代码都没拿出来,就想在试着修改,看了很久发现无从下手,记得hotseat中默认是显示应用名称的,只是hotseat位置靠下所以名称显示不出来,只要把hotseat向上移一下就可以显示出来了,可是找了半天不知道修改那个位置,只能重新研究下hotseat的代码了。 看

2016-07-22 17:01:01 2298

原创 类装载器DexClassLoader (android内核剖析)

在java环境中,有个概念叫做“类装载器”,其作用是动态装载Class文件。标准的java SDK中有一个ClassLoader类,借助它可以装载想要的Class文件,每个Classoader对象在初始化时必须指定Class文件的路径。 使用类加载器的原应:  import中所引用的类文件有两个特点:           必须存在于本地 当程序运行是需要该类时,

2013-12-07 21:18:36 1030

原创 从Linux启动过程到android启动过程

Linux启动过程:     1、首先开机给系统供电,此时硬件电路会产生一个确定的复位时序,保证cpu是最后一个被复位的器件。为什么cpu要最后被复位呢?因为 如果cpu第一个被复位,则当cpu复位后开始运行时,其他硬件内部的寄存器状态可能还没有准备好,比如磁盘或者内存,那么就可能产生外围硬件初始化错误。     2、当正确完成复位后,cpu开始执行第一条指令,该指令所在的内存地址是固定的

2013-12-07 20:26:53 1135

原创 过时api LocalActivityManager 作用

换了个新工作,看公司代码还在用LocalActivityManager类 不知道是个什么东西,百度了也没具体介绍查了下sdk是这样介绍的      LocalActivityManager是一个助手类,在同一个进程中管理多个activities。    看他的方法就是就是代替了activity的生命周期,用在一个activity中有多个activity的情况下

2013-12-04 10:27:55 3996

转载 android binder理解

Android中的Parcel是什么 Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。    如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内 存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道:进程有自己的内存地址空间,一个进程

2013-11-22 10:55:57 1543

原创 typedef 理解

面试不堪入目,重拾C++基础,偶看到typedef 后感觉不慎了解,在学校一直是在讲解typedef和define一样都是用来申明一个别名的,对于简单的如:#define int INT;typedef int  INT;确实简单的理解是定义了一个别名很对;但如果是typedef void (*SIG_TYP)(int);typedef void (*SIG_ARG_TYP

2012-07-30 21:32:25 852

转载 从MTK的scat文件谈ROM和RAM的分配,管理和问题解决

mtk25平台默认的是128Mbit flash memory 和 32Mbit SRAM,因为1BYTE等于8BIT,所以就是我们通常所说的是16M ROM和4M RAM,不过由于文件系统占用2M,这2M一般又被分为系统盘和用户盘,系统盘存储NV文件和MMS相关文件,对用户不可见,用户盘用户连上电脑就可以看到,但由于一些原因,有不少手机是不设用户盘的,用户盘过大,会导致彩信等一些模块不稳定,所以

2012-06-29 13:15:00 1366

转载 MTK MMI启动过程分析

在取得MTK的06B版本代码后,开始进行了艰苦的代码分析工作,我的工作是把一个手机的MTK的代码移植到另外一个手机上,在改了custom部分代码后,系统虽然可以正常启动,但LCD是白屏,没有任何界面显示。由于没有仿真器可以使用,只能通过阅读代码和调试进行,尤其是和硬件有关的信息也需要更多功夫去理解。略去硬件平台的定制代码,因为那是custom里所定义的一些驱动初始化的工作,最复杂的部分还是在p

2012-06-19 10:27:32 2381

转载 10A 1032 零星笔记

10A 1032 零星笔记(2011-6-23 16:48)emitEntry processEnter  公共断点 cui_menu_screen_entry  mmi_frm_group_enter mmi_frm_scrn_enter mmi_frm_scrn_first_enter mmi_frm_entry_new_screenVfxRenderer::updateScene

2012-06-04 12:18:34 1195

转载 10A 之前的备忘

10A 之前的备忘mmi_idle_exe_callback  进入待机前的准备,检查是否有新短信、未接来电(mmi_nmgr_entry_default_idle) 等NetWorkAttachedIndication 网络 搜网结束IdleRefreshServiceIndicationArea  idle_screen_show_network_details   待机显示网

2012-06-04 10:22:56 1668

android 3D索引

一个3D索引的demo

2016-12-11

BlackNumber

一款简单的黑名单app

2016-12-01

java多线程断点下载

java关于多线程断点下载的demo

2016-10-14

简单的五子棋游戏

一款简单的五子棋游戏,用自定义view实现,添加有米的SDK测试广告信息

2016-09-27

动态加载资源

动态加载资源demo

2016-08-08

自己写的launcher

一个自己写的launcher 大家懂的希望多各位同学有所帮助

2014-06-13

疯狂Android讲义(第2版)

快没分了 上传个疯狂android讲义的源码 大家懂的

2014-06-13

空空如也

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

TA关注的人

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