自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦工厂

你才20几岁,你可以成为任何你想成为的人

  • 博客(69)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android 跨进程通信(IPC)机制的探索与研究

概述Android中IPC机制的由来Android中的跨进程场景进程间通信的影响跨进程通信方式文件共享BundleAIDL(1)创建AIDL接口(2)根据AIDL创建远程Service服务(3)绑定远程Service服务Messenger(1)创建服务端Messenger(2)创建客户端Messenger(3)绑定远程服务端ContentProvider...

2018-04-11 10:26:47 3261 1

原创 Retrofit2使用案例及源码解析

Retrofit2是一个基于OkHttp进行封装的网络请求框架,Retrofit中使用了大量的@GET、@POST这类注解方法,刚开始学习的时候会感觉特别的不适应,但只要理解了这些注解方法和使用逻辑,会发现网络请求也可以做的很优雅一、案例 先写一个简单的程序跑起来,再详细讲解 首先添加依赖compile 'com.squareup.retrofit2:retrofit:2.1.0'

2016-12-27 22:27:12 3356

原创 Android View绘制三大流程探索及常见问题

View绘制的三大流程,指的是measure(测量)、layout(布局)、draw(绘制) measure负责确定View的测量宽/高,也就是该View需要占用屏幕的大小,确定完View需要占用的屏幕大小后,就会通过layout确定View的最终宽/高和四个顶点在手机界面上的位置,等通过measure和layout过程确定了View的宽高和要显示的位置后,就会执行draw绘制View的内容到手机

2016-12-20 16:14:35 5116

原创 Android 坐标系与视图坐标系图解

1.Android坐标系在Android中,将屏幕的最左上角顶点作为Android坐标系的原点 从原点向右是X轴的正方向,从原点向下是Y轴的正方向View提供了getLocationOnScreen( int[] location)方法来获取在整个屏幕内的绝对坐标,该坐标值为View左上角的坐标。注意该View的坐标值是从屏幕左上角开始获取的,所以也包括了通知栏的高度 该方法的具体实现

2016-09-04 21:34:10 3789

原创 Android避免内存溢出(Out of Memory)方法总结

避免内存溢出的方法,主要是对以下三个方面对程序进行优化内存引用在处理内存引用之前,我们先来复习下什么是强引用、软引用、弱引用、虚引用强引用:强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。

2016-08-02 20:21:00 10236

原创 Python-pptx教程之二操作已有PPT模板文件

通过阅读本篇文章,可以进一步加深对python-pptx框架的掌握,掌握如何通过ID找到对应的shape控件,了解了如何正确的修改幻灯片中的文本内容和图片资源,以及操作删除幻灯片的方法,还可掌握如何方便的取出PPT文件中所有的文本内容和图片资源

2023-11-16 18:18:22 1663

原创 Python-pptx教程之一从零开始生成PPT文件

python-pptx是一个用于创建、读取和更新PowerPoint(.pptx)文件的python库。典型的用途是根据动态内容(如数据库查询、分析数据等),将这些内容自动化生成PowerPoint演示文稿,将数据可视化,方便查看我们也可以用它做办公自动化,定义一套模板,然后根据给出的内容批量生成PPT文件,大大提高我们的办公效率

2023-10-24 17:16:11 2777 1

原创 Android 自定义View一个控件搞定多种水波纹涟漪扩散效果

效果图实现思路这个效果实现起来并不难,重要的是思路 此View满足了多种水波纹涟漪扩散效果,这要求它能满足很多的变化 根据上面的样式,可以看出此View需要满足以下变化圆圈从中心可循环向外扩散圆圈之间的扩散间距可以改变可控制扩散圆的渐变度圆圈可以是线条样式或者实心样式圆圈扩散的速度可以控制适配圆圈不同大小下的扩散效果具体实现创建自定义属性首...

2018-03-19 10:16:19 9350 5

原创 Android 使用jQuery实现item点击显示或隐藏的特效

效果图 分析上图中的功能在很多APP上都可能用到过,例如app的帮助界面,告诉用户如何使用APP一般的实现方式都是通过ListView来实现的,实际上此类需求非常简单,完全可以用WebView加载HTML来实现抽屉样式的显示隐藏特效可以使用jQuery来实现,一个函数就可以搞定实现集成jQuery网页中需要使用到jQuery,最新版本可以去官网下载 ...

2018-03-05 10:37:09 2080

原创 Android 自定义View之八等份仪表盘

效果图实现思路首先拆解这个View,可以分成四个部分来绘制外圆刻度部分,包含最外面的刻度圆和里面对应的数值,此外圆分为八个等份,每等份中包含五个小等份,所以总共需要40个刻度。这里不是一个完整的圆,此外圆部分占一个完整圆的240度内圆刻度部分,此处总共有100个刻度,与外圆刻度保持着对应关系,进度发生改变时需要改变对应部分的颜色,超过外圆刻度6部分的颜色需要变成红色指针部分,指针由一个中间的圆

