- 博客(16)
- 收藏
- 关注
原创 Android Shaper: Paint.Xfermode和Path,实现图片圆角效果
以前不论是圆角图片还是圆形图片,一般都是通过重新创建一个对应形状的Bitmap,然后重新设置。现在找到了一个好的方法,就是利用Xfermode的图片渲染合成原理,然后使用Path构造我们需要的效果范围,在onDraw的时候,将范围外的所有部分过滤掉。看效果图:其实实现原理非常简单,并且可以无限扩展。public abstract class Shaper { privat
2015-10-23 10:32:16
1095
原创 Android 启动照相机拍照无返回
问题描述:通过代码启动照相机获取图片,照片后点击确定,没有任何反应。解决:添加sd卡读写权限原因:Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(FileUtils.g
2015-07-12 15:14:36
896
原创 Android中观察者模式:消息分发器(MessageDispatcher)
这个功能是在公司项目需求的时候写出来,本来是基础命令字模式的,但是个人喜欢对象,所有后来在一个小项目中使用时,改成了基于对象模式。首先,是一个接口,我们称之为监听器:[html] view plaincopyprint?/** * * @author poet * */ public inter
2015-07-12 12:52:16
2786
原创 黑马程序员——高新技术(二)
------- http://www.itheima.com" target="blank">android培训、http://www.itheima.com" target="blank">java培训、期待与您交流! ----------一、注解 1、元注解 即,对注解进行注解的注解。 @Retention(RetentionPolicy.RUNTIME),
2013-03-22 17:17:21
549
原创 黑马程序员——高新技术(一)
------- android培训、java培训、期待与您交流! ---------- 一、静态导入 普通导入,可以导入一个类或某个包中的所有类Import static 语句导入一个类中的某个静态方法或所有静态方法 二、可变参数只能出现在参数列表的最后...位于变量类型和变量名之间,前后有无空格都可以调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,
2013-03-18 07:41:24
683
原创 黑马程序员——网络编程(二)
------- android培训、java培训、期待与您交流! ---------- 一、服务端多线程 服务器一般是一直运行的,并可以允许多个用户同时登录或和服务器进行数据交换,这里每个用户就是一个新的线程,这样使用多线程,就可以实现多用户并发的登录服务器。 下面是上传图片的代码: 服务器运行: 服务器线程类:
2013-03-18 07:40:12
575
原创 黑马程序员——网络编程(一)
------- android培训、java培训、期待与您交流! ---------- 一、网络通讯要素1、ip地址 网络中的设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1 主机名:localhost Ip地址被封装成一个对象,在java。Net包下,简单方法如下: 2、端口号 用于标识进程的逻辑地址,不同进程的标识3、TCP/UDP
2013-03-18 07:36:20
655
原创 黑马程序员——IO流(四)File类
------- android培训、java培训、期待与您交流! ----------一、File概述 File类位于java.io包下,是文件和目录名的抽象表现形式。他封装了文件/目录的一些信息。如:可以通过一些方法获得File对象的name、绝对路径、是否存在。。。二、文件的创建、删除、判断 三、获取File对象信息 四、File对象的
2013-03-18 07:35:34
564
原创 黑马程序员——IO流(三)字节流、字符流、转换流
------- android培训、java培训、期待与您交流! ----------一、字节流和字符流 字节流是以InputStream和OutputStream为基类的一系列类,是对字节的直接操作。而字符流(Reader、Writer),需要根据系统的码表做一些转义操作。字符流更着重于文本的操作。 二、带缓冲区的字节流原理 缓冲输入流中定义一个字节数组来存放读
2013-03-18 07:34:41
892
原创 黑马程序员——IO流(二)之BufferedReader装饰类
------- android培训、java培训、期待与您交流! ----------装饰类,顾名思义就是装饰其他类的类。用在编程中,就是增强其他类的功能。下面模拟实现BufferedReader的代码:LineNumberReader作为BufferedReader的子类,拥有更完善的功能: 运行结果:
2013-03-18 07:33:51
725
原创 黑马程序员——装饰模式
------- android培训、java培训、期待与您交流! ----------一、概述 JAVA23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二、装饰模式的特点(1)装饰对象和真实对象有相同的接口。这样客户端对象就
2013-03-18 07:32:38
518
原创 黑马程序员——IO流(一)
------- android培训、java培训、期待与您交流! ----------一、IO 概述IO 即 Input、Output ,指程序和设备上的数据传送通道。而所谓input output都是针对程序本身而言的。在程序运行时,流在内存中以对象的形式存在,所以当使用完后,需要对流进行关闭。Java.io包中定义了多个流类型来实现输入/输出功能。他们源自四个基类:InputS
2013-03-18 07:31:27
598
原创 黑马程序员——集合框架
------- http://www.itheima.com" target="blank">android培训、http://www.itheima.com" target="blank">java培训、期待与您交流! ----------一、Collection接口 Collection接口的实现类提供的iterator方法使用的内部类设计: 当一个类需要对外提供一
2013-03-18 07:30:02
557
原创 黑马程序员——多线程(二)
------- http://www.itheima.com" target="blank">android培训、http://www.itheima.com" target="blank">java培训、期待与您交流! ----------一、线程间通信: 多个线程操作同一个资源,但是操作动作不一样。 也就是多个线程中的run方法不属于同一个this对象,所以要对不同
2013-03-18 07:29:20
691
原创 黑马程序员——多线程(一)
------- android培训、java培训、期待与您交流! ----------一、创建线程:方式一 1、定义一个类,从Thread继承 2、重写run方法 3、创建线程对象,调用start方法 start方法启动线程,并执行run方法 (一)为什么要重写run方法呢? Thread类是用来描述线程的,而这个线程要执行的代码就需要用一个方法来存储,就
2013-03-18 07:23:13
658
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人