移动开发
文章平均质量分 85
苏金标
给生活一个大大的微笑
展开
-
MotionEvent.ACTION_CANCEL的解析
对于事件分发中,我们重写onTouchEvent的时候基本都知道1 .MotionEvent.ACTION_DOWN:(对应手势按下的时候)2.MotionEvent.ACTION_MOVE:(对应手势滑动的回调)3MotionEvent.ACTION_UP:(对应手势抬起的回调)基本我们都只处理这三个我平常也处理这三个,只到今天遇到一个问题我积分器的...原创 2019-04-12 15:09:22 · 1457 阅读 · 0 评论 -
AS如何查看第三方库依赖树呢
1.说明AS开发的一个好处是可以引入库,不用引用jar 或者arr,这是很方便的,但因为三方库他可能也会引入其他的一些库导致冲突,那AS有什么方法可以查看三方库的依赖树呢?2.方法方法1:使用 Gradle View 插件优点:简单易用,只用单击就能查看依赖树缺点:没有搜索功能,看着费眼方法2:使用 Gradlew 命令优点:清晰直观,搜索方便缺点:命令略长,需要记一下——...原创 2019-04-02 15:34:21 · 2364 阅读 · 0 评论 -
Android Studio 如何读取自定义配置的Gradle
工程build.gradle文件的内容可以使用变量的形式定义 ,这样是为了统一管理版本号,特别是对于模块化开发的大项目,这一功能能大大降低版本的不一致性1.首先在根目录下创建文件:config.gradle,内容如下:随便取一个名字就行2.创建gradle文件(已我的为列)ext { ------------这个名字不能改,固定的 ...原创 2019-04-02 11:13:24 · 1415 阅读 · 0 评论 -
Editext点击空白关闭软件盘
1.第一步,在activity中重写事件分发(该方法可以放在基类中)@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { if (isTouchView(filterViewByIds(), ev)) ...原创 2019-03-28 16:13:24 · 179 阅读 · 1 评论 -
android的广播
想要了解广播定义及相关原理的可以看下这一篇BroadcastReceiver史上最全面解析简单地对广播进行分类吧,广播有两个角色,一个是广播发送者,另外一个是广播接收者广播按照类型分为两种,一种是全局广播,另外一种是本地广播全局广播的意思就是发出的广播可以被其他任意的应用程序接收,或者可以接收来自其他任意应用程序的广播。本地广播则是只能在应用程序的内部进行传递的广播,广播接收...转载 2019-04-01 11:41:08 · 161 阅读 · 0 评论 -
如何在多次提交后给某个commit添加tag
比如你准备以某条commit内容为基准,发布版本。但是你却忘记对其添加tag,这时有两种方法。第一种是版本回退,然后以需要的commit内容为基础,发布版本。这种做法不太推荐,它会丢弃你之后的开发工作,不太推荐。另外一种方法就是今天推荐的。具体方法使用git log查看提交日志,找出你需要的那个commit。假设提交的commit id为“928a92a123456b126eb1234...转载 2019-04-04 16:25:25 · 473 阅读 · 0 评论 -
git --ssh免密码关联,读这一篇就够了
许多文章都讲到ssh免密码和git 关联,但感觉讲的都不全面和不太清楚其实这个是个很简的东西,所以我这边就简单的讲一下1.在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的):输入cd ~/.ssh ------查看本地是否生过秘钥2.如果能进去,就可以直接用这里的秘钥就行,没有就进......原创 2019-03-18 11:24:39 · 153 阅读 · 0 评论 -
git的一些常用的用法
为了让大家更容易理解git ,先来一张大图因为使用git 命令行来提交代码的,所以此文章用来记录一些常用的命令,因为老是忘记一些命令(SourceTree的除外)cd D(指定切入到哪一个盘)dir (查看文件夹中的文件和文件夹):q (退出当前命令行)现在开始提交代码的命令(克隆线上仓库)1.切入到指定的文件夹中2.git clone url(线上仓库的地址)...原创 2019-02-27 16:10:59 · 303 阅读 · 1 评论 -
Rxjava2.X的一些讲解
rxjava是什么? 总结一句话就是 异步切换操作的工具Rxjava常用的一些操作符1.concat(英文翻译为连接的意思) 就是将多个Observable(上游发送器又名被观察者)统一起来按顺序返回一个Observable下面是源码的一重要部分,返回的是一个T类型,所以两个被观察者的返回的类型应该是一样的,或者可以传入一个Object如下图所示,创建两个O...原创 2018-11-01 16:08:49 · 208 阅读 · 0 评论 -
android的启动原理---ActivityThread
ActivityThread对于一个应用来说是点击lancher后启动的入口他里面的main方法就是jvm启动的地方public static final void main(String[] args) { -----------------main方法 jvm调用 SamplingProfilerIntegration.start(); …… ...原创 2018-10-17 11:47:20 · 560 阅读 · 1 评论 -
android的内部类和静态内部类的区别
1.static静态修饰符在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的。 static修饰表示静态的,在类加载时JVM会把它放到方法区,被本类以及本类中所有实例所公用。在编译后所分配的内存会在一直存在,直到程序退出内存才会释放这个空间。如果一个被所有实例公用的方法被申明为static,那么就可以节省空间了,不用每个实例初始化的时候都被分配到内存。2.内部类定义在一个类内...原创 2018-10-17 10:53:19 · 4629 阅读 · 0 评论 -
Handler的简单使用
handler的用法很简单,这边就不多说了mHandler.removeCallbacksAndMessages(null); 则是handler移除所有的消息的方法Handler的内存泄露对于Handler来说,如果我们直接在AndroidStudio中创建一个非静态内部类Handler,那么Handler这一大片的区域会被AS标记为黄色,这个应该很多人都遇到过吧。实际上是因为这...原创 2018-10-17 10:07:26 · 158 阅读 · 0 评论 -
关于view 的canvas的理解
canvas? 英文翻译为帆布,作为android的开发人员一般解释为画布,我个人更愿意理解为画板一个android树共用一个canvas 由最上层往下传canvas是一个比较奇怪的概念,android 的视图其实是相当于一层一层的叠加的产生的效果,和PS,前端显示的是一样的,通过不断的层叠产生效果每次调用Draw函数的时候都会产生一个视图层,这是重点如下图所示 ...原创 2018-10-18 20:51:24 · 263 阅读 · 0 评论 -
为什么View不能在Activity的onresume()方法中获得view的宽高
其实打开一个 Activity,当它的 onCreate---onResume 生命周期都走完后,才将它的 DecoView 与新建的一个 ViewRootImpl 对象绑定起来,同时开始安排一次遍历 View 任务也就是绘制 View 树的操作等待执行,然后将 DecoView 的 parent 设置成 ViewRootImpl 对象。这也就是为什么在 onCreate---onResume...原创 2018-10-18 11:34:47 · 875 阅读 · 0 评论 -
Android File的详解
Android的文件存储分为外部存储和内部存储(即External storage 和 internal storage)外部存储,用PC的理解即移动硬盘和U盘等 ,而对于安卓手机来说比较特别,,很多中高端机器都将自己的机身存储扩展到了8G以上,他们将存储在概念上分成了"内部internal" 和"外部external" 两部分,但其实都在手机内部。所以不管安卓手机是否有可移动的sdca原创 2017-11-01 22:23:55 · 3752 阅读 · 1 评论