上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页
摘要: 需求:WebView中的图片点击后放大全屏查看 通过重写js来实现 阅读全文
posted @ 2018-01-23 09:27 嘉禾世兴 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(十)--Android的消息机制 No1: 在Android中可以扮演线程角色的有很多,比如AsyncTask、IntentService、HandlerThread。 AsyncTask底层封装了线程池和Handler,主要是为了方便开发者在子线程中更 阅读全文
posted @ 2018-01-22 17:23 嘉禾世兴 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 构造方法 参数意义: coreProolSize:线程池核心线程数 maximumPoolSize:线程池所能容纳的最大线程数 keepAliveTime:非核心线程闲置时的超时时长,超过这个时长,非核心线程就会被回收。当ThreadPoolExecutor的allowCoreThreadTimeO 阅读全文
posted @ 2018-01-22 16:36 嘉禾世兴 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(九)--四大组件 No1: 消息队列MessageQueue的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表,因为单链表在插入和删除上比较有优势 No2: ThreadLocal可以在不同的线程中互不干扰地存储并提供数据,通过Thr 阅读全文
posted @ 2018-01-22 11:55 嘉禾世兴 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(八)--WindowManager No1: 四大组件除了BroadcastReceiver,其他三种组件都必须在AndroidManifest中注册。 在调用方式上,除了ContentProvider,其他三种组件都需要借助Intent。 No2: A 阅读全文
posted @ 2018-01-19 16:42 嘉禾世兴 阅读(181) 评论(0) 推荐(0) 编辑
摘要: ContentProvider启动过程(通过query方法触发) ContentProvider.acquireProvider--> ApplicationContentResolver.acquireProvider--> ActivityThread.acquireProvider--> Ac 阅读全文
posted @ 2018-01-19 16:41 嘉禾世兴 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 动态注册过程: ContextWrapper.registerReceiver--> ContextImpl.registerReceiver--> ContextImpl.registerReceiverInternal--> ActivityManagerNative.getDefault(). 阅读全文
posted @ 2018-01-19 15:54 嘉禾世兴 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 重写webview内的方法 原文地址Android webView拦截url 阅读全文
posted @ 2018-01-19 14:37 嘉禾世兴 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 需求: 1.页面上悬浮一个搜索框,点击可伸缩 2.可以搜索上一个下一个 3.搜索标题内容 效果图: 注意点: 1.起始一个搜索小图片,终止一长条搜索框,中间用View做一个动画,这三个都是CardView 2.为了处处使用,封装了起来 3.搜索到的内容放进一个list,保存位置,点击上一个下一个滑动 阅读全文
posted @ 2018-01-19 13:58 嘉禾世兴 阅读(645) 评论(0) 推荐(0) 编辑
摘要: Service两种工作状态的作用 1)启动状态:用于执行后台计算 2)绑定状态:用于其他组件和Service的交互 注意:Service这两种状态可以共存,即Service既可以处于启动状态也可以同时处于绑定状态 Service启动过程 ContextWrapper.startService--> 阅读全文
posted @ 2018-01-16 17:39 嘉禾世兴 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Activity工作过程: Activity.startActivity--> Activity.startActivityForResult--> Instrumentation.execStartActivity--> ActivityManagerNative.getDefault().sta 阅读全文
posted @ 2018-01-16 15:32 嘉禾世兴 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(七)--动画 No1: Window是一个抽象类,它的具体实现是PhoneWindow。创建一个Window是很简单的事,只需要通过WindowManager即可完成。 WindowManager是外界访问Window的入口,Window的具体实现位于W 阅读全文
posted @ 2018-01-15 16:58 嘉禾世兴 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(六)--Drawable No1: 自定义动画:派生一种新动画只需要继承Animation这个抽象类,然后重写它的initialize和applyTransformation方法,在initialize方法中做一些初始化工作,在applyTransfor 阅读全文
posted @ 2018-01-12 15:10 嘉禾世兴 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(五)--RemoteViews 【BitmapDrawable】 简单的图片 【NinePatchDrawable】 .9图 【ShapeDrawable】 通过颜色来构造的图形,即<shape>标签,百度一搜一堆,这里就不写了 【LayerDrawab 阅读全文
posted @ 2018-01-11 16:16 嘉禾世兴 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(四)--View工作原理 No1: RemoteViews使用场景:通知栏和桌面小部件 No2: 通知栏主要通过NotificationManager的notify方法来实现的 桌面小部件是通过AppWidgetProvider来实现的,AppWidge 阅读全文
posted @ 2018-01-11 12:05 嘉禾世兴 阅读(233) 评论(0) 推荐(0) 编辑
摘要: PendingIntent表示一种即将发生的意图,和Intent的区别在于:PendingIntent是在将来的某个不确定的时刻发生,而Intent是立刻发生 典型使用场景是给RemoteViews添加单击事件,想要给RemoteViews设置单击事件,就必须使用PendingIntent 第二个参 阅读全文
posted @ 2018-01-10 15:02 嘉禾世兴 阅读(327) 评论(0) 推荐(0) 编辑
摘要: AppWidgetProvider是android提供实现桌面小部件的类,本质是一个广播,即BroadcastReceiver。是继承关系 开发步骤: 1.在res/layout/下新建一个XML文件,命令为widget.xml,名称和内容可以自定义 2.在res/xml/下新建appwidget_ 阅读全文
posted @ 2018-01-10 14:42 嘉禾世兴 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(三) No1: View的三大流程:测量流程、布局流程、绘制流程 No2: ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。 在Activ 阅读全文
posted @ 2018-01-10 10:04 嘉禾世兴 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(二) No1: 通过MotionEvent对象可以得到点击事件发生的x和y坐标,getX/getY返回的是相对于当前View左上角的x和y坐标,而getRawX/getRawY返回的是相对于手机屏幕左上角的x和y坐标。 No2: TouchSlop是系统 阅读全文
posted @ 2018-01-08 15:54 嘉禾世兴 阅读(552) 评论(0) 推荐(0) 编辑
摘要: No1: ArrayList的扩容策略是,新容量扩大为原来的1.5倍。 ArrayList不是线性安全的,因为没有使用synchronized关键字,但是优点是效率提高了。与之相比,Vector是线性安全的。 ArrayList解决线程不安全的办法就是使用synchronized关键字,哈哈哈 No 阅读全文
posted @ 2017-12-25 14:20 嘉禾世兴 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 转载自http://blog.csdn.net/aiynmimi/article/details/52625709 阅读全文
posted @ 2017-12-22 09:57 嘉禾世兴 阅读(9034) 评论(0) 推荐(0) 编辑
摘要: 需求:合同协议,其中指定内容为红色 效果图: 实现如下: 其中: <![CDATA[。。。。]]>表示其中的内容为html格式 <font color="#E62233"> XXX</font>用来修改字体颜色 <br/>用来回车 加载实现 阅读全文
posted @ 2017-12-14 15:59 嘉禾世兴 阅读(244) 评论(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 嘉禾世兴 阅读(167) 评论(0) 推荐(0) 编辑
摘要: No1: Ctrl+E:显示最近浏览过的文件 Ctrl+Shift+E:显示最近编辑过的文件 Ctrl+Tab:切换最近编辑过的文件 No2: 条件断点:断点右键 No3: 全局断点 这样只要碰到空指针异常就会断点停下来 No4: 断点日志 断点处右击 去掉对勾 输入要打印的日志模板 No5: 多行 阅读全文
posted @ 2017-12-11 17:14 嘉禾世兴 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 原理:先往图库中插入图片路径,然后发送广播通知更新图库列表 参考文档:http://stormzhang.com/android/2014/07/24/android-save-image-to-gallery/ 阅读全文
posted @ 2017-12-08 10:18 嘉禾世兴 阅读(173) 评论(0) 推荐(0) 编辑
摘要: No1: 用户能体验到的性能问题主要总结为4类:流畅、稳定、省电、省流量 No2: Android Studio的优势: 1)稳定速度快:Android Studio使用了单项目管理模式 2)功能强大的UI编辑器:集合了Eclipse+ADT的优点,实时展示界面布局 3)支持多种插件,在线下载 4) 阅读全文
posted @ 2017-12-06 17:20 嘉禾世兴 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 【简单工厂、工厂方法、抽象工厂、Builder模式的区别】 No1: 核心定义: 1)简单工厂模式:一个工厂方法创建不同类型的对象 2)工厂方法模式:一个具体的工厂类负责创建一个具体对象类型 3)抽象工厂模式:一个具体的工厂类负责创建一系列相关的对象 4)Builder模式:对象的构建与表示分离,它 阅读全文
posted @ 2017-12-05 15:07 嘉禾世兴 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: No1: Model一般用来保持程序的数据状态,比如数据存储、网络请求等 No2: Android开发中应用到MVC的地方:比如ListView与Adapter,如果把ListView看作View层,那么Adapter则可以看作Controller,获取ListView展示数据的相关实现类则看作Mo 阅读全文
posted @ 2017-12-05 14:19 嘉禾世兴 阅读(275) 评论(0) 推荐(0) 编辑
摘要: No1: 享元模式是对象池的一种实现。享元模式用来尽可能减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存移除等。 No2: UI不能够在子线程中更新。因为并不是UI不可以在子线程更新,而是UI不可以在不是 阅读全文
posted @ 2017-12-04 16:16 嘉禾世兴 阅读(498) 评论(0) 推荐(0) 编辑
摘要: No1: Activity继承于ContextThemeWrapper,继承于ContextWrapper,继承于Context。 No2: Context中方法的所有实现均由ContextImpl类承担。 No3: 启动一个Activity需要3个非常重要的对象:Application、Conte 阅读全文
posted @ 2017-12-04 14:34 嘉禾世兴 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 需求: 屏幕中间弹出一个对话框,动画效果从中间伸展放大,背景变暗,消失向中间缩小,背景变亮 阅读全文
posted @ 2017-11-23 11:30 嘉禾世兴 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 需求: 页面顶部搜索框背景色随着列表的滑动而变色,中间有渐变的效果,如下图 思路:布局画两个起始(透明度为1)和结束(透明度为0)状态的layout,根据滑动的距离,起始布局的透明度逐渐变成0,结束布局的透明度逐渐变成1 阅读全文
posted @ 2017-11-20 15:41 嘉禾世兴 阅读(451) 评论(0) 推荐(0) 编辑
摘要: No1: 模板方法模式包括:抽象类(其中定义了一系列顺序方法)、具体实现类A、具体实现类B 如果子类有实现不一样的细节,重写父类的某个方法即可 No2: AsyncTask对象调用execute方法后会依次执行onPreExecute、doInBackground、onPostExecute或onP 阅读全文
posted @ 2017-11-03 18:19 嘉禾世兴 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 【状态模式】 No1: Wifi设置界面是一个叫做WifiSetting的Fragment实现的 No2: 在不同的状态下对于扫描Wifi这个请求的处理是完全不一样的。在初始状态下扫描请求被直接忽略,在驱动加载中状态下Wifi扫描请求被添加到延迟处理的消息列表,在驱动加载完成状态下扫描Wifi的请求 阅读全文
posted @ 2017-11-01 13:43 嘉禾世兴 阅读(554) 评论(0) 推荐(0) 编辑
摘要: No1: 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 No2: 使用场景: 1)针对同一类型问题的多种处理方式,仅仅是具体行为有差别时 2)需要安全的封装多种同一类型的操作时 3)出现同一抽象类有多个子类,而又需要 阅读全文
posted @ 2017-11-01 11:30 嘉禾世兴 阅读(727) 评论(0) 推荐(0) 编辑
摘要: No1: 4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer、NuPlayerDriver、MidiFile和TestPlayerStub。四者均继承与MediaPlayerBase。 No2: 抽象工厂模式在android源码中 阅读全文
posted @ 2017-10-31 15:58 嘉禾世兴 阅读(390) 评论(0) 推荐(0) 编辑
摘要: No1: 对于一个应用程序来说,其真正的入口是在ActivityThread类中,ActivityThread中含有我们熟悉的main方法。ActivityThread是一个final类,不能被继承。当Zygote进程孵化出一个新的应用进程猴,会执行ActivityThread的main方法,mai 阅读全文
posted @ 2017-10-31 15:12 嘉禾世兴 阅读(227) 评论(0) 推荐(0) 编辑
摘要: No1: 原型模式使用场景: 1)类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等,通过原型复制避免这些消耗 2)通过new产生一个对象需要非常繁琐的数据准备货访问权限,这是可以使用原型模式 3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式复制多 阅读全文
posted @ 2017-10-31 11:16 嘉禾世兴 阅读(1132) 评论(0) 推荐(0) 编辑
摘要: No1: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 No2: 在Android源码中,最常用到的Builder模式就是AlertDialog.Builder No3: WindowManager在java层的具体实现是WindowManagerImpl,Window对 阅读全文
posted @ 2017-10-30 17:25 嘉禾世兴 阅读(341) 评论(0) 推荐(0) 编辑
摘要: No1: 懒汉单例模式优缺点分析 优点:单例只有在使用时才会被实例化,在一定程度上节约了资源 缺点:第一次加载时需要及时进行实例化,反应稍慢,最大的问题是每次调用getInstance都进行同步,造成不必要的同步开销。 所以这种模式一般不建议使用 No2: Double Check Lock(DCL 阅读全文
posted @ 2017-10-30 15:26 嘉禾世兴 阅读(259) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页