2.Android
gogolaile
这个作者很懒,什么都没留下…
展开
-
android Rect
Rect类内有四个int型成员变量,分别为left,tope, right,bottom 可以理解为一个矩形的左上坐标的X,Y轴坐标值,右下坐标的X,Y轴坐标值 这四个值确定后可以明确或说代表一个矩形范围。该类有以下常用方法: 1.用以得到该矩形的宽高,中点坐标 2.判断与其它点,矩形的位置关系(是否相等,...原创 2019-01-09 15:23:32 · 1540 阅读 · 0 评论 -
fastJson解析报错com.alibaba.fastjson.JSONException: create instance error, class json.TestFJson$A
今天用fastJson解析报 create instance error的错误 认真检查,bean类内的字段都和服务端返回的字段一致,格式都是正确的,为什么会报错呢。 在网上找到答案,如果存在内嵌的情况:比如public class A{ private String haha; private int gogo;原创 2017-01-20 14:37:39 · 29806 阅读 · 11 评论 -
Android架构MVC,MVP讲解
周鸿博大神的,原文出处Android App的设计架构:MVC,MVP,MVVM与架构经验谈和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:我的App需要应用这些设计架构吗?MVC,MVP等架构讲的是什么?区别是什么?本文就来带你分析一下这几个架构的特性,优缺点,转载 2017-02-28 12:26:44 · 1323 阅读 · 0 评论 -
Material Design控件-toolbar
1.ToolBar使用原因:ActionBar 固定在上面,扩展性不好,Google使用Toolbar来代替Actionbar使用方法: 一。去除ActionBar,我们之前带有ActionBar是因为使用了带ActionBar的主题,所以我们得换换主题,在AndroidManifest.xml中 找到android:theme,ctrl +鼠标左键点击@style/A原创 2017-01-19 15:44:22 · 435 阅读 · 0 评论 -
LitePal
Realm是core Data和SQLite的易用替代方案,能在移动端用简单的代码就部署 数据同步服务 和 构建交互式体验。一.Java Realm的使用限制不支持Android以外的java使用Android Studio >= 1.5.1 Android SDK的最近版本JDK version >=7.Android versions >=API Level原创 2017-01-18 17:01:03 · 1415 阅读 · 0 评论 -
butterknife绑定后view为null
参照 butterknife使用但是绑定@BindView(R.id.phone_btn)Button phoneBtn;@BindView(R.id.alum_btn)Button alumBtn;@BindString(R.string.app_name)String appName;在ButterKnife.bind(this)之后得到appName和p原创 2017-01-13 15:29:23 · 6764 阅读 · 1 评论 -
Notification
新年将近,无钱过年,于是自我娱乐一下。(如有侵权,请告知)要实现的:具体实现是在应用中有一个按钮,点击按钮后会退回到桌面,之后手机振动,然后你可以在别人的注视下很惊奇的拿起手机,然后看到以上的通知具体实现:首先是主界面的布局文件:activity_main.xmlxml version="1.0" encoding="utf-8"?>xmlns:android原创 2017-01-12 12:32:32 · 366 阅读 · 0 评论 -
handler
1.为什么android要使用Handler机制是为了解决非主线程需要更新UI,但非主线程不能操作UI的矛盾只要要更新时把给handler发信息,由handler来完成操作UI的工作2.大家可能会奇怪,既然f非主线程不能更新UI,那我们就把所有工作放在主线程里完成不就行了吗?不行,有些操作如联网通信等操作具有不定时性,放在主线程会影响app的稳定性和流畅原创 2016-12-30 10:27:38 · 338 阅读 · 0 评论 -
android适配
图片通常用px(像素表示)android的设备比较多样,有不同的分辨率,大小,同样是40px的图片在40dpi(40像素每英寸)的设备上只有1英寸,在20dpi(20像素每英寸)的设备上却有两英寸这样同一张图片在不同的设备上显示的大小不一致为了确保同一张图片在不同的设备上显示大小一致,官方提供了dp单位px = dp *(dpi /160)原创 2016-12-29 16:13:47 · 332 阅读 · 0 评论 -
Binder机制1---Binder原理介绍
来源 http://blog.csdn.net/bathinbreeze/article/details/89891051.Binder通信机制介绍这篇文章会先对比Binder机制与Linux的通信机制的差别,了解为什么Android会另起炉灶,采用Binder。接着,会根据 Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会转载 2017-02-22 09:24:55 · 304 阅读 · 0 评论 -
Binder机制2---Binder的数据结构以及Binder驱动
来源 http://blog.csdn.net/bathinbreeze/article/details/8989431大纲Binder的数据结构Binder写操作命令字: BC_XXXBinder读操作命令字: BR_XXXBinder在传输数据中的表述:flat_binder_objectBinder对象类型转载 2017-02-22 09:53:56 · 574 阅读 · 0 评论 -
Wifi热点
最近在开发手机短距离传输有关的产品,由于蓝牙传输速率有限,采用的是wifi热点的方式。1.WIFI热点的操作需要以下权限:<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.CHAN...原创 2019-01-11 16:29:36 · 740 阅读 · 0 评论 -
value &#
公司项目要翻译成阿拉伯语,只能参照给的翻译文本对values下的开始一string里的各项一个个进行替换其中 通话中&#8230; 替换成 جاريالمكالمة …后编译会有not well-formed 的报错。 检查后发现是;不能少改成جاري المكالمة …;后编译成功通过。原创 2017-05-16 10:00:06 · 305 阅读 · 0 评论 -
android小细节
true @null1.在引导页加上以上代码,可以一开始就显示背景图,而不显示白色背景。以及去除引导页title.原创 2017-03-08 11:34:54 · 323 阅读 · 0 评论 -
Xfermode
Xfermode有三个子类:AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素异或操作。PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条来控制Pa原创 2017-03-10 15:53:21 · 461 阅读 · 0 评论 -
Drawable(一)
尝试用ImageView显示Drawable一开始代码如下: ColorDrawable colorDrawable = new ColorDrawable(0xff0000); //创建红色的ColorDrawable imageView.setImageDrawable(colorDrawable); //在ImageVie原创 2017-03-09 13:52:10 · 322 阅读 · 0 评论 -
Binder机制5--- Binder实现进程管理服务示例
来源 http://blog.csdn.net/bathinbreeze/article/details/89948256. 用eclipse实现PMServicePMservice是一个通过Service服务,来实现任务管理的程序。分为客户端PMClient和服务端PMService。PMService提供一些操作方法:服务开始的提示方法:getVal转载 2017-02-22 11:38:11 · 311 阅读 · 0 评论 -
Binder机制4---Framework层
来源 http://blog.csdn.net/bathinbreeze/article/details/89907195. Binder机制的Java接口 通常,应用程序框架中基 于Java语言的Binder接口是通过JNI来调用基于C/C++语言的Binder运行库来为Java应用程序提供进程间通信服务的。在应用程序 中,Server被实现为Service的形式,并通过IS转载 2017-02-22 11:37:03 · 394 阅读 · 0 评论 -
Binder机制3---Native层
来源 http://blog.csdn.net/bathinbreeze/article/details/8990000Native层流程大纲介绍完Binder驱动的构架后,下面我们进入到Binder Native层的流程分析。Binder的整体流程可分为如下几个步骤:Service Manager成为守护进程--- Service Manager告知Binde转载 2017-02-22 11:35:51 · 437 阅读 · 0 评论 -
android 大图片压缩 及滑动不加载
android给每个应用程序分配的内存是16MB,从网上下了个图片高清大图,大小是500多kb,加载在listview的imageview里,layout_width和layout_height设置为60p。启动程序直接omm错误退出。 要想在listview里加载这样的图片,只能进行图片压缩了。但是怎么压缩呢?原创 2016-07-05 12:31:19 · 368 阅读 · 0 评论 -
Listview的优化
在适配器中,getview()中:1.复用convertView2.使用ViewHolder3.Item布局层级越少越好,使用hierarchyview工具查看优化(一般要求渲染绘制的时间在16ms内,保证画面流畅的感觉。每个view都要经历onMeasure()(尺寸),onLayout()(位置),onDraw()的过程。所有view的这三者时间相加就是总的时间。以下是原创 2016-07-04 12:05:37 · 335 阅读 · 0 评论 -
绘制text 的一些变量
Canvas.drawText绘制文字为什么会偏上?fookwood 于 2014年08月26日 发布在 android开发跳到评论如果你经常使用Canvas的draw***方法去绘制一些图像图形,你会知道绘制的时候坐标是从Canvas左上角开始计算的,如果想要把一个图像放到某个位置,直接drawBitmap传递图片左上角的坐标就行了。那drawText就不一样了,如果转载 2016-07-01 10:12:59 · 373 阅读 · 0 评论 -
动画(一)
1.View动画是通过平移,缩放,旋转,透明度改变图片的一种渐进式的动画2.帧动画类似于放电影一样切换一张张准备好的图片而形成的动画3.属性动画是通过改变对象每个时段的属性值而形成的动画注意:动画中尽量使用dp做单位,使用硬件加速一。View动画XML方式:在res/anim/filename.xml<set xmlns:android="http://sch原创 2017-02-07 11:06:50 · 273 阅读 · 0 评论 -
Drawable
一.BitmapDrawable(图片一张)<bitmapxmlns:android="http://schemas.android.com/apk/res/android"android:src="@~" //resource资源idandroid:antialias="true|false" //抗锯齿功能,开启时可以让图片平滑android:dither="true|fal原创 2017-02-06 21:11:15 · 252 阅读 · 0 评论 -
View的工作原理(三)
一。MeasureView的Measure过程:它会调用View的onMeasure方法,在onMeasure方法中会调用setMeasureDimension(width,height)方法设置view的宽高测量值, 而width和height的值在AT_MOST和EXACTLY模式下都等于specSize.(一般都是父容器剩余空间大小)所以如果我们自定义view时继承V原创 2017-02-06 19:45:40 · 323 阅读 · 0 评论 -
View的工作原理(二)
测量会用到一。MeasureSpec,它是一个32位的int型整数。它由两部分组成,分别是前三位的SpecMode(MeasureSpec & 0xc000 0000) 和后29位的SpecSize(MeasureSpec &0x3FFF FFFF)组成。之所以把他们合并成MeasureSpec是为了节省存储空间。 SpecMode:,表示测量的模式 有,有三种:publi原创 2017-02-06 15:44:08 · 354 阅读 · 0 评论 -
View的工作原理(一)
Activity被创建以后,DecorView会被添加到Window中,同时会创建ViewRootImpl对象(即ViewRoot)并将ViewRoot和DecorView建立关联。(我认为这个关联指的是一方持有另一方的引用,这样就可以在本对象中对另一方进行处理,不知道是否正确)root =new ViewRootImpl(view.getContext(),display);roo原创 2017-02-06 14:16:17 · 311 阅读 · 0 评论 -
View的事件体系(三)
一,ScollTo(x,y)是将view的内容移动到x,y 而 ScollBy(x,y)是将view的内容b平滑的移动x,yScollBy和ScollTo方法之间的关系:public void srcrollBy(int x,int y){scrollTo(mScrollX + x,mScrollY + y);}mScrollX表示view左边缘和view内容左边缘在水平方向上的原创 2017-02-05 22:42:56 · 376 阅读 · 0 评论 -
View的事件体系(二)
一.事件由activity开始传递,activity的dispatchTouchEvent代码如下:public boolean dispatchTouchEvent(MotionEvent ev){ if(ev.getAction() == MotionEvent.Action_Down){ onUserInteraction(); } if(getWindow().s原创 2017-02-05 21:57:29 · 282 阅读 · 0 评论 -
View的事件体系(一)kao
1.View是界面层控件的抽象,也就是一个控件,是界面层最基本的组成单位。ViewGroup是控件组,是View的容器。 ViewGroup是多个控件组成的控件,以此构成View树的结构。2.VelocityTracker用于zuizhong原创 2017-02-05 16:03:43 · 440 阅读 · 0 评论 -
动画二-属性动画
一时间插值器(TimeInterpolator)的作用是根据时间流逝的百分比计算出动画进度的百分比。public class LinearInterpolator implements Interpolator{ @Override public float getInterpolation(float v) { return v; }}如线转载 2017-02-07 12:06:51 · 298 阅读 · 0 评论 -
谷歌设计规范摘录--Animation and color
1.Animation 动效的意义不仅在于美,而且是为了构建有意义的空间关系,凸显功能,维系系统的一致性。我们假设这些物体都是有质量的,在外力的驱使下按照某种规律运动。而不是突然的开始运动或结束运动,这样能让用户感觉自然 1.进场和退场都采用最大速率,可以使用户不被速率分心 2.小物体加速时间原创 2016-05-27 15:54:21 · 753 阅读 · 0 评论 -
activity的启动模式
activity的启动模式有四种:分别是standard,singleTop,singleTask,singleInstance.为什么会有这四种模式,先来讲讲activity的管理。我们知道一个应用会有很多个activity,那android用什么数据结构管理这些activity呢?答案是栈,我们称之为任务栈。栈的特点是后进先出,大家应该都知道。 每创建一个新的activit原创 2016-06-29 21:34:33 · 346 阅读 · 0 评论 -
Android生命周期
activity 的生命周期有onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(). 我们只知道他什么情况下会调用这些方法,但是具体在什么情况下会调用,我们却不知道。就好像我们知道我们有一个会离开人间,但具体哪天我们是不知道的,这是由安卓系统把控的。onCreate()和onDestroy()分别在Acti原创 2016-06-29 17:08:29 · 430 阅读 · 0 评论 -
谷歌设计规范摘录-字体
Ice Cream Sandwich发布后,Roboto成为安卓的标准字体字体的标准样式:1.字体比例和基本样式推荐使用的字体样式其中最常用的尺寸为 12,14,16,20,342.行高行高要根据样式中不同的尺寸和字重而分别设置,从而提高可读性,合理设置间隔。只有Body,Subhead,Headline,以及稍小的Displ原创 2016-05-27 18:04:54 · 798 阅读 · 0 评论 -
自定义view
控件大概分为两类:view和viewGroup. viewGroup可以作为父控件存放多个view。 他们是以树状的形式进行组织的,上层的父view负责子view的测量和绘制,以及传递交互事件。 每个Activity都包含一个Window对象,通常由PhoneWindow来实现。PhoneWindow 将DecorView设置为整个视图结构的根。上面所原创 2016-07-05 20:59:42 · 328 阅读 · 0 评论 -
流式布局的实现
自己构思实现代码如下:package hillfly.flowlayout;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;/** * Created by gogolaile on 1原创 2016-07-05 20:43:13 · 426 阅读 · 0 评论 -
Activity 之间的通信
Activity通过startActivity启动另一个Activity,并同过Intent显示或隐式的方式指定将启动的Activity,Intent创建的的两个参数一个是启动活动的上下文,一个是要启动的活动。然后就能启动特定的Acitivity。如果只有一个参数,action和category匹配即可启动另一个Acitivity。Activity要想将信息返回,可通过startActivityF原创 2015-10-14 16:23:16 · 425 阅读 · 0 评论 -
Launcher Drag分析
1.Launcher的图标拖搁从Launcher开始,在Launcher的oncreate方法中设置了长按监听器,当我们长按图标时,会进入到Launcher的onLongClick方法public boolean onLongClick(View v) { if (LauncherLog.DEBUG) { LauncherLog.d(TAG, "on转载 2015-10-08 11:54:15 · 436 阅读 · 0 评论 -
MTK android代码架构
1、android|-- a、bionic - bionic C库|-- b、bootable - 启动引导相关代码|-- c、build - 存放系统编译规则及generic等基础开发包配置|-- d、cts - Android兼容性测试套件标准|-- e、dalvik - dalvik JAVA虚拟机|-- f、development - 应用程序开发相关|--转载 2015-09-14 17:44:13 · 3160 阅读 · 0 评论