自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(267)
  • 资源 (22)
  • 收藏
  • 关注

原创 android开发笔记之开发规范

前言来到一个新公司,动手写代码前,我一般都是找领导要开发规范。但是,许多公司都是没有任何开发规范,或者开发规范真是非常简单,只有对修改注释的格式说明。这……,现在的这家公司,我来这二年了,都没有看到什么开发规范,在我的强烈要求下,公司领导才给了一个功能手机开发时代的c++的开发规范,我说要android的java开发规范,领导非常不乐意,就在网上找了一个开发规范文档发给我,还说大家都不是刚开发,应该

2016-11-21 17:54:41 1446

原创 android开发笔记之有用软件列表

1.

2014-07-04 20:44:30 1390

原创 android开发笔记之常用开发命令

1.工程编译命令:(1)列出codebase中可用的工程./mk listp(2)new一个工程./mk -t project_name new

2014-01-25 14:36:40 4247 2

原创 Android系统开发之TimeZoneDetectorService浅析--下

可以看出TimeZoneDetectorService类,其具体实现是由TimeZoneDetectorStrategy类完成的。

2024-01-28 14:33:25 257

原创 Android系统开发之TimeZoneDetectorService浅析--上

客户有一个关闭通话功能的需求,根据MTK的配置方法关闭了大概8个宏开关后,实现通话功能,但是导致插好sim卡开机后,时间和时区不能更新的问题。

2024-01-26 17:22:33 446

原创 Android系统开发之浅谈广播接收器回调

广播Intent和广播接收器BroadcastReceiver,是大家android开发用的特别多的二个控件。那如何从系统角度看待广播和广播接收器呢?对于静态注册BroadcastReceiver和动态注册的BroadcastReceiver是如何回调其onReceive方法呢?此文章以Android13版本为例,试浅分析之。

2024-01-16 21:19:16 452

原创 再谈谷歌GMS认证之Android 13

2023年来到一个新的公司,传说中的做互联网金融即将上市的高大上公司。入职后才发现就是做pos机设备的一个小厂哎,什么命啊!工作和手机开发的工作重合度可以达到95%以上,我不想做手机,偏偏又干上了老本行了。来吧,兄弟,开始你的新公司的工作旅程吧。慢着,差点忘了介绍一下我的一个兄弟,非常重要的难兄难弟。我们叫他x吧,x,武汉大学毕业,从业10+年手机开发,第二次入职此公司,和我同一天入职。入职后,我负责一个S项目,他负责一个O项目。公司原来系统组大概有个20来个人吧,在做一个T项目。今年疫情结束了,

2023-11-17 09:21:13 918 4

原创 android开发浅谈之PackageManagerService(pkms)

本文基于Android10.0主要从以下几个方面着手:PKMS启动PKMS安装APKPKMS卸载APKPKMS启动这里我简单的将其分为以下几个步骤:1.SystemServer通过PKMS的main方法启动PKMS2.PKMS构造方法中初始化Settings3.扫描各个系统目录下APP相关信息1.SystemServer通过PKMS的main方法启动PKMSPKMS启动是在SystemServer.startBootstrapServices:mPackageManagerSer

2021-06-23 19:40:39 1780 2

原创 android开发浅谈之写在前面的话

自我介绍先简单的介绍一下我的工作经历吧。时间东家主要工作2011年8月深圳大学毕业整上午整下午的看网上的新品手机,那是安卓开始崛起的前夜2011年8月----2013年8月深圳康佳通信科技android app开发2013年8月----2014年12月深圳鸿宇顺科技android app开发2015年1月----2018年3月深圳天珑移动app开发,gms认证,订单交付,开始有点系统工程师的影子2018年3月----2019年9月深圳瑞高智

2021-06-18 20:48:05 884 6

原创 android开发浅谈之InputMethodManagerService

输入法管理服务的整体框架输入法的整件框架:参考资料1.Android输入法框架系统(上)https://blog.csdn.net/ITleaks/article/details/27398453?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162383108116780264086746%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%25

2021-06-16 17:46:44 5022 3

原创 android开发浅谈之窗口管理Z-Order

