- 博客(268)
- 资源 (22)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 android开发笔记之开发规范
前言来到一个新公司,动手写代码前,我一般都是找领导要开发规范。但是,许多公司都是没有任何开发规范,或者开发规范真是非常简单,只有对修改注释的格式说明。这……,现在的这家公司,我来这二年了,都没有看到什么开发规范,在我的强烈要求下,公司领导才给了一个功能手机开发时代的c++的开发规范,我说要android的java开发规范,领导非常不乐意,就在网上找了一个开发规范文档发给我,还说大家都不是刚开发,应该
2016-11-21 17:54:41
1473
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 android开发笔记之常用开发命令
1.工程编译命令:(1)列出codebase中可用的工程./mk listp(2)new一个工程./mk -t project_name new
2014-01-25 14:36:40
4274
2
原创 关于技术博客的调整
andjroid系统开发主要是在:https://github.com/hfreeman2008/android_core_framework我的github:https://github.com/hfreeman2008/
2024-06-24 10:15:29
184
原创 Android系统开发之TimeZoneDetectorService浅析--下
可以看出TimeZoneDetectorService类,其具体实现是由TimeZoneDetectorStrategy类完成的。
2024-01-28 14:33:25
359
原创 Android系统开发之TimeZoneDetectorService浅析--上
客户有一个关闭通话功能的需求,根据MTK的配置方法关闭了大概8个宏开关后,实现通话功能,但是导致插好sim卡开机后,时间和时区不能更新的问题。
2024-01-26 17:22:33
545
原创 Android系统开发之浅谈广播接收器回调
广播Intent和广播接收器BroadcastReceiver,是大家android开发用的特别多的二个控件。那如何从系统角度看待广播和广播接收器呢?对于静态注册BroadcastReceiver和动态注册的BroadcastReceiver是如何回调其onReceive方法呢?此文章以Android13版本为例,试浅分析之。
2024-01-16 21:19:16
558
原创 再谈谷歌GMS认证之Android 13
2023年来到一个新的公司,传说中的做互联网金融即将上市的高大上公司。入职后才发现就是做pos机设备的一个小厂哎,什么命啊!工作和手机开发的工作重合度可以达到95%以上,我不想做手机,偏偏又干上了老本行了。来吧,兄弟,开始你的新公司的工作旅程吧。慢着,差点忘了介绍一下我的一个兄弟,非常重要的难兄难弟。我们叫他x吧,x,武汉大学毕业,从业10+年手机开发,第二次入职此公司,和我同一天入职。入职后,我负责一个S项目,他负责一个O项目。公司原来系统组大概有个20来个人吧,在做一个T项目。今年疫情结束了,
2023-11-17 09:21:13
1459
9
原创 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
2080
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
958
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
5945
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
1932
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
956
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
2393
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
3581
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
2508
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
5307
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
2411
原创 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
867
原创 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
284
原创 android开发浅谈之DecorView与ViewRootImpl
前言对于Android开发者来说,View是开发中使用最多的。View重点包括事件分发机制,测量,布局,绘制等。这篇文章我们从Activity入手,看看从Activity创建后到View的正式工作之前的流程,此分析的代码以android 10.0为参考。...
2020-12-29 14:54:12
436
原创 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
598
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
1119
原创 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
281
原创 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
1597
原创 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
404
原创 android开发笔记之xml矢量图片
xml矢量图片缩放矢量图形(英语:Scalable Vector Graphics,SVG)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。.svg格式相对于.jpg、.png甚至.webp具有较多优势:图像与分辨率无关,不会变形,适配安卓的各种分辨率;省空间。体积小,一般复杂图像也能在数KB搞定,图标更不在话下xml矢量图片的生成xml矢量图片的预览参考资料(...
2019-07-06 16:20:55
8662
原创 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
409
原创 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
440
原创 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
608
原创 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
191
原创 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
701
原创 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
591
原创 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
244
原创 android开发笔记之约束布局ConstraintLayout
ConstraintLayout 简介约束布局ConstraintLayout 是一个ViewGroup,可以在Api 9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。如:<?xml version="1.0" encoding=...
2019-05-13 16:58:25
377
原创 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
550
原创 android开发笔记之SwipeRefreshLayout
SwipeRefreshLayout简介SwipeRefrshLayout是Google官方更新的一个控件,可以实现下拉刷新的效果,该控件集成自ViewGroup在support-v4兼容包下.在android源码中,主要是在联系人界面刷新联系人数据:packages/apps/Contacts/src/com/android/contacts/list/DefaultContactBrow...
2019-05-10 21:10:19
3802
原创 android开发笔记之materialish-progress
materialish-progress介绍一个material 风格的滚动式进度条(progress wheel)建议阅读一下参考资料的二篇文章,你就知道这个控件的使用了.materialish-progress Demo主是要实现当我们点击一个button时,在后台启动一个线程,从而实时的更新materialish-progress的进度条,进度条从0增加到100.在build.g...
2019-05-10 17:38:03
1003
原创 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
232
原创 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
180
ReflectDemo
2015-10-12
AIDL_RemoteService
2015-08-13
customViewActionbar
2015-02-03
ShowPercentView
2015-02-01
CustomViewPagerIndicator
2015-01-27
自定义圆形进度条
2014-11-27
Android_Animation
2014-09-10
ViewPagerDemo
2014-08-24
TestCaptureScreen.
2014-08-24
TestSharedPreferenceDemo
2014-08-24
testcontentprovider02
2014-08-24
TestContentProvider01
2014-08-24
android不同机型的适配的解决方案之按比例伸缩篇
2014-06-17
firstScreen
2013-06-04
一个简单的射击游戏
2013-05-31
flyshootMyself
2013-05-31
捕鱼达人的界面实现
2013-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人