Android Launcher 研究学习】的更多相关文章

Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序; 一.Launcher的定义及构成: <1>通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊: <activity android:name="Launcher" android:launchMode="singleTask" android:clearTaskOn…
这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了. 一.主要文件和类  1.Launcher.java:launcher中主要的activity. 2.DragLayer.java:launcher layout的rootview.DragLayer实际上也是一个抽象的界面,用来处理拖动和对事件进行初步处理然后按情况分发下去,角色是一个controller.它首先用onInterceptTouchEvent(MotionEvent)来拦截所有的touch事件…
2011.06.03(2)——— android 1.6 launcher研究之自定义ViewGroup2011.06.03(2)——— android 1.6 launcher研究之自定义ViewGroup 1.用xml来作为ViewGroup里面的View参考:http://www.eoeandroid.com/thread-30888-1-1.html MyViewGroup.java package com.lp; import android.content.Context; impo…
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群(QQ群.微信群)中,干起了无间道的工作.随着黑产群数量的激增,同事希望能自动获取黑产群的聊天信息,并交付风控引擎进行风险评估.于是,这个工作就交给我了,是时候表现一波了…… 针对同事的需求,分析了一通,总结一下: 1)能够自动获取微信和 QQ群的聊天记录: 2)只要文字记录,图片和表情包,语音之类…
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群(QQ群.微信群)中,干起了无间道的工作.随着黑产群数量的激增,同事希望能自动获取黑产群的聊天信息,并交付风控引擎进行风险评估.于是,这个工作就交给我了,是时候表现一波了…… 针对同事的需求,分析了一通,总结一下: 1)能够自动获取微信和 QQ群的聊天记录: 2)只要文字记录,图片和表情包,语音之类…
最近在学习Android Launcher的相关知识,在github上找到可以在Android studio上编译的Launcher 3代码,地址:https://github.com/rydanliu/Launcher3 Launcher 3的界面主要由SearchDropTargetBar.Workspace.CellLayout.PageIndicator.Hotseat组成.如下图: Launcher 3 最主要的是一个Activity,基本上所有操作都集中在这个Activity上.这个…
安全研究做什么 从攻击角度举例,可以是:对某个模块进行漏洞挖掘的方法,对某个漏洞进行利用的技术,通过逆向工程破解程序.解密数据,对系统或应用进行感染.劫持等破坏安全性的攻击技术等. 而防御上则是:查杀恶意应用的方法,检测和防范漏洞利用,为增强系统和第三方应用的安全性提供解决方案等. 当然,通常情况下攻与防的概念是相对模糊的,一种安全技术往往在攻防两端都适用,也许更值得留意的是一种技术背后的思路和意识.研究员需要在新技术上倾注灵感,并且付出相当程度的汗水,才能换来某种成果--通过艰难的探索过程最终…
已经很久没更新Launcher系列文章,今天不分析源码,讲讲如何在Launcher里面添加桌面设置的功能.目前很多第三方Launcher或者定制Rom都有简单易用的桌面设置功能.例如小米MIUI的Launcher就有很丰富编辑功能.今天开始会讲一下如何实现桌面编辑功能.网上对于实现Launcher一些编辑功能的文章凤毛麟角,基本没什么资料可以参考,只能靠自己摸索对比别人Launcher的效果. 桌面编辑功能我主要分为 壁纸设置.Widget插件.切换特效.主题 4个部分.这个主要是参考OPPO的…
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 个人技术博客:http://www.cnblogs.com/Mufasa/ 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成时间:2019.03.06 本项目希望您能完成以下任务: - 优化python字节码解析代码,从底层提升python脚本运行效率:(底层.编译器.虚拟机) - 基本思路可以统计游戏常用opcode指令,进行类似opcode合…
在Android中对Wifi操作,android本身提供了一些实用的包.在android.net.wifi包以下.简介一下: 大致能够分为四个基本的类ScanResult,wifiConfiguration,WifiInfo,WifiManager (1)ScanResult,主要是通过wifi 硬件的扫描来获取一些周边的wifi 热点的信息. (2)wifiConfiguration 在我们连通一个wifi 接入点的时候,须要获取到的一些信息.大家能够跟我们有线的设备进行对照一下. (3)Wi…
目前,互联网行业正在朝着移动互联网方向强劲地发展,而移动互联网的发展离不开背后的移动平台的支撑.众所周知,如今在移动平台市场上,苹果的iOS.谷歌的Android和微软的Windows Phone系统已经形成了三足鼎立的形势,而Android系统的市场占有率是最高的.Android系统之所以能够在市场上占据着第一的位置,一来是因为它依托着谷歌的品德效应和技术实力,二来是因为它是开放的,任何人都可以得到它的源代码,并且能够自由地使用它.既然Android系统是开放的,作为一个移动平台开发人员来说,…
最近在研究学习基于Android的移动应用开发,准备给家里人做一个应用程序用用.向公司手机移动团队咨询了下,觉得使用Android的WebView上手最快,因为WebView等于是一个内置浏览器,可以基于html页面开发,不用去学习Android自带的七七八八的控件.然后加上Jquery mobile的样式渲染和事件等,就能非常方便的做动态应用了. 从现在起,往后一段时间,我打算写一个实战系列,介绍开发这款手机应用学习到的技术知识以及遇到的问题.希望这个系列能对后面的新人有所帮助,也希望老手们对…
在上一篇<Android多线程研究(5)--线程之间共享数据>中对线程之间的数据共享进行了学习和研究,这一篇我们来看看怎样解决多个线程之间的数据隔离问题,什么是数据隔离呢?比方说我们如今开启了两个线程,这两个线程都要同一时候给同一个全局变量data赋值.各个线程操作它赋值后的变量数据,这里就须要用到隔离.先看一段代码: import java.util.Random; public class ThreadLocalTest { private static int data = 0; pub…
本文转载自:http://www.cnblogs.com/whp2011/archive/2015/01/26/4250875.html 一.安全研究做什么 攻击角度:对某个模块进行漏洞挖掘的方法,对某个漏洞进行利用的技术,通过逆向工程破解程序.解密数据,对系统或应用进行感染.劫持等破坏安全性的攻击技术等. 防御角度:查杀恶意应用的方法,检测和防范漏洞利用,为增强系统和第三方应用的安全性提供解决方案等. 通常,攻与防是相对模糊的,一种安全技术往往两端都适用,也许更值得留意的是一种技术背后的思路和…
本来想分析AppsCustomizePagedView类,不过今天突然接到一个临时任务.客户反馈说机器界面的图标很难点击启动程序,经常点击了没有反应,Boss说要优先解决这问题.没办法,只能看看是怎么回事.今天分析一下Launcher启动APP的过程.从用户点击到程序启动的流程,下面针对WorkSpace上的快捷图标点击启动流程进行分析.(如果分不清WorkSpace是什么或者不知道快捷方式和其他图标区别,请看我前面的Launcher分析文章) PS:新建的QQ群,有兴趣可以加入一起讨论:And…
(1)      Launcher的定义:Android系统启动后,加载的第一个程序,是其他应用程序的入口. (2)      Launcher的构成:HomeScreen(1.workspace(AppWidget,Wallpaper,Livefolder,ShortCut),2.HotSeats,3.AllApps/allApplist:GridView) (3)      针对Launcher的开发类型: 1.      开发自定义的Launcher 2.      与Workspace相…
http://blog.csdn.net/shagoo/article/details/6709430 > 开发环境1.安装 Eclipse 和 android-sdk 并解压安装2.Eclipse 安装 AVD 插件 https://dl-ssl.google.com/android/eclipse/ 并配置 SDK Location3.打开 SDK Manager 安装 android packages 并配置 Virtual device(比如名为:Android_2.2)4.启动 Vir…
1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 android NDK 实用学习(三)- java端类对象的构造及使用 android NDK 实用学习(四)-类缓存 2,java端类接口定义: public class RTKNativeManager { // 其他接口 // 开给c++端的接口 public static void noti…
1,读此文章前我假设你已经读过: android NDK 实用学习-获取java端类及其类变量 android NDK 实用学习-java端对象成员赋值和获取对象成员值 2,java端类对象的构造: ①首先获取类; ②获取类的无参构造函数: jmethodID initID = env->GetMethodID(jcSetDataMgr, "<init>", "()V"); ③构造类实例: jobject jresult = env->New…
1,关于java端类及接口定义请参考: android NDK 实用学习-获取java端类及其类变量 2,对传过来的参数进行赋值: 对bool类型成员进行赋值  env->SetBooleanField(jobj, jfbdata, false); 对double类型成员进行赋值 env->SetDoubleField(jobj, jfddata, 209.22); 对int类型成员进行赋值 env->SetIntField(jobj, jfidata, ); 对byte类型成员进行赋值…
首先得了解最基础的装饰器模式 参考 设计模式之八 --- 装饰模式(Decorator) 参考链接:http://blog.csdn.net/cjjky/article/details/7478788 然后学习 Android源码学习之装饰模式应用 http://www.cnblogs.com/yemeishu/archive/2012/12/30/2839489.html…
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: package com.liuhaoyu; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import…
原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码) 基于 Android NDK 的学习之旅-----数据传输(引用数据类型) 接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1.  String 字符串传输 a)         上层定义一个native的方法…
原文 利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习) Mono.Cecil是一个强大的MSIL的注入工具,利用它可以实现动态创建程序集,也可以实现拦截器横向切入动态方法,甚至还可以修改已有的程序集,并且它支持多个运行时框架上例如:.net2.0/3.5/4.0,以及silverlight程序 官方地址:http://www.mono-project.com/Cecil 首先,我先假想有一个这样的商业组件,该组件满足了以下条件: 1. 该程序集的代码被混淆过了 2. 该程序…
Android之SurfaceView学习(一) 首先我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing surface embedded inside of a view hierarchy. You can control the format of this surface and, if you like, its size; the SurfaceView takes care of pla…
 [Android] Android XML解析学习——方式比较 (ZT)  分类: 嵌入式 (From:http://blog.csdn.net/ichliebephone/article/details/5981913) 一.基础知识 经过这段时间的学习,我们已经了解了Android平台上用于解析XML的三种方式:SAX.DOM和Pull.并且在学习的过程中也介绍了这三种方式各自的特点及适合的使用场合,简单的来说,DOM方式最直观和容易理解,但是只适合XML文档较小的时候使用,而SAX方式更…
开篇: 本人也是众多Android开发道路上行走的一员,听了不少大神的知乎live,自己也看了不少书,也和不少前辈交流过,所以在这里分享一下Android开发应该学习的书籍以及知识,当然,也包括一些方法,希望对更多想进入这个行业的人有所帮助. 众所周知,现在移动开发早就不是最热门的程序员职业了,如果你没一点真功夫,仅仅靠两三个月的集训已经很难在这个行业中占有一席之地了.因此,想拥有真正的“真本事”是要花相当长时间的,我的这篇学习计划主要面向的人群是敢于花时间,切能坚持下来的同学,比如说:想从事A…
前面已经写过Hotseat分析的文章,主要是讲解如何在Launcher里面配置以及修改Hotseat的参数.今天主要是讲解一下如何在Hotseat里面的Item显示名称.这个小问题昨天折腾了半天,最后幸亏我亲爱的女朋友大人提醒了我,才想到原因.在此十分感谢我女朋友大人的提醒,幸好她不是做程序员,不然我就要失业了O(∩_∩)O哈哈~ (PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434) 默认Hotseat里面的元素都没有标题 1.Hotseat隐藏文件夹标题 刚开始…
上一篇文章说了如何修改Android自带Launcher2的默认界面设置(http://www.cnblogs.com/mythou/p/3153880.html). 今天主要是说说Launcher里面图标.布局.壁纸等的设置问题.毕竟我们一般修改Launcher,这些都是需要修改的地方,也是比较容易修改的部分.按照效果图(效果图在上一篇文章),分开说明如何修改,以及里面涉及的逻辑分析. 原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3155692.h…
前面两篇文章都是写有关Launcher配置文件的修改,代码方面涉及不多,今天开始进入Launcher代码分析. 我们开机启动Launcher,Launcher是由Activity Manager启动的,而Activity Manager是由system server启动. 原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3157452.html 1.Launcher进程启动过程 可以由下面图看到Launcher进程是如何被创建启动: Activity M…