博客园 - Livingstone
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=189274
2017-11-25T12:52:18Z
Livingstone
https://www.cnblogs.com/a284628487/
feed.cnblogs.com
https://www.cnblogs.com/a284628487/p/5204170.html
Android 自定义Drawable - Livingstone
1.使用BitmapShader实现图片圆角 2.除了圆角外,还可以指定画图片的某圆弧对应的内容 重写上面的draw方法如下 3.使用PorterDuffXfermode http://www.jianshu.com/p/d11892bbe055 》》XferMode 》》PorterDuff.
2016-02-20T14:53:00Z
2016-02-20T14:53:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】1.使用BitmapShader实现图片圆角 2.除了圆角外,还可以指定画图片的某圆弧对应的内容 重写上面的draw方法如下 3.使用PorterDuffXfermode http://www.jianshu.com/p/d11892bbe055 》》XferMode 》》PorterDuff. <a href="https://www.cnblogs.com/a284628487/p/5204170.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3729246.html
Linux Ubuntu搭建git服务器 - Livingstone
1. 安装 openssh-server ,用于创建SSH服务。sudo apt-get install openssl-server使用命令ps -e|grep ssh,查看ssh服务是否启动。如果正常启动,则会显示类似信息:1966 ? 00:00:00 ssh-agent2. 创建用户名为g...
2016-01-04T01:19:00Z
2016-01-04T01:19:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】1. 安装 openssh-server ,用于创建SSH服务。sudo apt-get install openssl-server使用命令ps -e|grep ssh,查看ssh服务是否启动。如果正常启动,则会显示类似信息:1966 ? 00:00:00 ssh-agent2. 创建用户名为g... <a href="https://www.cnblogs.com/a284628487/p/3729246.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/5072714.html
Android Studio 多渠道打包 - Livingstone
什么是GradleGradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。Android Studio中新建项目成功后自动下载Gradle。 Gradle有几个基本组件:1.整个项目的gr...
2015-12-24T05:08:00Z
2015-12-24T05:08:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】什么是GradleGradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。Android Studio中新建项目成功后自动下载Gradle。 Gradle有几个基本组件:1.整个项目的gr... <a href="https://www.cnblogs.com/a284628487/p/5072714.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/4827365.html
Android showing LoadingView or EmptyView for Activity or Fragment - Livingstone
这几天利用一些时间,整理了一下,写了一个简单的工具类,用来快速的显示LoadingView或者EmptyView,以前都是定义一个layout,根布局为FrameLayout,再在layout布局文件里面添加LoadingView或者EmptyView,然后在Activity里面设置visible属...
2015-09-21T13:39:00Z
2015-09-21T13:39:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】这几天利用一些时间,整理了一下,写了一个简单的工具类,用来快速的显示LoadingView或者EmptyView,以前都是定义一个layout,根布局为FrameLayout,再在layout布局文件里面添加LoadingView或者EmptyView,然后在Activity里面设置visible属... <a href="https://www.cnblogs.com/a284628487/p/4827365.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/4494669.html
Android 自定义View实现多行RadioGroup (MultiLineRadioGroup) - Livingstone
一、项目概况 我们都知道RadioGroup可以实现选择框,但它有一个局限性,由于它是继承自LinearLayout的,所以只能有一个方向,横向或者纵向;但有时候仅一行的RadioGroup并不能满足实际的需求,比如在一行的宽度下显示不完所有的选项,设计上又不允许左右滑动,这时候RadioGrou...
2015-05-11T08:44:00Z
2015-05-11T08:44:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】一、项目概况 我们都知道RadioGroup可以实现选择框,但它有一个局限性,由于它是继承自LinearLayout的,所以只能有一个方向,横向或者纵向;但有时候仅一行的RadioGroup并不能满足实际的需求,比如在一行的宽度下显示不完所有的选项,设计上又不允许左右滑动,这时候RadioGrou... <a href="https://www.cnblogs.com/a284628487/p/4494669.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/4318698.html
Android Native jni 编程入门 - Livingstone
在某些情况下,java编程已经不能满足我们的需要,比如一个复杂的算法处理,这时候就需要用到jni(java native interface)技术; jni 其实就是java和c/cpp之间进行通信的一个接口规范,java可以调用c/cpp里面的函数,同样,c/cpp也可以调用java类的方法; j
2015-03-07T01:03:00Z
2015-03-07T01:03:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】在某些情况下,java编程已经不能满足我们的需要,比如一个复杂的算法处理,这时候就需要用到jni(java native interface)技术; jni 其实就是java和c/cpp之间进行通信的一个接口规范,java可以调用c/cpp里面的函数,同样,c/cpp也可以调用java类的方法; j <a href="https://www.cnblogs.com/a284628487/p/4318698.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/4310325.html
Android 使用NDK编译sipdroid Library - Livingstone
sipdroid是一款开源的运行于Android平台上的voip,目前支持音频和视频通话;项目拖管地址:http://code.google.com/p/sipdroid/下载源代码,导入eclipse的时候会有一些小错误,但都比较容易更改,这些就不再重复;在命令行窗口下进行项目所在文件下,执行nd...
2015-03-05T01:05:00Z
2015-03-05T01:05:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】sipdroid是一款开源的运行于Android平台上的voip,目前支持音频和视频通话;项目拖管地址:http://code.google.com/p/sipdroid/下载源代码,导入eclipse的时候会有一些小错误,但都比较容易更改,这些就不再重复;在命令行窗口下进行项目所在文件下,执行nd... <a href="https://www.cnblogs.com/a284628487/p/4310325.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3023348.html
Android Launcher 研究学习 - Livingstone
Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序;一、Launcher的定义及构成:通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊; ...
2014-11-16T05:41:00Z
2014-11-16T05:41:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序;一、Launcher的定义及构成:通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊; ... <a href="https://www.cnblogs.com/a284628487/p/3023348.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/4073771.html
Android working with Volley - Livingstone
Volley是google官方推出的一个开源网络访问库,在项目中直接使用它,而不需要写一大堆的重复的代码;项目主页:https://android.googlesource.com/platform/frameworks/volleyVolley中一个重要的类就是RequestQueue,不用多说,...
2014-11-04T09:57:00Z
2014-11-04T09:57:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】Volley是google官方推出的一个开源网络访问库,在项目中直接使用它,而不需要写一大堆的重复的代码;项目主页:https://android.googlesource.com/platform/frameworks/volleyVolley中一个重要的类就是RequestQueue,不用多说,... <a href="https://www.cnblogs.com/a284628487/p/4073771.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3947383.html
Android Touch消息传递机制探究分析 - Livingstone
在Android中,消息的传递控制主要是通过两个方法共同配合使用来对用户的触摸消息进行分发的,下面就来看看这两个方法;onInterceptTouchEvent:此方法定义于ViewGroup中,顾名思义,这个方法是用于ViewGroup拦截(intercept)触摸消息的;onTouchEvent...
2014-08-31T04:15:00Z
2014-08-31T04:15:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】在Android中,消息的传递控制主要是通过两个方法共同配合使用来对用户的触摸消息进行分发的,下面就来看看这两个方法;onInterceptTouchEvent:此方法定义于ViewGroup中,顾名思义,这个方法是用于ViewGroup拦截(intercept)触摸消息的;onTouchEvent... <a href="https://www.cnblogs.com/a284628487/p/3947383.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3918274.html
Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传) - Livingstone
先来看一下最终的效果图一、编辑器界面二、上传图片界面一、安装包下载,我使用的安装包是ckfinder_java_2.3.zip和ckeditor_3.6.3.zip,这两个文件可以分别到http://ckfinder.com/download和http://ckeditor.com/download...
2014-08-17T12:56:00Z
2014-08-17T12:56:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】先来看一下最终的效果图一、编辑器界面二、上传图片界面一、安装包下载,我使用的安装包是ckfinder_java_2.3.zip和ckeditor_3.6.3.zip,这两个文件可以分别到http://ckfinder.com/download和http://ckeditor.com/download... <a href="https://www.cnblogs.com/a284628487/p/3918274.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3907916.html
byte数组转float实现与byte转换其它类型时进行&运算原理 - Livingstone
下面是将byte数组转换为float的实现 public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] & 0xff) << 0; accum = accu...
2014-08-12T09:49:00Z
2014-08-12T09:49:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】下面是将byte数组转换为float的实现 public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] & 0xff) << 0; accum = accu... <a href="https://www.cnblogs.com/a284628487/p/3907916.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3747852.html
Android Native jni 编程 Android.mk 文件编写 - Livingstone
LOCAL_PATH必须位于Android.mk文件的最开始。它是用来定位源文件的位置,$(call my-dir)的作用就是返回当前目录的路径。LOCAL_PATH := $(call my-dir)
2014-05-23T08:03:00Z
2014-05-23T08:03:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】LOCAL_PATH必须位于Android.mk文件的最开始。它是用来定位源文件的位置,$(call my-dir)的作用就是返回当前目录的路径。LOCAL_PATH := $(call my-dir) <a href="https://www.cnblogs.com/a284628487/p/3747852.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3720925.html
C++基础入门 - Livingstone
1.面向对象<1>直接定义类 <2>使用头文件定义 Ml.h Ml.cpp main.cpp 调用 补充:如果没有引入using namespace cyjn,则在申明类的时候需要使用(命名空间::类名)的方式,如果引入了命名空间,则上面的申明可以直接使用类名而不需要使用命名空间; 2.类的继承(P
2014-05-14T12:48:00Z
2014-05-14T12:48:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】1.面向对象<1>直接定义类 <2>使用头文件定义 Ml.h Ml.cpp main.cpp 调用 补充:如果没有引入using namespace cyjn,则在申明类的时候需要使用(命名空间::类名)的方式,如果引入了命名空间,则上面的申明可以直接使用类名而不需要使用命名空间; 2.类的继承(P <a href="https://www.cnblogs.com/a284628487/p/3720925.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3720516.html
C语言基础 - Livingstone
1.宏定义<1>.常量定义 <2>.方法定义 调用:MAX(12,30); 2.C语言中的指针 指针实际上就是对变量物理内存的引用,在程序中,会对每一个变量分配一块内存,这块内存在自己的地址,地址是唯一的,通过指针就可以访问到这块内存,可以读取,修改这块内存上的变量对应的值;下边来看例子; 3.结构
2014-05-10T11:03:00Z
2014-05-10T11:03:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】1.宏定义<1>.常量定义 <2>.方法定义 调用:MAX(12,30); 2.C语言中的指针 指针实际上就是对变量物理内存的引用,在程序中,会对每一个变量分配一块内存,这块内存在自己的地址,地址是唯一的,通过指针就可以访问到这块内存,可以读取,修改这块内存上的变量对应的值;下边来看例子; 3.结构 <a href="https://www.cnblogs.com/a284628487/p/3720516.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3714793.html
Android ActionBar 使用详解 - Livingstone
ActionBar取代了以前的TitleBar,是一种更加灵活的人机交互方式;ActionBar并不是完全自立门户的一个新兴的东西,而是和3.0以下版本的menu进行了合并整合;so,添加actionbar的方式肯定和添加menu方式类似;1.常见普通ActionBar先来看一个menu的xml配置...
2014-05-07T14:01:00Z
2014-05-07T14:01:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】ActionBar取代了以前的TitleBar,是一种更加灵活的人机交互方式;ActionBar并不是完全自立门户的一个新兴的东西,而是和3.0以下版本的menu进行了合并整合;so,添加actionbar的方式肯定和添加menu方式类似;1.常见普通ActionBar先来看一个menu的xml配置... <a href="https://www.cnblogs.com/a284628487/p/3714793.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3696403.html
Android 解决ScrollView嵌入ListView | GridView | ScrollView显示问题 - Livingstone
一、ScrollView中嵌套ListViewScrollView和ListView都是滚动结构,很明显如果在ScrollView中加入ListView,可以预见性的知道,肯定会有显示/滚动的问题,接下来就分享我在网上找到的方法(有2种方法);M1、手动设置(计算)ListView的高度/** * ...
2014-04-28T06:58:00Z
2014-04-28T06:58:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】一、ScrollView中嵌套ListViewScrollView和ListView都是滚动结构,很明显如果在ScrollView中加入ListView,可以预见性的知道,肯定会有显示/滚动的问题,接下来就分享我在网上找到的方法(有2种方法);M1、手动设置(计算)ListView的高度/** * ... <a href="https://www.cnblogs.com/a284628487/p/3696403.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3618311.html
正则表达式入门体验 - Livingstone
先来了解一些概念:单词:正则表达式里的单词的意思就是不少于一个的连续的\w。一、常用的元字符:\b匹配单词的开始或结束,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b 并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。更精确的说法是\b 匹配这样的位置:它的...
2014-03-23T14:01:00Z
2014-03-23T14:01:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】先来了解一些概念:单词:正则表达式里的单词的意思就是不少于一个的连续的\w。一、常用的元字符:\b匹配单词的开始或结束,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b 并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。更精确的说法是\b 匹配这样的位置:它的... <a href="https://www.cnblogs.com/a284628487/p/3618311.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3617660.html
VLC for Android 编译过程 - Livingstone
首先,给一个VLC的官网链接:VLC-AndroidCompile上面有编译所需要安装的插件,环境变量的配置等等信息;虽然是英语,但也挺好理解,这里就不再详述;此文主要记录我在编译的过程中遇到的一些问题;error1:环境配置好后,下载编译所需要的文件,有一个文件是没法下载的,可能和网络有关,这个问题会在编译的时候报出来 make: *** libmpeg2-0.5.1.tar.gz ***,一个类似的错误,需要手动下载这个文件,下载好之后放在android/vlc/contrib/android目录下;error2:checking host system type… Invalid co.
2014-03-22T08:09:00Z
2014-03-22T08:09:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】首先,给一个VLC的官网链接:VLC-AndroidCompile上面有编译所需要安装的插件,环境变量的配置等等信息;虽然是英语,但也挺好理解,这里就不再详述;此文主要记录我在编译的过程中遇到的一些问题;error1:环境配置好后,下载编译所需要的文件,有一个文件是没法下载的,可能和网络有关,这个问题会在编译的时候报出来 make: *** libmpeg2-0.5.1.tar.gz ***,一个类似的错误,需要手动下载这个文件,下载好之后放在android/vlc/contrib/android目录下;error2:checking host system type… Invalid co. <a href="https://www.cnblogs.com/a284628487/p/3617660.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/a284628487/p/3615677.html
Android 通过浏览器打开应用 - Livingstone
在很多应用的web站,其实都有这样一个功能,就是直接在网页中打开应用,接下来的就来探讨一下这个功能的实现,有些地方也我还没弄明白,还请懂的大神指点。 首先,得说一点不好消息,在微信中,这样的方式是行不通的,因为微信把这种Intent(这个功能本身也就是一个Intent)给干掉了; 首先来看一段代码: ...
2014-03-21T06:07:00Z
2014-03-21T06:07:00Z
Livingstone
https://www.cnblogs.com/a284628487/
【摘要】在很多应用的web站,其实都有这样一个功能,就是直接在网页中打开应用,接下来的就来探讨一下这个功能的实现,有些地方也我还没弄明白,还请懂的大神指点。 首先,得说一点不好消息,在微信中,这样的方式是行不通的,因为微信把这种Intent(这个功能本身也就是一个Intent)给干掉了; 首先来看一段代码: ... <a href="https://www.cnblogs.com/a284628487/p/3615677.html" target="_blank">阅读全文</a>