Android
文章平均质量分 83
Peng丨鹏
Read The Fucking Source Code!
展开
-
Android面试原理(Handler)
Handler机制和底层实现MessageQueue 用来存放线程消息Handler 与Looper沟通Looper 一个线程可以产生一个Looper对象,对消息进行循环Message 线程消息的载体ActivityThread --> main() 函数Looper.prepareMainLooper()就是制造出一个loopersMainThreadHandler = thread.getHandler();Looper.loop(),启动,让它开始循环1.Lo.原创 2020-08-12 16:59:37 · 523 阅读 · 1 评论 -
Android 微信支付集成重点(已经看过官方开发文档)
集成微信支付重点,适用于有集成经验并且已经看过开发文档的同学1.申请开通按照官方文档步骤 (注册平台账号——认证(300 如果失败3次需再付300认证,信息提前确认)——创建应用审核(签名用微信的提取工具)——开通支付功能——集成)2.集成1.定义全局变量private IWXAPI api;2、注册APPID 支付界面 注册操作 api = WXAPIFactory.create原创 2017-06-21 10:28:29 · 948 阅读 · 0 评论 -
自定义View(二)
重要回调onFinishInflate() 从XML加载组件后回调onSizeChanged() 组件大小改变时回调onMeasure() 测量时回调onLayout() 确定显示位置时回调onTouchEvent() 监听触摸事件时回调原创 2016-11-06 12:22:44 · 254 阅读 · 0 评论 -
自定义View(一)
MeasureSpec类 是一个32位int值 高2位为测量模式 低30位为测量的大小测量模式 EXACTLY(精确模式) 当属性为具体值时,系统使用的模式AT_MOST(最大值模式) 当属性为wrap_content时UNSPECIFIED(未指明的)View的测量重写on Measure( )方法系统最终会调用setMeasuredDimension(int widthMea原创 2016-11-06 12:14:49 · 182 阅读 · 0 评论 -
Android架构
Android系统架构linux内核层 硬件驱动、系统安全、进程管理库和运行时Framework应用层列表内容Dalvik与ARTDalvik Android运行环境虚拟机 每个APP分配一个Dalvik保证互相不受干扰 Dalvik采用用时进行编译ART Android5.X版本ART代替Dalvik ART采用安装时就进行编译Android的APP组件架构四大组件原创 2016-11-05 12:39:55 · 200 阅读 · 0 评论 -
Android LayoutInflater详解
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInfl原创 2016-01-29 14:57:08 · 250 阅读 · 0 评论 -
android分析windowManager、window、viewGroup
本文将主要介绍addview方法,在windowManager、window、viewGroup中的实现原理。首先将介绍这些类结构关系,然后分析其内在联系,介绍实现原理,最后介绍重要的一个参数windowManager.layoutParams。 一、首先介绍一下上述接口、类的结构接口:windowManager用来在应用与window之间的管理接口,管理窗口顺序,消息等public interfa转载 2016-01-29 14:52:37 · 307 阅读 · 0 评论 -
Android系统服务-WindowManager
WindowManager是Android中一个重要的服务(Service )。WindowManager Service 是全局的,是唯一的。它将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window。Activity会将顶级的控件注册到 Window Manager 中,当用户真是触碰屏幕或键盘的时候,Window Manager就会通知到,而当控件有一些请求产生,也会经由ViewPar转载 2016-01-29 14:27:41 · 300 阅读 · 0 评论 -
Process and Thread
进程默认情况下,同一个应用程序内的所有组件都是运行在同一个进程中的,大部分应用程序也不会去改变它。不过,如果需要指定某个特定组件所属的进程,则可以利用manifest 文件来达到目的。manifest文件中的每种组件元素——activity、 servic、 receiver和provider——都支持定义android:process属性,用于指定组件运行的进程。设置此属性即可实现每个组件在各自的原创 2016-01-29 12:19:16 · 365 阅读 · 0 评论 -
Content Provider
ContentProvider和Uri详解一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为C原创 2016-01-28 12:18:31 · 531 阅读 · 0 评论 -
Tasks and Back Stack
一个应用程序通常包含多个 activity。 每个 activity 在设计时都应该以执行某个用户发起的 action 作为核心目标,并且它能启动其它 activity。 比如,一个 email 应用可能会用一个 activity 来列出所有的新 email,当用户选中一封 email 时,再打开一个新的 activity 来显示这封 email。一个 activity 甚至可能会启动另一个应用中的原创 2016-01-27 13:19:51 · 339 阅读 · 0 评论 -
loader(加载器)
从Android3.0开始,Android SDK提供了Loader技术,使用Loader技术可以很容易进行数据的异步加载。Loader技术为我们提供的核心类有:1.LoaderManager:可以通过Activity或者的Fragment的getLoaderManager()方法得到LoaderManager,用来对Loader进行管理,一个Activity或者Fragment只能有一个Loade原创 2016-01-26 14:27:01 · 585 阅读 · 0 评论 -
Fragment的生命周期
Frament表现Activity中用户界面的一个行为或者一部分,生命周期受宿主Activity生命周期的影响。1.onAttach()当fragment被绑定到activity时调用(Activity会被传入)2.onCreate()在创建fragment时系统会调用此方法。在实现代码中,你可以初始化想要在fragment中保持的那些必要组件,当fragment处于暂停或者停止状态之后可重新启用它原创 2016-01-22 12:14:17 · 390 阅读 · 0 评论 -
Activity的生命周期
熟悉Activity的生命周期对程序是至关重要的 1.onCreat() 绑定数据 加载布局 (回传入Bundle)2.onRestart() activity被停止后,再次被启动之前调用。3.onStart() 显示之前调用 下面回调 onResume() (显示) 或者 onStop() (隐藏)4.onResume() 交互 下面回调onPause()5.onPause() 启动另一原创 2016-01-22 10:42:12 · 328 阅读 · 0 评论 -
Android基础
基础Android的 SDK 工具编译代码是以任意数据并将相关资源报打成包 包以 .apk 为后缀的 压缩文件。这就是所谓的安装包。Android操作系统是一个多用户的Linux系统,其中的每一个应用程序都是一个独立的用户。默认地,系统会为每一个应用程序分配一个唯一的Linux用户ID(这个ID只能被系统使用,并且对于应用程序来说,这个ID是未知的)。系统为一个应用程序的所有文件 设置了权限,原创 2016-01-21 12:51:12 · 276 阅读 · 0 评论