上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: AppWidgetProvider是android提供实现桌面小部件的类,本质是一个广播,即BroadcastReceiver。是继承关系 开发步骤: 1.在res/layout/下新建一个XML文件,命令为widget.xml,名称和内容可以自定义 2.在res/xml/下新建appwidget_ 阅读全文
posted @ 2018-01-10 14:42 嘉禾世兴 阅读(414) 评论(0) 推荐(0)
摘要: 接上篇《android开发艺术探索》读书笔记(三) No1: View的三大流程:测量流程、布局流程、绘制流程 No2: ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。 在Activ 阅读全文
posted @ 2018-01-10 10:04 嘉禾世兴 阅读(237) 评论(0) 推荐(0)
摘要: 接上篇《android开发艺术探索》读书笔记(二) No1: 通过MotionEvent对象可以得到点击事件发生的x和y坐标,getX/getY返回的是相对于当前View左上角的x和y坐标,而getRawX/getRawY返回的是相对于手机屏幕左上角的x和y坐标。 No2: TouchSlop是系统 阅读全文
posted @ 2018-01-08 15:54 嘉禾世兴 阅读(569) 评论(0) 推荐(0)
摘要: No1: ArrayList的扩容策略是,新容量扩大为原来的1.5倍。 ArrayList不是线性安全的,因为没有使用synchronized关键字,但是优点是效率提高了。与之相比,Vector是线性安全的。 ArrayList解决线程不安全的办法就是使用synchronized关键字,哈哈哈 No 阅读全文
posted @ 2017-12-25 14:20 嘉禾世兴 阅读(177) 评论(0) 推荐(0)
摘要: 转载自http://blog.csdn.net/aiynmimi/article/details/52625709 阅读全文
posted @ 2017-12-22 09:57 嘉禾世兴 阅读(9072) 评论(0) 推荐(0)
摘要: 需求:合同协议,其中指定内容为红色 效果图: 实现如下: 其中: <![CDATA[。。。。]]>表示其中的内容为html格式 <font color="#E62233"> XXX</font>用来修改字体颜色 <br/>用来回车 加载实现 阅读全文
posted @ 2017-12-14 15:59 嘉禾世兴 阅读(258) 评论(0) 推荐(0)
摘要: No1: AAPT资源打包工具 No2: ADB用于电脑和手机间的通信 No3: Android Device Monitor:监视Android设备的工具 No4: draw9patch:制作点9图 No5: Hierarchy Viewer:检测UI性能 No6: Process Stats:监 阅读全文
posted @ 2017-12-12 12:06 嘉禾世兴 阅读(172) 评论(0) 推荐(0)
摘要: No1: Ctrl+E:显示最近浏览过的文件 Ctrl+Shift+E:显示最近编辑过的文件 Ctrl+Tab:切换最近编辑过的文件 No2: 条件断点:断点右键 No3: 全局断点 这样只要碰到空指针异常就会断点停下来 No4: 断点日志 断点处右击 去掉对勾 输入要打印的日志模板 No5: 多行 阅读全文
posted @ 2017-12-11 17:14 嘉禾世兴 阅读(843) 评论(0) 推荐(0)
摘要: 原理:先往图库中插入图片路径,然后发送广播通知更新图库列表 参考文档:http://stormzhang.com/android/2014/07/24/android-save-image-to-gallery/ 阅读全文
posted @ 2017-12-08 10:18 嘉禾世兴 阅读(188) 评论(0) 推荐(0)
摘要: No1: 用户能体验到的性能问题主要总结为4类:流畅、稳定、省电、省流量 No2: Android Studio的优势: 1)稳定速度快:Android Studio使用了单项目管理模式 2)功能强大的UI编辑器:集合了Eclipse+ADT的优点,实时展示界面布局 3)支持多种插件,在线下载 4) 阅读全文
posted @ 2017-12-06 17:20 嘉禾世兴 阅读(211) 评论(0) 推荐(0)
摘要: 【简单工厂、工厂方法、抽象工厂、Builder模式的区别】 No1: 核心定义: 1)简单工厂模式:一个工厂方法创建不同类型的对象 2)工厂方法模式:一个具体的工厂类负责创建一个具体对象类型 3)抽象工厂模式:一个具体的工厂类负责创建一系列相关的对象 4)Builder模式:对象的构建与表示分离,它 阅读全文
posted @ 2017-12-05 15:07 嘉禾世兴 阅读(1500) 评论(0) 推荐(0)
摘要: No1: Model一般用来保持程序的数据状态,比如数据存储、网络请求等 No2: Android开发中应用到MVC的地方:比如ListView与Adapter,如果把ListView看作View层,那么Adapter则可以看作Controller,获取ListView展示数据的相关实现类则看作Mo 阅读全文
posted @ 2017-12-05 14:19 嘉禾世兴 阅读(286) 评论(0) 推荐(0)
摘要: No1: 享元模式是对象池的一种实现。享元模式用来尽可能减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存移除等。 No2: UI不能够在子线程中更新。因为并不是UI不可以在子线程更新,而是UI不可以在不是 阅读全文
posted @ 2017-12-04 16:16 嘉禾世兴 阅读(511) 评论(0) 推荐(0)
摘要: No1: Activity继承于ContextThemeWrapper,继承于ContextWrapper,继承于Context。 No2: Context中方法的所有实现均由ContextImpl类承担。 No3: 启动一个Activity需要3个非常重要的对象:Application、Conte 阅读全文
posted @ 2017-12-04 14:34 嘉禾世兴 阅读(306) 评论(0) 推荐(0)
摘要: 需求: 屏幕中间弹出一个对话框,动画效果从中间伸展放大,背景变暗,消失向中间缩小,背景变亮 阅读全文
posted @ 2017-11-23 11:30 嘉禾世兴 阅读(392) 评论(0) 推荐(0)
摘要: 需求: 页面顶部搜索框背景色随着列表的滑动而变色,中间有渐变的效果,如下图 思路:布局画两个起始(透明度为1)和结束(透明度为0)状态的layout,根据滑动的距离,起始布局的透明度逐渐变成0,结束布局的透明度逐渐变成1 阅读全文
posted @ 2017-11-20 15:41 嘉禾世兴 阅读(472) 评论(0) 推荐(0)
摘要: No1: 模板方法模式包括:抽象类(其中定义了一系列顺序方法)、具体实现类A、具体实现类B 如果子类有实现不一样的细节,重写父类的某个方法即可 No2: AsyncTask对象调用execute方法后会依次执行onPreExecute、doInBackground、onPostExecute或onP 阅读全文
posted @ 2017-11-03 18:19 嘉禾世兴 阅读(325) 评论(0) 推荐(0)
摘要: 【状态模式】 No1: Wifi设置界面是一个叫做WifiSetting的Fragment实现的 No2: 在不同的状态下对于扫描Wifi这个请求的处理是完全不一样的。在初始状态下扫描请求被直接忽略,在驱动加载中状态下Wifi扫描请求被添加到延迟处理的消息列表,在驱动加载完成状态下扫描Wifi的请求 阅读全文
posted @ 2017-11-01 13:43 嘉禾世兴 阅读(572) 评论(0) 推荐(0)
摘要: No1: 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 No2: 使用场景: 1)针对同一类型问题的多种处理方式,仅仅是具体行为有差别时 2)需要安全的封装多种同一类型的操作时 3)出现同一抽象类有多个子类,而又需要 阅读全文
posted @ 2017-11-01 11:30 嘉禾世兴 阅读(750) 评论(0) 推荐(0)
摘要: No1: 4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer、NuPlayerDriver、MidiFile和TestPlayerStub。四者均继承与MediaPlayerBase。 No2: 抽象工厂模式在android源码中 阅读全文
posted @ 2017-10-31 15:58 嘉禾世兴 阅读(407) 评论(0) 推荐(0)
摘要: No1: 对于一个应用程序来说,其真正的入口是在ActivityThread类中,ActivityThread中含有我们熟悉的main方法。ActivityThread是一个final类,不能被继承。当Zygote进程孵化出一个新的应用进程猴,会执行ActivityThread的main方法,mai 阅读全文
posted @ 2017-10-31 15:12 嘉禾世兴 阅读(244) 评论(0) 推荐(0)
摘要: No1: 原型模式使用场景: 1)类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等,通过原型复制避免这些消耗 2)通过new产生一个对象需要非常繁琐的数据准备货访问权限,这是可以使用原型模式 3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式复制多 阅读全文
posted @ 2017-10-31 11:16 嘉禾世兴 阅读(1160) 评论(0) 推荐(0)
摘要: No1: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 No2: 在Android源码中,最常用到的Builder模式就是AlertDialog.Builder No3: WindowManager在java层的具体实现是WindowManagerImpl,Window对 阅读全文
posted @ 2017-10-30 17:25 嘉禾世兴 阅读(349) 评论(0) 推荐(0)
摘要: No1: 懒汉单例模式优缺点分析 优点:单例只有在使用时才会被实例化,在一定程度上节约了资源 缺点:第一次加载时需要及时进行实例化,反应稍慢,最大的问题是每次调用getInstance都进行同步,造成不必要的同步开销。 所以这种模式一般不建议使用 No2: Double Check Lock(DCL 阅读全文
posted @ 2017-10-30 15:26 嘉禾世兴 阅读(273) 评论(0) 推荐(0)
摘要: 1.单一职责原则 Single Respoonsibility Principle(SRP) --封装 2.开闭原则 Open Close Principle(OCP)--对扩展开放,对修改封闭 3.里式替换原则 Liskov Substitution Principle(LSP)--所有引用基类的 阅读全文
posted @ 2017-10-30 11:02 嘉禾世兴 阅读(271) 评论(0) 推荐(0)
摘要: No1: 实现语言无关性的基础仍然是虚拟机和字节码存储格式,虚拟机只与Class文件这种特定的二进制文件格式所关联,并不关心Class的来源是何种语言。 No2: Class文件是一组以8位字节为基础单位的二进制流,整个Class文件本质上就是一张表 No3: 常量池可以理解为Class文件中的资源 阅读全文
posted @ 2017-10-23 10:21 嘉禾世兴 阅读(215) 评论(0) 推荐(0)
摘要: 效果图: 需求: 刚进入视频播放页时,屏幕中间有加载进度条 视频播放过程中,视频界面不动了,正在缓冲时,屏幕中间有加载进度条 这里有些坑要注意: 1.本来我是想通过MediaPlayer.setOnBufferingUpdateListener得到缓冲进度和播放进度比较来判断是否显示,结果发现缓冲进 阅读全文
posted @ 2017-10-20 17:54 嘉禾世兴 阅读(1076) 评论(0) 推荐(0)
摘要: No1: Java在内存分配时会涉及到以下区域: 寄存器:我们在程序中无法控制 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆:存放用new产生的数据 静态域:存放在对象中用static定义的静态成员 常量池:存放常量 非RAM存储:硬盘等永久存储空间 No2: 栈中 阅读全文
posted @ 2017-10-19 17:37 嘉禾世兴 阅读(2515) 评论(0) 推荐(0)
摘要: No1: 虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离的环境中的完整计算机系统。 No2: Java虚拟机由如下五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆、一个方法区域。 No3: Java虚拟机中有4种寄存器: 1)pc:Java程序计数器 2)opto 阅读全文
posted @ 2017-10-13 16:42 嘉禾世兴 阅读(652) 评论(0) 推荐(0)
摘要: No1: 操作系统层包括各种驱动程序:显示、Flash内存、照相机、音频、WiFi、键盘、蓝牙、Binder IPC、能源管理。 各种库和Android运行环境大多是用C和C++实现的。 Android运行环境主要指虚拟机技术 Dalvik。 Java VM是基于栈的虚拟机,而Dalvik是基于寄存 阅读全文
posted @ 2017-10-13 14:25 嘉禾世兴 阅读(642) 评论(0) 推荐(0)
摘要: 需求:输入密码必须为字母、数字或特殊字符 方法一: 方法二: 方法一是将每个字符转为ASCII码,方法二是将每个字符匹配正则 阅读全文
posted @ 2017-10-12 16:36 嘉禾世兴 阅读(303) 评论(0) 推荐(0)
摘要: No1: 线程安全:当多个线程访问一个对象时,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。 No2: java语言中各种操作共享的数据分为以下5类:不可变、绝对线程安全 阅读全文
posted @ 2017-10-11 17:49 嘉禾世兴 阅读(165) 评论(0) 推荐(0)
摘要: No1. No2. java内存模型规定了所有的变量都存储在主内存中(Main Memory)中 每条线程还有自己的工作内存(Working Memory) 线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写主内存中 阅读全文
posted @ 2017-10-11 16:16 嘉禾世兴 阅读(285) 评论(0) 推荐(0)
摘要: 效果图: 需求:每个item的文字都有两部分是连接可点击 当然需要用到SpannableString和ClickableSpan。 注意: 1.继承ClickableSpan用来改链接颜色和去掉下划线 2.文字的每个部分的链接都要单独生成一个SpannableString和ClickableSpan 阅读全文
posted @ 2017-10-11 10:39 嘉禾世兴 阅读(497) 评论(0) 推荐(0)
摘要: 效果图: 1.顶部会悬浮章的部分 2.第二章上滑会推挤第一章 3.第二章下拉会带出第一章 4.并不是所有时候都有悬浮部分(为什么这条标红,因为市面上几乎所有的悬浮都是必须存在且在顶部,害的我必须自己写) 如果你要的只是和IOS通讯录相似的效果,即总有一行悬浮在顶部,百度stickyItemDecor 阅读全文
posted @ 2017-09-22 15:53 嘉禾世兴 阅读(595) 评论(0) 推荐(0)
摘要: No1: 物理机的执行引擎是直接建立在处理器、硬件、指令集合操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。 No2: 执行引擎在执行java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即 阅读全文
posted @ 2017-09-18 14:50 嘉禾世兴 阅读(238) 评论(0) 推荐(0)
摘要: No1: 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭:栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上市在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题,因为方法结束或者 阅读全文
posted @ 2017-09-13 15:53 嘉禾世兴 阅读(202) 评论(0) 推荐(0)
摘要: No1: java虚拟机所管理的内存将会包括以下几个运行时数据区域 1.方法区 2.虚拟机栈 3.本地方法栈 4.堆 5.程序计数器 No2: 程序计数器: 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚 阅读全文
posted @ 2017-09-13 09:57 嘉禾世兴 阅读(210) 评论(0) 推荐(0)
摘要: 效果图: 1.切换横竖屏 2.重力感应切换横竖屏 3.判断网络状态 videoview布局: 网络状态监听广播 提示对话框 重力感应 有几个需要注意的坑 1.ijkVideoView的setVideoPath方法是直接播放的,但是setOnPreparedListener准备是需要时间的,如果4G进 阅读全文
posted @ 2017-08-30 15:55 嘉禾世兴 阅读(600) 评论(0) 推荐(0)
摘要: 布局: 风格: selector java类: 调用: 封装起来更好用 阅读全文
posted @ 2017-08-30 10:31 嘉禾世兴 阅读(531) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页