Android
文章平均质量分 81
飞雪妹妹
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android版计算器(java实现,包含小数、负数、括号)代码和讲解
我写了四个类来实现此功能:①CalException:自动逸异常类②CalService:处理计算和检查数字合法性③ExpressionTool:完成中缀转后缀以及用到的判断方法④Result:自定义返回的数据类型其中,最主要的是ExpressionTool类,它完成了中缀转后缀的整个过程.运行结果截图1.表达式"-1+2+(-1+2)"2.表达式"1.1+23(4.4*5+6)*7"代码如下:①CalException.javapublic class CalException原创 2022-04-04 11:12:22 · 3124 阅读 · 1 评论 -
Android四大组件-2018.11/12.x
Android四大组件有:Activity、Service、BroadcastRecevier、ContentProvider.一.Activity1.Activity生命周期Activity正常生命周期onCreate: 表示Activity开始创建,并进行一些布局资源的初始化,比如setContentView去初始化Activity界面资源并初始化Activity的所需数据。on...原创 2020-05-14 17:23:37 · 337 阅读 · 0 评论 -
学习MVVM遇到的Error记录
1.duplicate attributeAS提示主活动xml存在重复属性解决:发现我在layout和LinearLayout层下都引入了xmlns:android="http://schemas.android.com/apk/res/android"删掉LinearLayout下的这句话即可。在查找解决方法时注意到,这个错误的产生原因还可能是由于:layout和LinearLayo...原创 2020-05-03 07:13:13 · 1607 阅读 · 0 评论 -
项目问题集(未完)
还有一些问题没有及时记录就没有了。1.CLEARTEXT communication to v.juhe.cn not permitted by network security policy(fy:网络安全政策不允许向v.c he.cn发送明文信息)解决:链接,我用的第三种方法2.retrofit Expected BEGIN_ARRAY but was BEGIN_OBJECT at l...原创 2020-05-03 07:12:43 · 241 阅读 · 0 评论 -
View绘制机制和LayoutInflater动态加载以及三种绘图界面更新区别
View绘制流程及机制流程研究场景:最外层自定义MaxViewGroup继承自LinearLayout+内层自定义ViewGroup继承自LinearLayout+自定义View**注:1.LinearLayout的onMearsure过程为两遍,每次调用View的onMeasure一遍。2.RelativeLayout的onMeasure过程为三遍,每次调用View的onMeasure...原创 2018-11-17 17:48:31 · 1723 阅读 · 0 评论 -
View事件分发
场景:粉色为View,灰色为ViewGroup,淡黄色为ViewgroupMax,给粉色View在MainActivity里绑定了一个onClick事件,View响应会打印Log——“响应点击事件”。正常情况下:当父容器不拦截,View消耗事件时。得出如下图:可以看出,正常一个点击事件的传递是先调用父容器的分发(dispatch…)方法,然后调用拦截(onIntercept…)方法,此...原创 2018-11-12 09:39:06 · 273 阅读 · 0 评论 -
教务系统模拟登陆原理总结
教务系统模拟登陆原理 先说一下正常从网页访问教务系统页面并登陆的大概流程,首先,我们会访问到登陆页面,然后我们填写,用户名,密码,验证码,然后点击登陆,最后我们等待网页自己响应,若成功则跳转网页,若失败则给出相应提示,然后我们根据提示修改我们的输入信息再次点击登陆等待结果。那什么是模拟登陆,就是我们的程序模拟网页客户端登陆服务器,那我们就需要做与网页客户端类似的处理,这样服务器才会给...原创 2018-11-13 16:40:23 · 764 阅读 · 0 评论 -
设计模式——单例模式
单例模式的的使用场景:创建比较耗资源的、全局调用的类。单例特点:1.构造方法私有化。2.有一个静态的方法用来获取对象或者一个静态对象。3.线程安全,确保单例类对象有且只有一个,尤其在多线程环境下。4.确保反序列化时不会重构对象六种单例模式的实现:1.饿汉模式public class Singleton{ private static Singleton instance = ...原创 2018-10-29 20:50:59 · 163 阅读 · 0 评论 -
对自己的一点吐槽以及ExitText搜索框的bug修复
由于项目确实写得比较粗略,比如登陆模块其实只是简单验证,一些缓存还没来得及去加入,还有一些优化也没做到,日后完善。然后投入复习中没怎么去看项目,今天由于被面试问起项目出现的问题,我说了我的一个项目bug就是一个EditText不知为什么就会自己弹出软键盘,然后会遮挡一部分视图,当时也不知为什么找了好多方法没有解决,最后只好仿照别的app把它写成了一个摆设,然后通过点击它跳转到一个fragment里...原创 2018-11-20 20:57:50 · 273 阅读 · 0 评论 -
View工作原理(三)——自定义View
之前暑假本来写了这方面的学习笔记,但由于给出的事例一直没有来得及写讲解所以一直在草稿箱里。今天,我准备重新写一下这里的总结。自定义View有四个构造函数,第二个构造函数是我们在xml里写我们的View时会调用的,所以如果后面用到context注意要在这里初始化或者调用三参构造,并在三参构造里初始化。首先,要先理解一下自定义View的SpecMode有三种模式,这样会使你的自定义View更正...原创 2018-11-27 16:09:16 · 403 阅读 · 0 评论 -
SQLite用法总结
准备工作:自己建立一个类继承SQLiteOpenHelper类,这样就相当于你不费吹灰之力就继承了父类的一些属性和方法。public class DBHelper extends SQLiteOpenHelper{然后在你自己创建的类DBHelper中要重写这两个方法:第一个方法可以在里面写一些创建表的操作(我记得onCreate方法好像必须主动调用,就算第一次初始化DBHelper也...原创 2018-12-31 19:54:18 · 400 阅读 · 0 评论 -
Handler源码和机制分析
在这个包 android.os.Handler下的Handler注:所有”英语解释“均来自源码英文的有道翻译结果。打开这个类,发现这个类其实很简单只有850行。其中属性:IMessenger :传送门其中属性变量MAIN_THREAD_HANDLER是从ActivtyThread.java来的,看图:为什么要注意static,是因为如果你不做好的处理的话它会导致...原创 2018-10-20 11:43:49 · 238 阅读 · 0 评论 -
View的工作原理——基本知识(一)
ViewRoot和DecorViewViewRoot它对应于ViewRootImpl类,它是链接WindowManager和DecorView的纽带,View的三大流程均是通过它完成的。在ActivityThread中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和Decor对象建立关联。 Veiw的绘制流程是ViewRoot的performTravers...原创 2018-08-14 20:09:19 · 818 阅读 · 0 评论 -
搭建RN环境踩坑(一)Unable to load script from assets ‘index.android bundle’
搭建RN环境踩坑(一)Unable to load script from assets ‘index.android bundle’完整错误:unable to load script from assets ‘index.android bundle’ .Make sure your bundle is packaged correctly or you’re runing a pac...原创 2018-03-05 16:18:04 · 820 阅读 · 0 评论 -
关于教务系统项目所遇到的一些知识点总结
关于教务系统项目所遇到的一些知识点总结关于详细的爬取学校系统的过程我将再写一篇博客如下:(暂无)1.Activity跳转Activity方法一 Intent intent = new Intent(当前Activity.this, 目标Activity.class); putExtra("标志",数据);//当需要在跳转时传递数据用这个语句 startActivit...原创 2018-04-16 11:04:58 · 638 阅读 · 0 评论 -
Fragment和viewPager搭配使用(有标题)(二) 讲解
Fragment和viewPager搭配使用(有标题)(二) 讲解首先,我们想一想我们用ViewPager的目的是:实现多个Fragment左右滑动切换的效果。所以我们需要先建立多个xxFragment类继承Fragment,当然有多少个xxFragment就需要多少个它对应的xml这个自己根据自己的需要建立即可。并在onCreateView()方法中加载该xml和初始化控件...原创 2018-04-17 07:33:50 · 4304 阅读 · 0 评论 -
贝塞尔曲线——水波纹实现
//二阶贝赛尔 public void quadTo(float x1, float y1, float x2, float y2) public void rQuadTo(float dx1, float dy1, float dx2, float dy2) //三阶贝赛尔 public void cubicTo(float x1, float y1, float x2, float y2,float x3, float y3) public void rCubicTo(float x原创 2018-05-17 23:37:58 · 1948 阅读 · 0 评论 -
retrofit框架
模式:观察者模式 为什么使用? 代码简洁,请求速度快,解析数据封装好了导包 //retrofit 包 implementation 'com.squareup.retrofit2:retrofit:2.0.2' //gson 包 解析用到.addConverterFactory(GsonConverterFactory.create()) implementation 'co...原创 2018-05-21 16:55:10 · 202 阅读 · 0 评论 -
Rxjava学习笔记--未完
介绍: RxJava是ReactiveX(Reactive Extensions)的Java VM实现:用于通过使用可观察序列来编写异步和基于事件的程序的库。 RxJava是轻量级的 RxJava试图变得非常轻量级。它被实现为一个单独的JAR,它只关注Observable抽象和相关的高阶函数。RxJava是一个多语言实现RxJava支持Java 6或更高版本以及基于JVM的语言,如G...原创 2018-06-04 11:07:49 · 178 阅读 · 0 评论 -
读书笔记——View分发机制--未完
View分发机制点击事件的分发机制1.点击事件(MotionEvent) 典型的时间类型:(MotionEvent.)ACTION_DOWN——手指刚刚接触屏幕ACTION_MOVE——手指在屏幕上移动ACTION_UP——手指离开屏幕的一瞬间一系列点击事件:点击屏幕后离开(没有移动):DOWN->UP点击屏幕一会再离开:DOWN->MOVE-&g...原创 2018-06-04 11:08:21 · 166 阅读 · 0 评论 -
popWindow踩坑--android.view.WindowManager$BadTokenException: Unable to add window...
Unable to add window –token null is not valid; is your activity running#popwindow遇到上面的错误,原因:PopupWindow.showAtLocation(findViewById(R.id.main), Gravity.BOTTOM,0,0); popwindow必须依附于某一个view,而在oncreate中...转载 2018-06-04 22:13:32 · 1248 阅读 · 0 评论 -
PopWindow
PopWindow是一种弹窗,像dialog一样是一种悬浮弹窗。使用: 可以自己定义一个类继承系统里的PopWindow,即自定义,也可以使用系统的PopWIndow。看情况使用吧。PopWindow和Activity有些地方有点像,比如他可以用setContentView(View view)来建立自己的内容布局。所以它需要一个xml来定义它自己的布局。定义popwinodw....原创 2018-06-05 12:28:35 · 281 阅读 · 0 评论 -
Activity的启动分析
Activity的启动分析一、什么是Activity的启动和名词解释什么是:在后面的解析过程中会遇到很多生类(单词)这里把它们列出来(其中大多数描述也是来自其他博客): ActivityMangerServices 简称AMS,服务端对象,负责系统中所有Activity的生命周期。AMS是作为管理Android系统组件的核心服务,他在SystemServer执行run()方法的时候被...原创 2018-06-25 17:01:40 · 233 阅读 · 0 评论 -
Service工作过程(一)——Service启动过程
首先,Sevice的工作过程分两种:Service启动过程和Service绑定过程下面是用法:1.用stratService()启动一个ServiceIntent intentService = new Intent(this, MyService.class);startService(intentService);2.用bindService()绑定一个Service...原创 2018-07-24 23:06:20 · 1306 阅读 · 0 评论 -
TTMS——一个自定义的选票控件
用到内容:自定义View过程onMeasure,onLayout,onDraw。Matrix的简单应用。对滑动方式理解。手势ScaleGestureDetector,GestureDetector使用。一些简单图形的绘图,如文字,椭圆,矩形;画布的保存save和恢复retore。遇到的问题:1.滑动速度过快,导致手轻轻滑动视图就移动出屏幕。 2.OnTouch与手势冲突,...原创 2018-08-09 12:24:16 · 501 阅读 · 0 评论 -
View事件体系总结
1.1.1 View的概念View是android中所有控间的基类,不论是简单的Button,TextView还是复杂的RelativeLayout、ListView。1.1.2 View的位置参数view的四个属性:top,left,right,bottom。 注意:1.这些坐标的都是相对坐标,相对于View的父容器。 2.View在平移过程中,top...原创 2018-07-31 16:09:53 · 357 阅读 · 0 评论 -
初识Flutter——在AS搭建环境及第一个Flutter APP
Flutter中文网 Windows: 打开gitbash,输入: git clone -b beta https://github.com/flutter/flutter.git export PUB_HOSTED_URL=https://pub.flutter-io.cn //国内用户需要设置 export FLUTTER_STORAGE_BASE_URL=https:...原创 2018-08-09 20:03:33 · 6191 阅读 · 0 评论 -
Android动画深入分析总结
Android的动画分三种:View动画、帧动画和属性动画。其实帧动画也属于View动画的一种,只不过它和平移、旋转等常见的View动画在表现形式上略有不同而已。1.1View动画View动画的作用对象是View,他支持4种动画效果,分别是:平移动画、缩放动画、透明度动画、旋转动画。除了这四种典型的变换效果外,帧动画也属于View动画,但是帧动画的表现形式和上面的四种变换效果不太一样。...原创 2018-08-01 17:42:50 · 400 阅读 · 0 评论 -
View的工作原理——三大流程(二)
ViewRoot和DecorViewViewRoot它对应于ViewRootImpl类,它是链接WindowManager和DecorView的纽带,View的三大流程均是通过它完成的。在ActivityThread中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和Decor对象建立关联:Veiw的绘制流程是ViewRoot的performTravers...原创 2018-08-14 15:55:21 · 409 阅读 · 0 评论 -
Matrix和ColorMatrix
一、Matrix——图像处理之图形特效处理Android的图像变换矩阵是一个3 x 3的矩阵,如下: 矩阵初识值: [1 0 0] [0 1 0] [0 0 1]图像处理通常包含以下四种基本变换: Translate——平移变换 Rotate——旋转变换 Scale——缩放变换 Skew——错切变换至于具体怎么运算不需要了解太多,知道矩阵都有什么值,每个位置对应什么...原创 2018-08-02 11:57:08 · 503 阅读 · 0 评论 -
Fragment和viewPager搭配使用(有标题)(一) 代码
这个是我很久之前看的写的,由于寒假过年耽误了,今天来做个总结。一、Glide这个是glide。二、MainActivity.javapackage com.example.viewpagerdemo;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;i...原创 2018-03-04 17:34:24 · 1796 阅读 · 0 评论
分享