问题的描述:软件版本为android 10.0, 测试提了一个bug,手机在不分屏时在输入法界面,toast正常显示;但是手机在分屏时,因为显示了输入法界面,toast虽然调用了,但是被输入法界面遮挡看不到。问题分析:那这个明显是窗口z-order管理问题,那我们先看看window的dumpsys信息:adb shell dumpsys window windows输入法window: Window #0 Window{1ac9429 u0 InputMethod}: mDispla

2021-04-28 19:44:34 1766 2

原创 android开发浅谈之App启动过程二

启动app整体框架图这是直接copy Gityuan同学的启动app的整体框架图:启动流程:1.点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;2.system_server进程接收到请求后,向zygote进程发送创建进程的请求;3.Zygote进程fork出新的子进程,即App进程;4.App进程,通过Binder IPC向sytem_server进程发起attachApplication请求;5.syst

2021-04-08 20:52:05 819 1

原创 android开发浅谈之WindowToken,AppWindowToken,Task,TaskStack和DisplayContent

WindowToken 类WindowToken 定义和关键变量我们先查看windowtoken类的源码:/** * Container of a set of related windows in the window manager. Often this is an AppWindowToken, * which is the handle for an Activity that it uses to display windows. For nested windows, there i

2021-02-03 11:24:20 2060 2

原创 android开发浅谈之WindowState

什么是WindowStateWindowState表示一个窗口的所有属性,它是WMS中事实上的窗口.其源码中定义为:/** A window in the window manager. */class WindowState extends WindowContainer<WindowState> implements WindowManagerPolicy.WindowState {WindowState也就是WindowState是WMS中的一个窗口。借用别人的一张图片来表示

2021-02-01 19:55:25 3068 3

原创 android开发浅谈之ActivityDisplay/ActivityStack/TaskRecord/ActivityRecord

ActivityDisplay/ActivityStack/TaskRecord/ActivityRecord,这几个关键的类,我以前一直搞不清其具体关系,看了android里面的Activity体系结构(1)_ActivityDisplay/ActivityStack/TaskRecord/ActivityRecord这篇文章后,才有了一点点明白,对应也做一个笔记。整体关系图如下我直接复制他的图片:通过adb shell dumpsys activity activities 命令可以看到如下打印:

2021-01-28 10:29:54 2130 1

原创 android开发浅谈之configChanges理解

am_relaunch_resume_activity: [0,27273074,89,com.cebbank.mobile.cemb/.ui.activity.HomeActivitycom.android.server.wm.ActivityRecord.relaunchActivityLocked(ActivityRecord.java:3571)com.android.server.wm.ActivityRecord.ensureActivityConfiguration(ActivityRe

2021-01-14 20:23:22 5015 4

原创 android开发浅谈之KeyEvent事件处理

一个key事件的调用过程一个偶然的机会,有一个报错的问题,日志如下:AndroidRuntime: at android.view.View.performClick(View.java:7259)AndroidRuntime: at android.view.View.performClickInternal(View.java:7236)AndroidRuntime: at android.view.View.onKeyUp(View.java:14697)AndroidRuntime:

2021-01-07 20:44:01 2281

原创 android开发浅谈之App启动过程

概述当你点击桌面App的图标到底发生了什么,上篇文章我们大概简述了流程App发起进程:如果从桌面启动应用,则发起进程便是Launcher所在的进程,当从某App启动远程进程,则发起进程是App所在的进程,发起进程首先需要通过Binder发送信息给system_server进程system_server进程:调用Process.start方法,通过Socket向Zygote进程发送新建进程的请求zygote进程:在执行ZygoteInit.main()后进入runSelectLoop()循

2021-01-03 14:16:22 793

原创 android开发浅谈之View测量流程(Measure)

从ViewRootImpl#PerformTraveals说起我们直接从这个方法说起,因为它是整个工作流程的核心,我们看看它的源码:参考资料(1)Android 理解Window和WindowManagerhttps://blog.csdn.net/qq_34760508/article/details/103086195(2)Android App启动过程https://juejin.cn/post/6844903933802987528(3)Android View源码解读:浅谈Decor

2020-12-30 19:18:46 265

原创 android开发浅谈之DecorView与ViewRootImpl

前言对于Android开发者来说,View是开发中使用最多的。View重点包括事件分发机制,测量,布局,绘制等。这篇文章我们从Activity入手,看看从Activity创建后到View的正式工作之前的流程,此分析的代码以android 10.0为参考。...

2020-12-29 14:54:12 410

原创 android开发浅谈之Window和WindowManager

android开发浅谈之Window和WindowManager概述WindwoMagaer来添加一个WindowTYPE 窗口的属性ViewManager类Window的内部机制Window的添加过程6.Window的更新过程参考资料:概述Window表示窗口的概念,他是一个抽象类,他的真正实现类是PhoneWindow,WindowManager用来对Window进行管理,是外接访问Window的入口,Window操作的具体实现是在WindowManagerService中,WindowMager和

2020-12-29 13:00:31 566 1

原创 Android Studio创建aar或jar库模块

我们开发时,经常需要给合作方提供aar,或jar库文件,这个是如何使用Android Studio创建的呢?创建Module在Android Studio中新建一个APP项目,然后在此APP项目中File–New–New Module,创建一个Module,其中类型选择Android Library.然后,配置对应的Library name,Module name,Package name:在mylibrary的Module中,打开build.gradle,我们配置生成的aar名字:def

2020-06-22 17:07:12 1004

原创 android开发之Serializable与Parcelable的使用

简单介绍DemoAddress 类:import java.io.Serializable;public class Address implements Serializable { private static final long serialVersionUID = 81L; private String location; public Address(String location) { this.location = location;

2020-06-06 10:21:10 260

原创 android开发笔记之fastjson

fastjsonfastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。https://github.com/alibaba/fastjson/wiki/Quick-Start-CN新手指南https://github.com/alibaba/fastjsonfast...

2020-04-18 19:58:10 1515

原创 android开发笔记之gson

现在手上负责的一个项目,有一个配置信息使用的是json来配置的,解析方式为gson。就发一点时间写了一个demo。gsongson 是google发布的一个解析json的解析框架gson github网站:https://github.com/google/gsonjar包的下载地址:https://mvnrepository.com/artifact/com.google.code.g...

2020-04-17 20:51:21 381

原创 android开发笔记之xml矢量图片

xml矢量图片缩放矢量图形(英语:Scalable Vector Graphics,SVG)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。.svg格式相对于.jpg、.png甚至.webp具有较多优势:图像与分辨率无关,不会变形,适配安卓的各种分辨率;省空间。体积小,一般复杂图像也能在数KB搞定,图标更不在话下xml矢量图片的生成xml矢量图片的预览参考资料(...

2019-07-06 16:20:55 7874

原创 android开发笔记之属性动画

简单介绍ObjectAnimator类ValueAnimator类参考资料1.Android 属性动画:这是一篇很详细的 属性动画 总结&攻略https://www.jianshu.com/p/2412d00a0ce42.android开发笔记之animation(一)https://blog.csdn.net/hfreeman2008/article/details/391...

2019-06-29 17:42:08 305

原创 android开发笔记之MAT定位内存泄漏

MAT人使用hprof-conv D:\001.hprof D:\001_mat.hprof下载一个 Mat工具http://www.eclipse.org/mat/downloads.php下载完之后就可以直接使用,双击MemoryAnalyzer.exe,然后直接把001_mat.hprof文件拖到 Mat 工具中。也可以File–Open Heap Dump,找到我们要使用的0...

2019-05-27 16:52:36 426

原创 android开发笔记之ButterKnife

ButterKnifebutterknife github的官网:https://github.com/JakeWharton/butterknife官方介绍butterknife:Field and method binding for Android views which uses annotation processing to generate boilerplate code ...

2019-05-24 10:36:04 599

原创 android开发笔记之MVP

MVP下面这个图,就解释了MVP的数据流:其中MVP,核心为Presenter,View与Model没有数据之间的交互。而MVC,核心为Controller,View与Model有数据之间的交互。所以MVP最大的优点就是Model与View之间的完全解耦。MVP的权威资料android 架构https://github.com/googlesamples/android-archit...

2019-05-23 11:42:37 181

原创 android开发笔记之可伸缩布局FlexboxLayout

可伸缩布局FlexboxLayoutAndroid Demo参考资料1.gitbug flexbox-layouthttps://github.com/google/flexbox-layout2.Android可伸缩布局-FlexboxLayout(支持RecyclerView集成)http://www.cnblogs.com/huolongluo/p/6607877.html...

2019-05-17 20:53:01 657

原创 android开发笔记之EventBus

EventBus 简介EventBus Demo参考资料1.EventBus 3.0使用详解https://www.jianshu.com/p/f9ae5691e1bb2.Android EventBus 的使用https://www.jianshu.com/p/e7d5c7bda7833.github EventBushttps://github.com/greenrobot/E...

2019-05-15 20:37:19 581

原创 android之自定view之(八)----PathMeasure

PathMeasureAndroid Demo参考资料1.Android 自定义View学习(十六)——PathMeasure学习https://www.jianshu.com/p/ac1250bccd3b/2.安卓自定义View进阶-PathMeasurehttps://www.gcssloop.com/customview/Path_PathMeasure3.PathMeasur...

2019-05-14 16:48:35 221

原创 android开发笔记之约束布局ConstraintLayout

ConstraintLayout 简介约束布局ConstraintLayout 是一个ViewGroup,可以在Api 9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。如:<?xml version="1.0" encoding=...

2019-05-13 16:58:25 354

原创 android开发笔记之OkHttp

OkHttp 简历An HTTP & HTTP/2 client for Android and Java applications.其相关网址:1.okhttp github网址https://github.com/square/okhttp2.okhttp官方网址http://square.github.io/okhttp/使用时需要在build.gradle添加库的依赖...

2019-05-11 15:24:24 481

原创 android开发笔记之SwipeRefreshLayout

SwipeRefreshLayout简介SwipeRefrshLayout是Google官方更新的一个控件,可以实现下拉刷新的效果,该控件集成自ViewGroup在support-v4兼容包下.在android源码中,主要是在联系人界面刷新联系人数据:packages/apps/Contacts/src/com/android/contacts/list/DefaultContactBrow...

2019-05-10 21:10:19 3793

原创 android开发笔记之materialish-progress

materialish-progress介绍一个material 风格的滚动式进度条(progress wheel)建议阅读一下参考资料的二篇文章,你就知道这个控件的使用了.materialish-progress Demo主是要实现当我们点击一个button时,在后台启动一个线程,从而实时的更新materialish-progress的进度条,进度条从0增加到100.在build.g...

2019-05-10 17:38:03 966

原创 android开发笔记之Retrofit

Retrofit 简历A type-safe HTTP client for Android and Java在Android网络请求库中,Retrofit是当下最热的一个网络请求库.Retrofit Demo参考资料1.github retrofithttps://github.com/square/retrofit2.retrofit的官网http://square.gith...

2019-05-09 09:56:20 216

原创 android开发笔记之RxJava

参考资料1.Android RxJava:这是一份全面 & 详细 的RxJava操作符 使用攻略https://www.jianshu.com/p/cd984dd5aae82.给 Android 开发者的 RxJava 详解https://gank.io/post/560e15be2dca930e00da1083...

2019-05-07 21:06:58 169

原创 android开发笔记之异步FutureTask

FutureTask概念FutureTask一个可取消的异步计算,FutureTask 实现了Future的基本方法,提供 start cancel 操作,可以查询计算是否已经完成,并且可以获取计算的结果。结果只可以在计算完成之后获取,get方法会阻塞当计算没有完成的时候,一旦计算已经完成,那么计算就不能再次启动或是取消。一个FutureTask 可以用来包装一个 Callable 或是一个r...

2019-05-07 10:49:05 459

锁屏界面未接来电未读信息图标显示

锁屏界面未接来电未读信息图标显示

2016-10-19

ReflectDemo

java核心技术之reflect(一):一个系统学习reflect的Demo(精)---http://blog.csdn.net/hfreeman2008/article/details/49027247

2015-10-12

AIDL_RemoteService

android学习之remote service 的aidl详解: http://blog.csdn.net/hfreeman2008/article/details/47431123#t0

2015-08-13

ShakeFunction

android 摇一摇功能开发 http://blog.csdn.net/hfreeman2008/article/details/47324043

2015-08-06

android_volley

android volley

2015-07-20

customViewActionbar

android自定义View之(七)------自定义控件组合仿actionbar控件,详细地址:http://blog.csdn.net/hfreeman2008/article/details/43412863

2015-02-03

ShowPercentView

android自定义View之(六)------高仿华为荣耀3C的圆形刻度比例图(ShowPercentView),详细参考:http://blog.csdn.net/hfreeman2008/article/details/43369961

2015-02-01

CustomViewPagerIndicator

android自定义View之(五)------ViewPagerIndicator,实现界面指示图标随着手指滑动的效果。详细请看:http://blog.csdn.net/hfreeman2008/article/details/43148733

2015-01-27

图灵机器人

Android图灵机器人的实现(一),详细内容:http://blog.csdn.net/hfreeman2008/article/details/41629137

2014-11-30

自定义圆形进度条

自定义view之一-----圆形进度条。博客地址:http://blog.csdn.net/hfreeman2008/article/details/41541185

2014-11-27

Android_Animation

android animation 笔记(一)http://blog.csdn.net/hfreeman2008/article/details/39138303

2014-09-10

ViewPagerDemo

android viewpager 之 基本使用方法,详细网站:http://blog.csdn.net/hfreeman2008/article/details/38796449

2014-08-24

TestCaptureScreen.

android 的浏览器(browser),网页缩略图,view的缩略图。详细地址:http://blog.csdn.net/hfreeman2008/article/details/38688745#t2

2014-08-24

TestSharedPreferenceDemo

这是一个SharedPreferences人使用样例,SharedPreferences主要是存储一些简单的基本数据类型在xml文件中,并且采用内容观察者模式来监听数据变化,从而进行相应的操作。详细说明网址:http://blog.csdn.net/hfreeman2008/article/details/38542463

2014-08-24

testcontentprovider02

这个ContentProvider的样例,在一个db数据库中,有二个TAB(分别是:programmer,leader),分别提供了对每个表的增,删,改,查操作.详细介绍网址:http://blog.csdn.net/hfreeman2008/article/details/38713811

2014-08-24

TestContentProvider01

这个例子,主要是在db数据库中新建一个表,并提供正常的增,删,改,查操作和使用AsyncQueryHandler来异步对db数据库的数据进行增,删,改,查操作,以减少操作的时间,提高效率.csdn详细说明网址:http://blog.csdn.net/hfreeman2008/article/details/38668417

2014-08-24

android不同机型的适配的解决方案之按比例伸缩篇

android不同机型的适配的解决方案之按比例伸缩篇,博文地址:http://blog.csdn.net/hfreeman2008?viewmode=contents

2014-06-17

大鱼吃小鱼

游戏大鱼吃小鱼Demo,使用cocos2dx完成,大家可以参考学习!

2013-07-19

firstScreen

cocos2d-x学习(1)-------捕鱼达人的界面实现 http://blog.csdn.net/hfreeman2008/article/details/8954369 你下载代码下来后,要在flyshootMySelf\Resources目录下增加一个:background-music.mp3,就可以跑起来了

2013-06-04

一个简单的射击游戏

cocos2d-x学习(2)---游戏实例开发:一个简单的射击游戏一 http://blog.csdn.net/hfreeman2008/article/details/9001096 你下载代码下来后,要在flyshootMySelf\Resources目录下增加一个:background-music.mp3,就可以跑起来了

2013-05-31

flyshootMyself

cocos2d-x学习(1)-------捕鱼达人的界面实现 http://blog.csdn.net/hfreeman2008/article/details/8954369

2013-05-31

捕鱼达人的界面实现

cocos2d-x学习(1)-------捕鱼达人的界面实现 http://blog.csdn.net/hfreeman2008/article/details/8954369

2013-05-30

空空如也

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

TA关注的人

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