- 博客(192)
- 资源 (13)
- 收藏
- 关注
转载 Android 悬浮窗口的实现
当我们在手机上使用360安全卫士时,手机屏幕上时刻都会出现一个小浮动窗口,点击该浮动窗口可跳转到安全卫士的操作界面,而且该浮动窗口不受其他activity的覆盖影响仍然可见(多米音乐也有相关的和主界面交互的悬浮小窗口)。那么这种不受Activity界面影响的悬浮窗口是怎么实现的呢? 竟然它能悬浮在手机桌面,且不受Activity界面的影响,说明该悬浮窗口是不隶属于Activity界面的,
2014-10-09 13:36:04 10340 3
转载 Android4.0窗口机制token分析以及activitiy, dialog, toast 窗口创建过程分析
一 前言在谈到这个话题的时候,脑海里面千头万绪,因为它涉及到了方方面面的知识… 比如Activity管理,窗口添加,Token权限验证等等…既然这么复杂,那么我们就复杂的问题简单化,可以分成下面几个步骤进行讲解。1. Android里面窗口这个概念的分析。2. Android里面窗口的类型3. Android窗口功能相关的token值4.
2014-09-16 16:25:08 9820
转载 Android 的窗口管理系统 (View, Canvas, WindowManager)
Android 的窗口管理系统 (View, Canvas, WindowManager)在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道Android 应用程序是怎么创建出来的,大概的流程是 ActivityManagerService -> Zygote -> Fork App, 然后应用程序在ActivityThread 中的进入lo
2014-09-15 17:13:36 7933 4
原创 Android StackBox 分屏效果
From Split Screens in Android Exist?Plenty of Android phone vendors have been doing this for a long time - split screens.I am talking about that feature (taken from desktop Os's) where you h
2014-07-08 10:50:31 7989 5
转载 Android窗口管理剖析
Android窗口管理 一、 概述在Android系统中,从设计的角度来看,窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。 在Client端,并不是直接和WindowManagerService交互,而是直接和本地对象WindowManager交互,然后由WindowManag
2014-07-02 14:26:33 2272
原创 基于Android 4.4 开发的多窗口系统 开放源码 Android 多窗口 开源
基于Android 4.4 开发的多窗口系统 开放源码
2014-06-20 19:22:41 16313 89
转载 Android framework add service
Android系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等。下面描述一下添加一个系统服务的具体步骤。1、 撰写一个aidl文件,定义服务的接口,将在编译过程中通过aidl工具生成对应的java接口。一般系统服务的aidl文件都放在framework\base\core\java\android\os目录中。以我所
2014-06-13 13:37:49 5363
原创 Android framework/base/core/res 中添加资源文件编译
自己做Multi_window项目,需要Depending on what version of JB you are using you should either use the public.xml or symbols.xml to add your new id's.Adding new id's to public.xml was abandoned in this c
2014-06-04 20:20:49 12894
原创 Git笔记
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='New'; GIT_AUTHOR_EMAIL='RITTER_AUTHOR_EMAIL'; GIT_COMMITTER_NAME='Ritter Liu'; GIT_COMMITTER_EMAIL='[email protected]';" HEAD
2014-05-16 12:47:57 1069
转载 加州求职记
原文来源于http://blog.liancheng.info/job-hunting-in-california/#.UswIcUb6Aud一年多前,出于显而易见的原因,下定决心肉身翻墙。经过一番考虑,放弃了读书这条途径,决定直接找工作,通过H1B签证出去。于是去年八月份从百度辞职,开始着手准备。当时觉得今年拿到H1B的成功率大致能有个六七成,加上周围朋友们的不断鼓励,可以说还是相当自信的。
2014-04-15 10:52:06 1974
转载 error:unknown file system and invalid arch independent ELF magic
把一个原来装有windows+ubuntu双系统的机器抹掉重装ubuntu12.04,没想到开机报error:unknown file system,只有grub rescue可以用,多次尝试,修复成功。1. 查看分区:grub rescue>ls显示一系列的 (hd0,1) (hd0,6)等等2. 寻找ubuntu所在分区:grub rescue>ls (hd0,1)/b
2014-03-20 21:01:44 2882
原创 Eclipse 中双击变量不高亮 解决
参考自 stackoverflowTwo "solutions" that at least get the highlight stuck on a new item (!!):As @Subas Raj mentioned, defocus and refocus the window - when you come back, your current positio
2014-02-11 20:53:08 3891 2
原创 Build CornerStone for ICS and run in emulator
SummarySince I saw the Galaxy S4 multi-window implement, I feel like to implement a multi-window by myself. Occasionally, when surfing on the internet to search multi-window info, I find that there
2014-01-14 23:13:54 2128
原创 Android 4.3 emulator screen stay black and qemu: could not load initrd 'ramdisk.img'
After building the 4.3 source code, I try to run the emulator with self-compiled system.img, userdata.img and ramdisk.img, but the emulator's screen stays black and adb devices shows offline, no outpu
2013-12-31 13:37:23 4140 2
转载 Android FrameBuffer 中绘图的简单例子
From here调用linux函数打开framebuffer设备文件 fp = open ("/dev/graphics/fb0",O_RDWR); 打开上面的设备文件后,利用内存映射,可以实现向framebuffer写数据来刷新屏幕。但是现在有一个问题。貌似Android系统自己也会刷新屏幕,而且往设备文件里写的数据,也不知道什么时候能刷新。 手机上
2013-12-03 20:17:16 3410 1
转载 Android broadcast 相同优先级的顺序
Andriod广播注册接收过程简析为了利于各个进程应用之间的通信,android提供了一个很方便的处理方式:广播机制。广播机制顾名思义,就是广播发送者无需判断具体某个接收者的存在,把广播发送出去,任务即完成。这样保证了有效通信的同时又最大限度的降低了android系统各个模块的耦合性。Android广播有两个很重要的要素: 1 广播 - 用于发送广播 有序广
2013-11-29 15:14:04 12434 2
转载 配置Ubuntu13.10 64bit 编译Android源码
From XDAInitializing a fresh Android Build Environment in Ubuntu 13.10 sucks, right? The instructions at the AOSP page are outdated and inaccurate. Near as I can tell, they try to have you insta
2013-11-27 20:06:56 3255
原创 排序
简单排序:最经典的就是冒泡,选择和插入排序了。他们的时间复杂度都是O(n^2),但是选择排序的移动较冒泡排序少,相对性能较好。#include void BubbleSort(int *array,int length){ int i,j,temp; int time=0; int flag=1; for(i=0;i<length-1;i++){
2013-09-22 00:15:59 1066
原创 Linux 进程间通信 共享内存
共享内存可以说是最有用的进程间通信方式,也是最快的 IPC 形式。两个不同进程 A、B 共享内存的意思是,同一块物理内存被映射到进程 A、B 各自的进程地址空间。进程 A 可以即时看到进程 B 对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷
2013-09-12 00:17:36 1446
原创 Linux 进程间通信 信号
信号信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。进程可以通过三种方式来响应一个信号:(1)忽略信号,即对信号不做任何处理,
2013-09-09 23:57:42 1545
原创 设计模式 总结
From 《Head first设计模式》装饰者:包装一个对象,以提供新的行为。状态:封装了基于状态的行为,并使用委托在行为间切换。迭代器:在对象的集合中游走,而不暴露集合的实现。外观:简化一群类的接口。策略:封装可以互换的行为,并使用委托来决定要使用哪一个。代理:包装对象,以控制对此对象的访问。工厂方法:由子类决定具体要创建的是哪一个类。适配器:封装对象,并提供不
2013-09-04 23:50:50 1257
原创 Android 模拟器 段错误
昨日手贱,升级了ubuntu的kernel,结果发现android模拟器启动不了了,执行命令emulator -avd RitterAVD,直接报出段错误。以“android emulator 段错误”为关键字上网baigoogledu了好一阵,也没有解决办法,于是将系统语言切换至英文,再执行emulator -avd RitterAVD后报出"Segmentation fault (co
2013-09-02 21:49:36 3128
原创 vim配置
syntax onset nuset hlsearchset rulerset cursorlineset ts=4set expandtabset ailet Tlist_Auto_Open =1"let Tlist_Ctags_Cmd = '/usr/bin/ctags'let Tlist_Show_One_File = 1let Tlist_E
2013-08-07 11:30:03 1216
原创 Android应用开发笔记
1. A service runs in the main thread of its hosting process—the service does not create its own thread and does not run in a separate process (unless you specify otherwise)service虽然没有UI,也不可以做耗时操
2013-07-31 21:46:46 1350
转载 Ubuntu下 MIUI V5 adb devices 无法识别
原文地址方法一:ubuntu下adb命令不识别米2,米1却识别,eclipse同样情况。对这类问题网上大多的解决方法(及google官方教程)是: 创建文件/etc/udev/rules.d/51-android.rules并添加规则 SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX"
2013-07-24 14:06:31 3241
原创 Head First设计模式1 命令模式
命令模式通过命令模式,可以使发出请求的对象与被请求的对象都依赖抽象编程,而非依赖具体的类,实现了解耦。并且由于较好的封装了请求,命令模式可以被撤销。package command;interface ICommand{ public void excute(); public void undo();}class Light{ private String
2013-07-21 20:18:24 1193
原创 Android源码学习笔记
1.启动流程/system/rootdir/init.rczygote/framework/base/cmds/app_process/app_process.cpp/framework/base/core/jni/AndroidRuntime.cppstartstartVM 设置启动时的heapsize大小,default 16mstartrRegapp_process
2013-07-04 20:34:51 1391
原创 Build CM 7 for HTC Vision
入手Desire Z两年多,当年的旗舰机如今运行大型app也日渐吃力,于是乎,拿它当测试机吧。上网下载了CyanogenMod的源码,编译刷机包,刷了Desire Z。 在CM的官网里,有关于编译CM刷HTC Desire Z的教程,但是我单纯的按照教程操作,在一开始需要执行 ./extract-files.sh 抽取手机内的属性文件时,CM_DZ_SRC/device/htc/目
2013-06-21 00:34:28 1905
原创 大话设计模式9 单例模式 桥接模式
1.单例模式顾名思义,使一个类最多仅有一个实例化的对象的模式。单例模式根据对象实例化的早晚,分为懒汉式和饿汉式两种。懒汉式,不调用它,就不实例化对象,懒。。。/** * 懒汉式 * */class Singleton{ private static Singleton mInstance; private Singleton(){} public static
2013-05-01 20:03:52 1438
原创 大话设计模式8 组合模式 迭代器模式
1.组合模式将对象组合成树形结构进行表示,使用户对单个对象和组合对象的使用具有一致性。当用户可以忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象时,可以考虑使用组合模式。import java.util.ArrayList;abstract class Component{ protected String mName; public Component(Strin
2013-04-30 19:24:30 2508
原创 ubuntu12.04 下安装 Y480 网卡驱动
ubuntu 12.04 有线网连不上一直用小Y连的wifi,没想到今天插上网线,居然没有任何反应。ifconfig 也没有eth0,思考了下,估计是有线网卡驱动的问题,Google后解决。参考此帖,感谢。1.下载驱动安装包。推荐compat-wireless-2012-07-03-pc.tar.bz2,我一开始试了个较新的2012-12的版本,结果编译时间长,还有问题。
2013-04-14 11:53:10 2705
原创 大话设计模式7 状态模式 适配器模式
1.状态模式。当控制一个对象状态转变的条件表达式过于复杂时,把状态转移的过程转移到一系列表示不同状态的类当中去。感觉适合用于状态转化时使用:abstract class State{ public abstract void handle(Context context);}class ConcreteStateA extends State{ @Override pu
2013-03-03 21:22:35 1377
转载 C++拷贝构造函数
Fromhere一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例
2013-02-19 20:06:26 925
原创 大话设计模式6 建造者模式 观察者模式
1.建造者模式感觉和模板模式有些相似,不过模板模式是通过继承,实现具体细节实现的变化,而建造者模式则是在一个指挥者的指导下,进行建造,对外封装了实现的细节。package builder;import java.util.ArrayList;class Product { private ArrayList mPartList=new ArrayList(); public
2013-02-18 21:29:37 1341
原创 大话设计模式5 模版模式 外观模式
1.模版模式今天看到了一个很不错的模式:模版模式,由父类定义好逻辑结构,但是其中一些具体的细节留给子类去实现。使子类可以不必改变具体的逻辑结构,就可以重新定义细节。一个关于考试答题的简单例子:abstract class TestPaper{ public void question1() { System.out.println("Questio
2013-01-24 20:09:12 987
原创 Android2.3中C++编写的简单的绘图demo
例子是仿照柯元旦的《Android内核剖析》中示例。在external下新建文件夹MySurface, 里面编写两个文件,一个Android.mk,一个Welcome.cppLOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= \ Welcome.cppLOCAL_SHARED_LIBRARIES
2013-01-22 20:59:35 2217 1
原创 Android 4.0 framework modify, emulator can not start
Original editionToday, I receive an email from USA, which ask me if I have solved this problem or not. I reply him and attached with my blog's link. But I'm not sure whether he can understand my o
2013-01-21 23:51:18 2154 3
原创 大话设计模式4 简单工厂模式VS工厂模式
工厂模式:与前面学习的简单工厂模式比起来,工厂模式更加符合开放封闭原则,新增对象类型是通过新增工厂类实现的,而非修改原有的工厂类。用一个简单的学雷锋的例子做对比。package simpleFactoryVSFactory;interface IXueLeiFeng { void sweep(); void wash();}class Student impl
2013-01-20 16:41:46 1018
Best Practices for Performance
2015-09-10
org.eclipse.e4.ui.workbench_0.11.0.v20130125-100758.ja
2014-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人