2017-08-31 11:41:29 4112 2

原创 Android 自定义View之仿华为圆形加载进度条

效果图实现思路可以看出该View可分为三个部分来实现最外围的圆,该部分需要区分进度圆和底部的刻度圆,进度部分的刻度需要和底色刻度区分开来中间显示的文字进度,需要让文字在View中居中显示旋转的小圆点,小圆点需要模拟小球下落运动时的加速度效果,开始下落的时候慢,到最底部时最快,上来时速度再逐渐减慢具体实现先具体细分讲解,博客最后面给出全部源码(1)首先为View创建自定义的xml属性 在工程

2017-08-25 09:54:14 5427 5

原创 Android Retrofit报错NoClassDefFoundError异常

使用Retrofit 2时踩了个坑,自己封装的Retrofit工具在4.4的手机上跑崩了,测试了下机型,发现在Android 5.x以上的手机就不会出现这样的情况,而在Android 4.x手机上这个问题是必现的错误信息java.lang.NoClassDefFoundError: retrofit2.Retrofit$Builder一看到这个错误信息,马上联想到是否是类缺失了,但

2017-08-18 14:49:47 2480

原创 Android 汉字转拼音的多种实现方式

汉字转拼音是我们在开发中经常会使用到的功能,比如在进行汉字排序、拼音检索时就需要将汉字转成拼音 这里介绍几个常用的处理方法pinyin4jjpinyinASCII码映射TinyPinyin需要测试生僻字的可以用以下链接中的文字 http://xh.5156edu.com/page/z4745m2559j18770.html一、使用pinyin4j开源库使用此方法需要添加依赖jar包

2017-08-14 09:39:14 19204 2

原创 Android 使GridView横向水平滚动的实现方式

Android为我们提供了竖直方向的滚动控件GridView,但如果我们想让它水平滚动起来,就需要自己实现了。一、单行横向显示gif实现思路在代码中动态设置GridView的NumColumns,使其等于GridView要显示的数据集合大小。动态设置item项宽度,结合数据集合大小来设置GridView的总宽度。使用HorizontalScrollView包裹Grid

2017-05-02 10:52:04 22360 12

原创 Android 新安全机制之动态权限申请

Android6.0的SDK,对权限的申请机制发生了一些变化。 在Android6.0之前,用户安装APP时就要为其授予对应的权限,不然程序就无法安装,而6.0之后,我们可以直接安装,并可对应用的权限进行管理,这样极大的保护了用户的隐私,但也给我们开发人员造成了些小麻烦(测试人员经常提单反映说某个功能未实现,其实是把权限关闭造成的)Google将应用的权限分为两类Normal Perm

2016-12-05 23:07:40 2288 2

原创 Toast使用小技巧-防止重复创建

Toast是我们在Android开发中经常被使用到的 我们在创建Toast时,都是这么写:Toast.makeText(context, "message", Toast.LENGTH_SHORT).show();一般来说这样写是没有问题的,但是当用户多次连续触发Toast时,这样写的缺点就体现出来了: 多个Toast会排队等待显示,这样的用户体验非常差 不只是重复显示的问题,每调用一次mak

2016-11-09 16:43:14 3218 1

原创 Android 实现WebView与JavaScript的互相调用

很多复杂的UI界面,在Android中需要配合大量xml代码和java代码实现,而使用HTML5可以非常轻松的实现出来,而且具有很好的跨平台特性,让我们不必为了多个平台而重写代码,H5学习成本也较低,上手快。虽然从目前来说H5在Android系统中的速度可能还欠佳一些,但相信随着手机的性能不断的提高,这些问题都会被解决使用H5开发Android的UI界面,最重要的就是如何实现Js代码和Java代码之

2016-11-03 12:32:12 2037 3

原创 实现炫酷的获取本地图片和相机拍照图片-自定义组件

IOS中有封装好的选择图片后长按出现动画删除效果,效果如下 而Android找了很久都没有找到有这样效果的第三方组件,最后懒得找了还是自己实现这效果吧选择图片后还可对图片进行可以剪裁 当然,代码中还有很多不完善的地方,我接下来会继续完善这个组件的 已经上传到开源社区,欢迎大家来Star啊~Demo源码:传送门设计中的碰到的一些问题和解决思路1.如何让加号图片显示在GridView最后面首先

2016-09-08 23:44:20 3284

原创 Android 使用CoordinatorLayout实现滚动标题栏效果

