自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coder80的专栏

技术引导生活,改变生活!

  • 博客(34)
  • 资源 (7)
  • 收藏
  • 关注

原创 观察者模式巩固学习

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。   观察者模式又叫发布-订阅(Publish/Subscribe)模式。   总体步骤:   1.定义观察者接口   2.定义主题接口   3.实例化主题对象   4.主题对象添加观察者   5.主题变化后,调用其

2016-05-20 16:06:25 650

原创 PullToRefresh之代理模式-LoadingLayoutProxy源码剖析

Android平台PullToRefresh开源项目,被很多app使用,其重要性不言而喻了。下拉刷新,其主要思路是,定义一个LinearLayout,自定义view中,控制好touch事件以及需要灵活使用scrollTo函数,让控件进行平滑的滚动,实现平滑的动画效果。本篇博客,主要介绍 LoadingLayoutProxy 类的使用,对该项目中,使用到的proxy设计模式,进行剖析。

2016-03-28 17:12:51 1550

原创 手动修改Sublime Text2 左边栏Sidebar的样式

电脑换了21.5寸屏之后,Sublime Text2 左侧边栏Sidebar就变小了,网上找了好几篇博客,说的是修改文件:Default.sublime-theme,但一直都没有发现对应的路径,经过仔细过滤,该文件在:Sublime Text 2\Data\Packages\Theme - Default 路径下,找到Default.sublime-theme文件,在   "class":

2015-09-15 23:12:51 3579

原创 搭建gerrit服务器(apache&nginx反向代理方式)

这段时间,想搭建一个gerrit,用于代码托管,gerrit的搭建,网上有很多种教程,但是自己按照别人的教程逐步操作,一直出现诸多问题。最头痛的就是:Configuration ErrorCheck the HTTP server's authentication settings.      后来经过他人指点,才知道自己的原因。由于对Apache的反向代理的机制,没有清楚

2015-09-04 23:50:13 8321

原创 Servlet入门时候的坑

1.在Eclipse中创建Dynamic Web Project.2.一路next,在“Configure web module settings.”中勾选Generate web.xml deployment descriptor选项,在WebContent/WEB-INF目录中,生成web.xml3.随便拷贝一个index.htm文件,放在WebContent,作为welcome-fi

2015-09-04 23:01:37 638

原创 Ubuntu 设置Java环境变量

在Ubuntu上创建子账户后,由于root登录时,已经设置好了java环境变量。当创建子账户时,相应的环境变量却没有一起携带过来?貌似有命令,创建子账户时,将root账号的环境变量一起携带过来。    那就先设置子账户的Java环境变量吧!命令如下:   步骤1:sudo vi ~/.bashrc    步骤2:export JAVA_HOME=/usr/lib/jvm/jdk1.

2015-09-02 22:05:11 1123

原创 Android瀑布流StaggeredGridView学习研究

关于Android瀑布流控件,已经在江湖上,流传已久,超过两年时间了。网上也有很多相关学习资源,可以拿来研究学习。github上,就有两个资源,可以供学习者膜拜。1.https://github.com/maurycyw/StaggeredGridView    此链接有图片加载功能,但功能相对简单些。2.https://github.com/etsy/AndroidStaggeredGr

2014-12-04 17:07:54 17640 2

原创 android平台中,EventBus研究学习

