
Android
文章平均质量分 74
无为_
别拿豆包不当干粮
展开
-
Android设计模式系列(3)--SDK源码之单例模式
单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式。android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析。单例模式,Singleton Pattern,能够转载 2013-11-04 22:55:58 · 875 阅读 · 0 评论 -
Android设计模式系列(4)--SDK源码之模板方法模式
模板方法,和单例模式是我认为GOF的23中最简单的两种模式。但是我个人对模板方法的经典思想特别推崇,虽然模板方法在大对数情况下并不被推荐使用,但是这种通过父类调用子类的方法,使用继承来改变算法的一部分,是面向对象的一种基本认识。打比方说父亲有很多理想,就行医救人吧,但是父亲医术不行,只能靠儿子,儿子长大后遵从父亲大志,春风拂面,妙手回春,实现了父亲的理想,儿子做的事情早在出生前就定转载 2013-11-04 22:56:38 · 1027 阅读 · 0 评论 -
Android设计模式系列(12)--SDK源码之生成器模式(建造者模式)
建造者模式把构造和表示分离开,根据客户需求生产一个相应的对象。本来呢,我们根据Builder接口实现不同的具体的ConcreteBuilder,就可生产不同的对象了。但是,下面例子的只有一个Builder,所以也没有接口Builder,也没有其他的ConcreteBuilder。但是我今天要讲的例子太简单,简单到都不觉得是建造者模式,但是又有建造者模式的感觉。1. 意图转载 2013-11-04 22:41:14 · 855 阅读 · 0 评论 -
Android设计模式系列(0)--开篇
=======================2011-08-26==================================有时候,最难的是坚持;有时候缺少的是信念。=======================2011-08-07==================================从接触设计模式到如今大概4年左右的时间,一直都想有朝一日定要精通,坐于转载 2013-11-04 22:48:34 · 969 阅读 · 0 评论 -
Android设计模式系列(1)--SDK源码之组合模式
Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。1.意图将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(Vi转载 2013-11-04 22:53:46 · 890 阅读 · 0 评论 -
Android设计模式系列(2)--SDK源码之观察者模式
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。本文以AbstractCursor为例子,展开分析。观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式。1.意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖转载 2013-11-04 22:54:58 · 962 阅读 · 0 评论 -
Android Matrix理论与使用详解
Matrix类的方法详解Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set, post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。 set是直接设置Matrix的值,每次set一次,整个Matrix的数组都会变掉。转载 2013-11-06 16:24:02 · 936 阅读 · 0 评论 -
Android Matrix理论与使用详解
Android Matrix理论与应用详解本文转自http://blog.youkuaiyun.com/kuku20092009/article/details/6740865非常感谢!呵呵然后我又做了些补充 Matrix学习——基础知识以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明转载 2013-11-06 16:25:49 · 1521 阅读 · 0 评论 -
Android横竖屏总结(转)
横竖屏切换后Activity会重新执行onCreat函数,但是在Android工程的Mainfest.xml中加入android:screenOrientation="user" android:configChanges="orientation|keyboardHidden"之后,横竖屏切换之后就不会去执行OnCreat函数了,而是会去调用onConfigurationChanged(转载 2014-01-04 21:24:00 · 714 阅读 · 0 评论 -
通过XML设置屏幕方向(android:screenOrientation)详解
注意:android只支持270度旋转。 android:label="@string/app_name" android:screenOrientation="portrait">android:screenOrientation设定该活动的方向, 该值可以是任何一个下面的字符串:"un转载 2014-01-04 21:25:00 · 997 阅读 · 0 评论 -
一种基于Android智能手机的远程视频监控的设计[图]
摘要:为了实现移动视频监控,提出了一种基于智能手机的远程视频监控系统。介绍了监控系统的体系结构和硬件平台,阐述了嵌入式操作系统Android 应用程序的开发方法,并结合实际的应用系统,重点论述了Android 平台上视频监控客户端的设计思路。移植了音视频解码库FFmpeg 进行H. 264 视频解码,并采用OpenGL ES 实现实时视频显示。在无线局域网络的环境下对视频监控终转载 2014-01-05 12:55:13 · 3106 阅读 · 3 评论 -
android 设备唯一码的获取,Cpu号,Mac地址
开发Android应用中,我们常常需要设备的唯一码来确定客户端。Android 中的几中方法,使用中常常不可靠1. DEVICE_ID假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。通过 TelephonyManager.getDeviceId()获取,它根据不同的手机设备返回IMEI,MEID或者ESN码.缺点:在少数的一些设备上,该实现转载 2014-01-06 17:28:07 · 1266 阅读 · 0 评论 -
Flex播放数据流
Adobe 公司提供了2个类: NetConnection NetStream音频流或视频流的一般工作流程:以下步骤简要介绍了用于发布实时音频和视频的工作流程:创建一个 NetConnection 对象。使用 NetConnection.connect() 方法连接到服务器上的应用程序实例。创建一个 NetStream 对象,以便在连接中创建数据转载 2014-01-06 22:25:49 · 1638 阅读 · 0 评论 -
IP正则
正则表达式^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0转载 2014-01-08 15:39:08 · 920 阅读 · 0 评论 -
解决ViewFlipper与ScrollView滑动响应事件拦截的问题
最近在做一个简单的展示界面时,遇到了一个比较棘手的问题。由于要展示多项内容,所以使用ViewFlipper作为水平滑动容器;而每项内容中由于许多文本较长,因此需要使用ScrollView作为垂直滑动容器。基本的界面布局大致如下: 外部文件common_list_view.xml: Xml代码 xml version="1.0" encoding="utf-8"转载 2014-01-11 12:15:43 · 1387 阅读 · 0 评论 -
深入了解android平台的jni(二)
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途一个android子项目中会存在一个或多个Android.mk文件1、单一的Android.mk文件直接参考NDK的sam转载 2014-01-21 16:32:59 · 786 阅读 · 0 评论 -
C++和JNI的数据转换
如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对Jni不甚了解,不知道Jni是做什么的,如何建立一个基本的jni程序,或许可以参考下面下面这些文章:利用VC++6.0实现JNI的最简单的例子 JNI入门教程之HelloWorld篇 SUN JNI Tutorial这些资料的例子中,大多数只是输入一些简单的参数,获取没有参数。而在实际的使用过程中,往往需要对参数进行处理转载 2014-01-21 17:10:21 · 994 阅读 · 0 评论 -
vlc的应用之七:用vlc做单播,组播及点播服务器
还是前两天帮“猪小妹”考虑毕业设计的时候,想了想vlc能不能作为vod的服务器,替代上一篇博客里面的live555 media server,因为live555 media server做的确实不是太好。查了些资料,在vlc群里面乱问了一通,终于解决了。好东西啊,大家共享。 在这感谢vlc研究群“樱木”童鞋提供的帮助。 1. 所需软件 vlc-0.9.9或vlc转载 2014-02-21 10:32:29 · 1545 阅读 · 0 评论 -
Android布局优化
categories: Android在Android开发中,我们常用的布局方式主要有LinearLayout、RelativeLayout、FrameLayout等,通过这些布局我们可以实现各种各样的界面。与此同时,如何正确、高效的使用这些布局方式来组织UI控件,是我们构建优秀Android App的主要前提之一。本篇内容就主要围绕Android布局优化来讨论在日常开发中我们转载 2014-02-23 20:49:54 · 1169 阅读 · 0 评论 -
Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
作者 :万境绝尘转载请注明出处 : http://blog.youkuaiyun.com/shulianghan/article/details/19675557 .最近遇到了一系列的屏幕适配问题, 以及屏幕画图像素密度相关的问题, 索性在这里全部总结下;1. 名词解析在之前写过的 AndroidUI设计之 布局管理器 - 详细解析布局实转载 2014-02-23 19:31:53 · 1469 阅读 · 1 评论 -
全面了解Android开发规范
一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如转载 2014-02-23 21:11:01 · 729 阅读 · 0 评论 -
Android强制设置横屏或竖屏
全屏在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.Layo转载 2014-02-12 10:53:46 · 1138 阅读 · 0 评论 -
android.os.NetworkOnMainThreadException 异常处理
项目是2.1开发 测试手机是android4.0时候提示 android.os.NetworkOnMainThreadException异常出错误地方是访问网络的webservice有问题在网上找了半天说是用@Overrideprotected void onCreate(Bundle savedInstanceState){// TODO Auto-gener转载 2014-02-11 16:40:17 · 885 阅读 · 0 评论 -
Android 调试.so库文件
调试步骤如下:1/ 将异常的地址信息存到文本文件,并存放在项目根目录;2/ 使用panic.py解析该文件;3/ 根据返回的信息(文件名;行号;方法名)调试程序。以操作第三方的Touch input 输入法为例,过程如下:# 该输入法的英文和手写OK,操作中文输入法时,出现异常,软键盘消失,异常日志如下02-05 06:41:19.834 D/dalvikvm(转载 2014-02-13 09:44:47 · 1504 阅读 · 0 评论 -
OpenGL 函数作用列表
文章出处:http://www.pcodenote.com/study-note/opengl-hanshuliebiao/-------------------------------------------------------------------------------------------------glAccum 操作累加缓冲区glAddSwapHintRectWIN转载 2014-02-14 14:38:51 · 1052 阅读 · 0 评论 -
android 自定义控件 自定义属性详细介绍
在android相关应用开发过程中,固定的一些属性可能满足不了开发的需求,所以在一些特殊情况下,需要自定义控件与属性,本文将以此问题进行详细介绍,需要的朋友可以参考下自定义控件在android中无处不见,自定义控件给了我们很大的方便。比如说,一个视图为imageview ,imagebutton ,textview 等诸多控件的组合,用的地方有很多,我们不可能每次都来写3个的组合,既浪费时转载 2014-02-26 13:41:12 · 821 阅读 · 0 评论 -
Application.mk & Android.mk
Android NDK开发指南---Application.mk文件http://www.iteye.com/topic/1113483Application.mk文件简介:-----------------------------要将C\C++代码编译为SO文件,光有Android.mk文件还不行,还需要一个Application.mk文件。本转载 2014-02-14 15:15:27 · 938 阅读 · 0 评论 -
android系统信息(内存、cpu、sd卡、电量、版本)获取
一、内存(ram): android的总内存大小信息存放在系统的/proc/meminfo文件里面,可以通过读取这个文件来获取这些信息: Java代码 public void getTotalMemory() { String str1 = "/proc/meminfo"; String str2="";转载 2014-02-26 23:29:17 · 1028 阅读 · 0 评论 -
OpenCore介绍
一、OpenCore简介 OpenCore是Android的多媒体核心,采用C++实现,定义了全功能的操作系统移植层(OSCL),各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。 从宏观上来看,它主要包含了两大方面的内容:PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playb转载 2014-02-14 17:15:40 · 5067 阅读 · 0 评论 -
MQTT——activemq5.8 推送消息实现
受csdn上面http://blog.youkuaiyun.com/johnny901114/article/details/8898727这篇博文的 指导,实现了利用activemq5.8+mqtt在android上面的推送。但是没有利用文章中提供的android dome,文中的demo使用时可能会有一些问题,而是使用了githup上的这个demo: https://github.com/dobe转载 2014-02-26 23:22:18 · 1402 阅读 · 0 评论 -
Android Tools Project Site
Recent Changes > Using the NDK pluginposted Jul 2, 2012, 7:16 PM by Siva VelusamyADT 20 includes an NDK plugin that provides support for building and debugging NDK projects in原创 2014-02-27 14:35:19 · 1924 阅读 · 0 评论 -
Android手势:单指拖动、双指缩放图片
手势其实是一个比较复杂的东西,首先是因为处理的时机。Android中触摸屏的事件其实只有ACTION_DOWN、ACTION_MOVE和ACTION_UP这三种,当然我们实现手势的逻辑时,一般会用到GestureDetector,它有许多封装好的事件回调接口,比如onFling、onLongPress、onScroll等,其实这些事件只是对上面那三个基本时间的包装而已:即三个基本事件按一定的序列出转载 2014-02-17 11:26:35 · 2991 阅读 · 0 评论 -
Android 输入法键盘和activity页面遮挡问题解决
本文主要介绍Android中如何解决输入法键盘和activity页面遮挡的问题。 总结:不希望遮挡设置activity属性android:windowSoftInputMode="adjustPan"希望动态调整高度android:windowSoftInputMode="adjustResize" 问题:我原来的问题是,对于腾讯微博的OAu原创 2014-02-27 23:08:42 · 2329 阅读 · 0 评论 -
Android开发中部分设计原则及解决方案
个人总结的android开发中部分设计原则,很多也是从web开发中总结出来的。 包括:保持用户操作的流畅性(减少activity的切换、减少用户等待)、别让用户操作太多、别以为用户知道很多、减少设置、其他细节。还有很多没能写进来,欢迎交流 首先推荐一个关于产品设计的网站 产品设计-互联网的那点事 1、保持用户操作的流畅性在web操作中,要尽量转载 2014-02-28 13:02:23 · 1375 阅读 · 0 评论 -
[转载]Android实现更换皮肤功能
原文地址:Android实现更换皮肤功能作者:兜兜转载请注明出处,商用请与本人联系。本系列专题培训适用范围:初级Android程序员,即有J2SE基础和Android初级水平。J2SE基础是指掌握JAVA语法,1.5、1.6新增的语法不完全掌握也没关系。了解基本的面向对象思想、能编写简单的J2SE程序,掌握基本的调试方法,熟悉Swing更好。Android初级是指掌握Activity、Se原创 2014-02-17 22:17:06 · 1141 阅读 · 0 评论 -
Android EditText 密码输入框可见性设置
if (isChecked) { passEdit.setInputType(0x90); } else { passEdit.setInputType(0x81); }=================================if (isChecked) {System.out.println("checked");原创 2014-02-17 22:13:03 · 1828 阅读 · 0 评论 -
释放资源之IO工具类
public class IOUtils { private static final String TAG = "IOUtils"; public static void closeSilently(Closeable c) { if (c == null) return; try { c.close(); } catch (Throwable t) {原创 2014-02-18 17:34:14 · 1242 阅读 · 0 评论 -
Android常用的一些make命令
1.make -jXX XX表示数字,这个命令将编译Android系统并生成镜像,XX表示可以使用到的CPU核数,这在配置好的电脑上特别有用,公司的16核ubuntu服务器执行make -j16只要不到20分钟,而双核PC上需要4个小时!2.make snod 这条命令将重新生成镜像,消耗的时间很少,类似WinCE的makeimg过程,如果你修改了一些数据文件(如音乐、视频转载 2014-02-18 21:02:39 · 1011 阅读 · 0 评论 -
android NDk环境编译-----原创总结
首先,这篇文章的撰写是基于很多前人的优秀的帖子,感谢他们的分享让我能够学习这么多的知识。谢谢Android NDK开发环境的搭建前言:Android 上,应用程序的开发,大部分基于 Java 语言来实现。要使用 c 或是 c++ 的程序或库,就需要使用 NDK 来实现。 NDK 是 Native Development Kit 的简称。它是一个工具集,集成了 Android 的交叉编译转载 2014-02-18 21:05:55 · 888 阅读 · 0 评论 -
配置ndk编译环境,无需cygwin
不需要cygwin,只需要eclipse和ndk。0. 前提下载android-ndk-r8e和cocos2d-x-2.1.51. 选择screaming项目,鼠标右键,选择[属性]2. 选择[Bilders]->[New]->[Program] 3. 选择Main选项卡Lo原创 2014-02-18 21:17:38 · 1016 阅读 · 0 评论