Android相关
文章平均质量分 78
潺森
勿在浮沙筑高台,点滴积累汇聚江河。让梦想成为现实。
展开
-
译-Dart虚拟机入门(Introduction to DartVM)
原文地址:https://mrale.ph/dartvm/发现一篇2019年的译文:https://annatarhe.github.io/2019/01/31/introduction-to-dart-vm.html,部分中文专有名词摘自该译文备注: 原文仍在处在修改状态, 翻译此文时,原文最后修改时间为2020年1月29日本文的目标:本文的目标是作为DartVM 开发的参考手册, 供新团队成员、潜在的外部贡献者、或者其他任何对VM内部原理感兴趣的人。 本文从介绍DartVM 简...翻译 2021-05-12 15:00:18 · 1056 阅读 · 0 评论 -
源码分析:LayoutParams的wrap_content, match_parent, 和具体值
概述:本文试图分析理解view 的measure 的过程,在分析过程中重点分析了LayoutParams 中MATCH_PARENT和MATCH_PARENT 的对应关系;onMeasure 默认值的计算过程;解释了onMeasure 接口中的注释中的问题,并提出一个问题:ViewRootImpl 是怎么创建的? 留作下篇引子。最后,讨论如何重写onMeasure()方法。LayoutPara原创 2014-06-15 00:00:30 · 18032 阅读 · 1 评论 -
源码解析:dialog, popupwindow, 和activity 的第一个view是怎么来的?
问题在慢慢熟悉android 的过程中,发现一个view 或者layout的初始化,或者构造的流程还是比较清楚的,也就是加到父控件中,然后就开始了对应的生命周期。但是整个界面的父控件,或者说系统的第一个view, 是怎么来的,如何初始化和绘制的呢?概述概述:带着困扰我的问题,在前文的基础上,继续分析应用界面和framework的关系,通过分析viewrootimpl 的来源,并结合di原创 2014-06-15 11:48:15 · 7118 阅读 · 9 评论 -
我在写多语言支持时用到的东西
本文仅涉及安卓(Android)客户端的实现, 服务器后台的部分没有介绍。 主要介绍了多语言中文字、图片的使用, 以及如何修改下拉菜单Spinner,在处理过程中还介绍了常用的shell 命令,awk命令,高效工作,高效生活。原创 2015-08-19 22:33:36 · 1070 阅读 · 1 评论 -
程序员转产品经理的第一个功能——上传计步信息至QQ健康
程序员转产品经理的第一个功能——上传计步信息至QQ健康11月11日,没错就是光棍节,马云谱写了一天913 亿元销售额的这天,我的第一个需求终于上线了。终于有脸可以来写一写我的历程,记下来以后每次提需求的时候都琢磨琢磨,警示自己。从研究生开始到入职37度科技,已经写了快7年的安卓代码了。人人都是程序员,哦不, 人人都是产品经理。做了多年程序员的我早已不爽各种奇怪的需求,奇葩的进度安排,终原创 2015-11-14 00:36:42 · 2594 阅读 · 3 评论 -
完全替代 RelativeLayout,ConstraintLayout 入门以及实践
完全替代 RelativeLayout,ConstraintLayout 入门以及实践原创 2017-01-12 18:13:38 · 3188 阅读 · 1 评论 -
源码分析:onAttach, onMeasure, onLayout, onDraw 的顺序。
从前文《 源码解析:dialog, popupwindow, 和activity 的第一个view是怎么来的?》中知道了activity第一个view或者说根view或者说mDecorView 其实就是一个FrameLayout,以及是在系统handleResume的时候加入到系统windowManager中的,并由framework中的ViewRootImpl 接管,通过ViewRootIm原创 2014-06-16 23:49:27 · 20788 阅读 · 1 评论 -
其实View并不是直接跟Activity关联起来的
ctivity工作过程: 启动: 从startActivity开始,它会调用到Instrumentation,然后Instrumentation通过Binder向AMS(ActivityManagerService)发请求,通过PIC启动Activity。而这个AIDL操作的方法定义在ApplicationThread中(里面包括了Activity所有的生命周期方法的调用)。然后通过Han原创 2017-04-10 06:54:21 · 320 阅读 · 0 评论 -
Android Support库的源码位置
Android Support库的源码位置在sdk 目录下/Users/chanson.cc/Library/Android/sdk/extras/android/m2repository/com/android/supportsupport-v4-24.1.1-sources.jar是包含代码的jar, 使用JD-GUI可以打开查看代码。 从24.1.1 之后的就都是aar 的库了, 无法再通过这原创 2017-05-25 11:31:01 · 6292 阅读 · 1 评论 -
仿MIUI toast 动画效果实现
仿MIUI toast 动画效果实现本文中涉及两个点比较重要:一是设计一个OvershootInterpolator,并使用开源库实现的动画效果;二是使用自定义的layout ,并通过WindowManager 的addView() 添加,实现类似toast效果,并增加toast 的点击事件回调处理。1 动画效果用前文中讲述的动画基础,实现一个toast的动画效果并没有多少困难原创 2014-02-18 07:29:53 · 7105 阅读 · 6 评论 -
Android 动画animation 深入分析
Android 动画animation 深入分析前言:本文试图通过分析动画流程,来理解android动画系统的设计与实现,学习动画的基本原则,最终希望能够指导动画的设计。0 本文中用到的一些类图1 view animation 调用方法:view.startAnimation(animation); public void startAni原创 2014-01-15 16:49:11 · 25726 阅读 · 13 评论 -
TelephonyProvider 分析
就目前感觉,TelephonyProvider是一个工具类,封装了对数据库的操作,负责添加删除查询carriers 的信息。com.android.providers.telephony.TelephonyProvidercom.android.providers.telephony.TelephonyProvider.delete(Uri, String, String[])原创 2010-05-10 08:48:00 · 5637 阅读 · 1 评论 -
什么是Activity
<br />关于Activity ,最权威的当然是GOOGLE 的官方文档,其中大篇幅的介绍了Activity 的声明周期,怎样从一个状态到另一个状态,这一直是在告诉我们怎样使用它,而不是告诉我它是什么。而我也就像是学车一样,只知道怎样开车,而不知道车的内部构造,和原理是什么。<br />为了解决自己的这一困惑,我决心把Activity 打开看看,一探究竟。<br />首先是定义,坦白的讲,就这一个定义就几乎把我打倒了。看看它吧。<br />public class Activity extends Con原创 2010-06-08 19:21:00 · 1246 阅读 · 0 评论 -
问题1.Activity为什么开始要调用onCreate()?这是由谁管理的,不应该是调用初始构造函数吗?
<br /> <!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --><br />在android 中,我们都知道Activity 的生命周期从onCreate 开始,可是从代码的角度来说,一个类刚开始不是应该从构造函数开始运行吗?从OnCreate 开始,是由什么决定的,为什么在Android 里这么特殊?<br />问题1.Activity为什么开始要调用onCreate()?这是由谁管理的,原创 2010-06-09 09:08:00 · 1496 阅读 · 0 评论 -
android 多控件顺序翻转动画设计实现
android 翻转动画实现自己的前几篇文章基本都是简单的把动画实现,能够看看效果。这次带来的翻转动画自然少不了的显示动画效果。但这次多了实用性、可扩展性的考虑,把翻转动画不仅仅是针对个别iew的动画效果,而是一个可以翻转的layout,并实现接口flipable,具备一定的封装性;方便在添加其它控件,具备一定的扩展性,在例子中,也示例性地改变翻转内容,把layout中默认的textv原创 2014-01-22 00:13:05 · 8356 阅读 · 1 评论 -
深入分析UI 上层事件处理核心机制 Choreographer
深入分析UI 上层事件处理核心机制 Choreographer 结论写在前面:Choreographer就是一个消息处理器,根据vsync 信号 来计算frame,而计算frame的方式就是处理三种回调,包括事件回调、动画回调、绘制回调。这三种事件在消息输入、加入动画、准备绘图layout 等动作时均会发给Choreographer。下面来看分析过程看过一些源码后,发现ui 绘制的原创 2014-01-22 00:13:46 · 31656 阅读 · 8 评论 -
android 点击效果动画增强
1.使用开源库制作view 的放大+透明度的动画2. 设计回调接口3. 在view 的onclick 的处理中增加动画的调用,并把以前的onclick事件处理 作为回调加入到animation中,在动画完成后回调处理函数。4. TODO:可以依据这个结构,添加更多动画效果。比如摇摆/震动等原创 2014-01-20 12:52:00 · 16029 阅读 · 7 评论 -
android Pull-to-refresh 动画实现
android Pull-to-refresh 动画实现现在很多应用都使用的pull-to-refresh 动画效果,包括微博、微信、QQ等。这里示例性的实现pull-to-refresh 动画效果,并增加了额外的图片放大、透明度、位移等动画。这些动画也被经常使用。实现效果:http://v.youku.com/v_show/id_XNjY0MTQzODQ4.html原创 2014-01-21 00:04:07 · 3627 阅读 · 3 评论 -
android 点击下弹动画实现
下弹动画的实现下弹动画在很多应用都有使用,比如豌豆荚中的应用介绍界面,百度手机助手的应用介绍界面等。只要熟悉android动画的使用接口,制作动画并不困难。 这里使用开源库nineoldandroids,其实和android3.0 以上直接使用动画接口是一样的。实现效果DropDownExample.javapackage com.buptfarme原创 2014-01-17 11:21:45 · 6309 阅读 · 4 评论 -
Android 单模改双模。telephonyProvider修改成问题
现在的需求是把android 系统修改成支持双卡双待的,目前进度是把打电话的通路基本调通了,调整Settings 时遇到问题。修改第二卡的APN 出现问题,telephonyProvider 到底是怎么用的?求高人解答。原创 2010-05-07 11:52:00 · 1428 阅读 · 0 评论