当一个Android应用功能越来越多的时候,app中各个部分之间通信,往往采用Observer的方式来进行,即注册----通知----注销的方式执行 各类控件经常需要根据某个状态来更新显示内容。这种场景常见的解决方式就是定义一个接口,需要关注该事件的控件来实现这个接口。 接口类: public interface OnChangedListener {        void on

2014-11-14 16:52:53 1919

原创 AlarmManager实现精准定时任务

在项目中,有这么一个功能点,app进程中,需要实现一个定时任务,只要设备处于开机状态,每隔半个小时,就需要定时向服务器上传一次位置信息,并且只要是有网络和获取到GPS信号,进程不能死,如果进程死掉了,需要自动重启

2014-11-03 22:01:46 27745 3

原创 import 语句的模块顺序

核心风格: import 语句的模块顺序      我们推荐所有的模块在 Python 模块的开头部分导入。 而且最好按照这样的顺序:1.Python 标准库模块2. Python 第三方模块3. 应用程序自定义模块      然后使用一个空行分割这三类模块的导入语句。 这将确保模块使用固定的习惯导入, 有助于减少每个模块需要的 import 语句数目。      解释器执

2014-08-12 15:45:30 3068

转载 Python模块结构和布局

用模块来合理组织你的Python代码是简单又自然的方法。你应该建立一种统一且容易阅读的结构,并将它应用到每一个文件中去。下面就是一种非常合理的布局: (1) 起始行(Unix) (2) 模块文档 (3) 模块导入 (4) 变量定义 (5) 类定义 (6) 函数定义 (7) 主程序下图是一个典型模块的内部结构图解。(1) 起始行通常只有在类Unix 环境下

2014-08-12 09:57:35 2893

原创 小米3系统计算器自定义开关控件-MySwitchView

1.前言     在android4.0以后,有switch控件,类似于iPhone上面滑块的效果,但是只能用在4.0以后的系统中,之前的平台,就无法使用 这种控件。近段时间,看到了小米3手机上自带的计算器app,有这样的效果,上面的一个控件,觉得很漂亮,并且与iPhone上的效果略有不同,于是自己动手编写了一下这个功能,最好在编写的工程中,参考过网上的一些demo,运行后,在控件滑动的时

2014-05-30 11:14:25 6389

原创 Android launchMode 笔记---taskAffinity属性和Intent标记体会

launchmode的四种模式,不需要细说:standard、singleTop、singleTask、singleInstance。    此博客关注的是,关于Activity中关于Affinity(亲和力)&Intent标记的东西,即使是Android老鸟,也不一定将其中的细节理解透彻。

2014-05-14 15:21:25 2843

转载 PyCharm常用快捷键

Alt+Enter 自动添加包Ctrl+t SVN更新Ctrl+k SVN提交Ctrl + / 注释(取消注释)选择的行Ctrl+Shift+F 高级查找Ctrl+Enter 补全Shift + Enter 开始新行TAB Shift+TAB 缩进/取消缩进所选择的行Ctrl + Alt + I 自动缩进行Ctrl + Y 删除当前插入符所在的行Ctrl +

2014-04-30 15:08:03 2468

原创 Python启程

开始研究Python鸟,发帖为证。

2014-04-30 15:05:52 735

转载 Android下获取状态栏的高度

Android平台中获取状态栏的高度代码实现 /** * * @param activity * @return > 0 success; <= 0 fail */ public int getStatusHeight(Activity activity){ int statusHeight = 0;

2013-03-26 11:32:51 4488

原创 JNI实例2---扫描SD卡中mp3文件,native层调用Java自定义的类

此博客是在研究完《Android内核剖析》中2.2章节JNI调用机制后,才完成的。在此非常感谢该书的作者。此书的内容较多,讲述的知识点也比较深入,值得各位Android coder们学习。在Android应用开发时,有时候为了提升程序的效率,需要使用到JNI编程,调用native C代码,协作完成应用的某些功能。

2013-02-19 22:27:09 2529

原创 JNI实例3---扫描SD卡中mp3文件,native层调用Java自定义的类

现将native函数贴出来。#include #include #include #include #include #include #include #include #include #include #include //#include #define LOG_TAG "SCANER"#define LOGI(...) __android_l

2013-02-19 22:26:19 3892

转载 android JNI编程技巧

本篇将介绍在JNI编程中如何传递参数和返回值。       首先要强调的是,native方法不但可以传递Java的基本类型做参数,还可以传递更复杂的类型,比如String,数组,甚至自定义的类。这一切都可以在jni.h中找到答案。      1. Java基本类型的传递           用过Java的人都知道,Java中的基本类型包括boolean,byte,char,short,

2013-02-19 15:42:15 1161

原创 JNI实例1---扫描SD卡中mp3文件

最近在研究JNI编程,顺便实现了一个小demo,使用native递归的方法,遍历手机sd卡目录的mp3文件,在JNI层,输出MP3文件的绝对路径。在执行效率上,与Java实现方式进行比对,确实native层的C代码明显好很多。    此demo比较简单,复杂之处在于C函数的实现。由于长期从事Java开发,导致C语言的东西都遗忘不少。

2013-02-19 11:09:21 6084

原创 FFMPEG 在Android 2.3上运行的问题,求救哈!

最近准备研究一下Android平台上的ffmpeg,先实现一个音乐播放器。虽说有Andless开源项目,但是依旧想学习ffmpeg。使用NDK-r8编译,花了大约20来分钟,就生成了相应的.so文件,无奈该apk在2.3系统的手机上运行时,出现了如下错误,花了几天时间找寻答案,无果....01-19 00:07:55.073: D/dalvikvm(3118): GC_EXTERNAL_ALL

2013-01-19 00:05:40 3477

原创 Android事件分发onInterceptTouchEvent与onTouchEvent

最近在做一个项目,需要定制一个View,类似于Launcher中水平滚动效果。当初仿照Workspace类来实现。然而在针对一个子View响应Scroll事件时,这个子View死活都不响应触摸事件。分析了一天,最后给这个子View的属性中添加android:clickable="true", 问题就被搞定了。       Android平台事件分发的两个函数onInterceptTouchEv

2012-12-19 22:51:41 4670

转载 bindService和startService混合使用

Android平台,音乐播放器常常使用Service机制,并且采取bindService和startService混合使用。1.如果先startService,再bindService:在bind的Activity退出的时候,Service会执行unBind方法而不执行其onDestory方法,因为有startService方法调用过,所以Activity与Service解除绑定后会有

2012-12-11 21:40:28 2501

原创 Java 中文编码

标准的Unicode称为UTF-16(UTF:UCSTransformation Format ),后来为了双字节的Unicode能够在现存的处理单字节的系统上正确传输,出现了UTF-8。UTF-8, 8bit编码, ASCII不作变换, 其他字符做变长编码, 每个字符1-3 byte. 其中英文字母用一个字节表示,中文使用三个字节。java默认采用unicode编码,2个字节(16位)来表示

2012-09-20 21:15:20 970

转载 android:Error inflating fragment from layout androidsupportv4

android:Error inflating fragment from layout androidsupportv4在3.0之前写fragment是要引进extras/android/compatibility/v4/android-support-v4.jar包并且要注意,实现的Activity必须是继承:FragmentActivity。(这个事必须的哦!)而3.0不需要

2012-09-04 21:36:19 1848

原创 Android平台Looper、Handler机制讲解

Android平台中线程通讯的方式是采用Looper和Handler来实现的。与Window是和IOS平台一样,Android系统中同样存在消息机制----即消息队列和消息循环。       一个应用中,主线程(UI线程)默认有自己的消息队列,这个Google已经封转完好,用户可以很好的进行使用。子线程默认情况下是没有消息循环机制的,要实现这种机制也是很容易的。 class Lo

2012-08-28 10:33:41 1065

原创 Android中onMesure研究(2)

接着对上篇文章进行谈论。Android中onMesure研究(1) 。上一篇文章介绍,每一个View在显示的时候,对onMeasure方法的调用,是从最里层的View开始measure。从数据结构上讲述,是对二叉树最外层的儿子(View)开始measure。上篇博文提到是因为递归调用。      在一个Activity中,调用SetContentView后,最终就会触发ViewRoot中的sc

2012-08-21 16:44:58 2702

原创 Android中onMesure研究(1)

当一个Activity取得焦点后就会向Android系统请求绘制它的布局。Android框架会处理这个绘制的过程,一个View的显示,需要先后调用onMeasure,onLayout和onDraw方法。从字面意思理解onMeasure,为计算,测量。上图所示,A,B,C分别表示为三个View,其中,A View包含B View,B View 又包含C View。这三个View在屏幕上显示出来, 会

2012-08-20 21:36:21 4716

转载 Android中隐式Intent的用途(2) -- 实用案例

在这里可以参考Android Sample中自带的Notepad程序。当然也有网友早就对这个例子进行过讲解。可以参考http://www.cyqdata.com/android/article-detail-37654。       当自己创建日志后,在NotesList中会显示出来。当点击这个ListView中的某一个item时,响应的代码为:         @Override

2012-08-18 21:16:11 1957

原创 Android中隐式Intent的用途(1) -- 基础知识

Android中隐式Intent的用途 -- 基础知识         对于明确指出了目标组件名称的Intent,我们称之为“显式Intent”。对于没有明确指出目标组件名称的Intent,则称之为“隐式Intent”。Android系统使用Intent Filter 来寻找与隐式Intent相关的对象.        隐式Intent往往用于不同应用程序之间的使用。由于开发人员往往并不清

2012-08-17 21:52:45 4148

原创 workspace研究demo

最近在研究workspace,并且做了一个demo。先将效果图贴出来!

2012-01-29 12:03:09 655

原创 新年计划

2012年了。传说中的那个啥可能要来了。在这一年,希望自己在技术上要有大的飞跃。1.Android UI的开发,要有大的提升。Launcher和一些开源的项目是一个好的突破口。2.从市面上收集一些好的app,多把玩一下,学习人家的精髓。多考虑一下比较绚丽功能的实现方法。3.Google大神的官方文档。其实Google的官方文档有很多比较重要的文章,可以仔细认真看一下。尤其是哪个“Res

2012-01-26 14:33:08 684

原创 Android动画研究(一)

Android 动画目前,市面上的一些 UI界面做得比较花哨的Android应用,无不使用动画的方式,而动画这个基本功能,也是非常重要的。在Android平台上,动画是针对View的。创建动画的一般流程1.创建一个Animation,Animation a = new TranslateAnimation(float fromXDelta, float toXDelta, float

2012-01-15 15:50:04 849

原创 准备写博客了

以后要写一写技术上的博客了,好的技术与大家分享,一起学习,一起进步!

2012-01-08 22:48:05 455

AlarmManager实现精准定时任务

app进程中,需要实现一个定时任务,只要设备处于开机状态,每隔半个小时,就需要定时向服务器上传一次位置信息,并且只要是有网络和获取到GPS信号,进程不能死,如果进程死掉了,需要自动重启。

2014-11-03

小米3计算器滑动控件源码

在android4.0以后,有switch控件,类似于iPhone上面滑块的效果,但是只能用在4.0以后的系统中,之前的平台,就无法使用这种控件。近段时间,看到了小米3手机上自带的计算器app,有这样的效果,上面的一个控件,觉得很漂亮,并且与iPhone上的效果略有不同,于是自己动手编写了一下这个功能,在编写的过程中,参考过网上的一些demo,运行后,在控件滑动的时候,感觉动画不平滑,有卡顿的现象,反复修改,最后还是有一些问题,感觉是在滑动中的状态,没有合理的控制好。无奈只能参考Google的Switch.java源码,发现其在onTouchEvent函数中,设置了多个变量,用户控制滑动中的各种状态。

2014-05-30

JNI实例3---扫描SD卡中mp3文件,native函数中使用自定义的类

JNI层扫描SD卡中mp3文件,native函数调用自定义的类函数。demo中将Java层与native层代码执行效率进行对比。通过本例,可以 了解JNI使用方法,对稍微复杂的JNI编程,例如从native层调用Java层对象的讲解,是有一定的帮助的。

2013-02-19

Android JNI层实现扫描sd卡mp3文件

Android平台,使用native递归的方法,遍历手机sd卡目录的mp3文件,在JNI层,输出MP3文件的绝对路径。

2013-02-19

FFMPEG架构分析

FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.

2013-01-21

HandlerTest

Android平台中,使用Looper和Handler机制,实现子线程之间的通讯。模拟子线程进行“文件传输”功能。

2012-08-28

Android中onMesure研究(1)项目源码

在负责的View中,onMeasure方法调用顺序测试程序。

2012-08-20

空空如也

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

TA关注的人

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