在Material Design里,CoordinatorLayout通常用来作为顶层视图,来协调处理各个子View之间的动作,从而实现各种动画效果,如Snackbar与FloatingActionButton的配合显示效果,就是以CoordinatorLayout作为根布局来实现的CoordinatorLayout提供Behaviors接口,子View通过实现Behaviors接口来协调和其它Vi

2016-09-05 22:39:07 12441 1

原创 Android ListView监听滑动事件的方法

ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener1.OnTouchListenerOnTouchListener方法来自View中的监听事件,可以在监听三个Action事件发生时通过MotionEvent的getX()方法或getY()方法获取到当前触摸的坐标值,来对用户的滑动方向进行判断,并可在不同的Action状态中做出相应的处理

2016-09-03 23:39:42 27767 3

原创 Android FloatingActionButton使用方法及小技巧-design

FloatingActionButton(简称FAB)的使用方法非常的简单和一个普通控件一样,在xml布局文件中定义(记得导入Design包) <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content"

2016-08-30 23:02:38 12910

原创 Android 图片Drawable类型之Level List

Level List类型的图形用来管理一组可进行切换的图片 系统会根据level值来自动匹配对应的图片,如手机wifi的信号强度图标,电量剩余图标,就是通过Level List类型来显示的 语法: <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.andr

2016-08-28 21:21:55 4246

原创 Android 图片Drawable类型之State List

状态列表图形,根据不同的状态呈现不同的显示效果,如点击Button时,不同状态下显示不同的背景图片,这是我们常用的一种Drawable类型语法: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" andro

2016-08-27 22:20:34 1960

原创 Android Snackbar使用方法及小技巧-design

Snackbar和Toast相似,都是为了给用户提供交互信息,Snackbar是固定在底部的,显示时从下往上滑出要使用Snackbar,需要在项目的build.gradle中添加依赖dependencies { compile 'com.android.support:design:23.4.0'}Snackbar的使用方法和Toast很相似Snackbar.make(mOpenTv,

2016-08-24 23:04:41 17895 5

原创 Fiddler小技巧-测试上传文件接口

相信用过Fiddler的同学都清楚,Fiddler是个强大好用的调试工具 当服务器端的同学把服务器布置好后,移动端的同学如果要先写好代码再一个一个的对api接口进行调试的话,效率非常的低,这个时候就可以使用Fiddler对服务端的api接口进行调试了,一般来说,只要Fiddler测试通过了的api接口,都可以在手机里面跑通的 这里以上传图片为例,介绍下如何使用Fiddler测试上传文件接口打开F

2016-08-23 14:41:20 11290

原创 Android 使用TabLayout制作下划线能滑动的Tab标签页-design

google提供的Design开发包里,有很多实用好看的新控件,这里介绍下使用TabLayout+ViewPager实现下划线能滑动的Tab标签页效果图 不使用google的desgin包,我们也可以自己制作这样的效果,详看这篇这篇博客:http://blog.csdn.net/zhuwentao2150/article/details/51407661要使用Design包,在项目的build

2016-08-22 22:47:08 8148 1

原创 Android 图片Drawable类型之Layer List

层列表图像Layer List,可以使用多张图片合成一张图片,有点像PS中的图层叠加效果 语法: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item

2016-08-21 19:12:03 5675

原创 Android 简单的自定义Dialog

效果图 Dialog的详细用法看这篇博客:http://blog.csdn.net/zhuwentao2150/article/details/51478053我们自定义的CustomDialog是通过继承Dialog类并添加自定义的布局来实现的/** * 自定义Dialog弹窗 * Created by zhuwentao on 2016-08-19. */public class Cu

2016-08-19 23:25:02 8540

原创 Android 使用Toolbar制作标题栏-design

Toolbar是Android5.0的时候推出的,为了向下兼容,我们使用的时候应该引入support.v7的包,并使用里面的android.support.v7.widget.Toolbar效果图 布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.

2016-08-17 18:16:03 3555

原创 Android 实现侧滑菜单-design

google提供的Design开发包里,有很多实用好看的新控件,这里介绍下使用DrawerLayout+NavigationView实现侧滑菜单效果要使用Design包,只要在项目的build.gradle中添加下依赖就好(记得更新SDK到最新版本)dependencies { compile 'com.android.support:design:23.4.0'}使用起来很简单,我们基

2016-08-16 23:54:53 5003 2

原创 Android 处理图片放大缩小时报错java.lang.IllegalArgumentException: pointerIndex out of range pointerIndex=-1 ...

完整的错误信息:java.lang.IllegalArgumentException: pointerIndex out of range pointerIndex=-1 pointerCount=1 at android.view.MotionEvent.nativeGetAxisValue(Native Method) at android.view.MotionEve

2016-08-14 23:08:08 9803

原创 Android 使用Notification创建推送通知

创建方法首先要获取一个NotificationManager管理对象NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);NotificationManager 是一个系统 Service,所以需要通

2016-08-13 00:06:59 6873 1

原创 Android 使用PopupWindow实现下拉列表

来看效果图:在实现这个效果前,先来了解下PopupWindow的常用方法构造方法在实例化PopupWindow窗口时,需要我们自己传入窗口的界面视图和窗口的尺寸 实例化PopupWindow的方法常用以下几种public PopupWindow(View contentView)public PopupWindow(int width, int height)public PopupWindo

2016-08-10 22:34:29 17041 3

原创 Android 自定义Animation实现View摇摆效果

使用自定义Animation,实现View的左右摇摆效果,如图所示:代码很简单,直接上源码activity_maini.xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layou

2016-08-08 23:37:20 6459

原创 Android 巧用正则表达式+TextWatcher实时限制用户输入

一般我们在限制用户输入的时候,都是要等到用户在EditText里面输入了文本后,点击某个按钮,再去校验用户的输入是否符合规范。

2016-08-05 09:52:30 6092 1

原创 使用Calendar获取DAY_OF_WEEK本周开始和结束的时间戳

和获取今日开始和结束的时间戳一样,本周开始和结束的时间戳,就是以本周第一天开始的00:00到本周最后一天的23:59分结束。需要注意的是,国际上是以星期日为一周第一天的开始,Calendar中提供的DAY_OF_WEEK获取的一周也是以星期日作为一周的开始。而中国的习惯是以星期一作为一周的开始,所以需要根据项目的实际需求来设置。1、以星期日作为一周的开始/***

2016-08-01 12:56:41 53344 1

原创 使用Android Studio开发NDK

1、NDK开发环境配置在使用NDK之前,需要下载NDK支持包可以先去网站下载好包再导入到AndroidStudio中  NDK下载地址:https://developer.android.com/ndk/downloads/index.html或者直接在AndroidStudio中下载这里我已经下载好并配置到AndroidStudio了

2016-07-31 00:35:30 3030

原创 AndroidStudio R文件莫名其妙缺失的解决方法

今天Android Studio提示我这个东东。。。为了加快Gradle的构建速度,我点击了“Update”。。。之后工程一片红,全是R文件缺失正常情况下,R文件缺失时,我们只需要使用Build -> Clean Project 和 Build -> Rebuild Project 重构下工程就可以了,但是我反复重构都没有用这就纳闷了,折腾了半天后,在Message

2016-07-26 23:57:27 13745 2

原创 Android 解决部分手机拍照后获取的图片被旋转的问题

最近又被测试MM找茬了,调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的。。。其它品牌的手机都是正常的,就三星出现这个怪事。在Android适配上,我原来一直以为国内的小米手机够奇葩了,结果还有更奇葩的!你说你没事旋转照片干啥,实在是猜不透其居心何在,纯粹是在给开发者制造麻烦啊!解决办法是获取到拍照后照片被旋转的角度,再旋转回去就

2016-07-23 00:24:35 23921 17

原创 Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类

最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下6个功能:1、获取手机制造厂商2、获取手机型号3、获取手机系统当前使用的语言4、获取Android系统版本号5、获取手机IMEI串号6、获取手机中的语言列表SystemUtil类/** * 系统工具类 * Created by zhuwentao on 2016

2016-07-18 23:18:33 98807 6

Android 巧用正则表达式+TextWatcher实时限制用户输入

一般我们在限制用户输入的时候,都要等到用户在EditText里面输入了文本后,点击某个按钮,再去校验用户的输入是否符合规范。 我介绍个新方法,可以在用户输入不规范的字符后,还没在EditText里显示出来时,就把用户的错误输入给忽略掉,不显示在EditText中,只有当用户输入了符合规范的字符时才能在EditText中显示出来。

2016-08-05

详解-Android各种提示框

Android各种提示框的实现 博客地址: http://blog.csdn.net/zhuwentao2150/article/details/51478053

2016-05-23

Android下划线能滑动的Tab标签页

Android下划线能滑动的Tab标签页,点击对应的Tab标签或者滑动屏幕则可跳转到对应的页面,并且底部的横线也会滑动到对应的Tab标签下面

2016-05-14

Genymotion-ARM-Translation.zip

解决INSTALL_FAILED_CPU_ABI_INCOMPATIBLE问题

2016-04-07

mysql-connector-java-5.1.25-bin.jar下载

作用:mysql与java的连接jar包 使用方法: 第一种是先把jar包放在项目的目录下,通过添加jar包,是使用相对地址的,这样把项目复制到其它电脑也可以用 第二种方法是导入外部的jar包,是绝对地址,如果项目要复制到其它电脑又要重新导入 第一种方法 ,建议使用

2015-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除