总结:刚开始接触一个Chromium on Android时间.很好奇Chromium主消息循环是如何整合Android应用. 为Android计划,一旦启动,主线程将具有Java消息层循环处理系统事件,如用户输入事件,而Chromium为,己还有一套消息循环的实现,这个实现有哪些特点.又将怎样无缝整合到Android Java层的消息循环中去,正是本文所要讨论的话题. 原创文章系列.转载请注明原始出处为http://blog.csdn.net/hongbomin/article/details…
1 so 加载过程 so 加载的过程可以参考小米的系统工程师的文章loadLibrary动态库加载过程分析 2 问题分析 2.1 问题 年前项目里新加了一个 so库,但发现native 方法的找不到的 crash 好多,好些都是报了java.lang.unsatisfiedlinkerror native method not found,而且基本上是出现在4.x的系统里,特别是 4.4,4.2的系统.在网络上搜索相关的可能导致到这个问题的原因: so 文件没有在对应架构的目录里找到: 方法名有…
我们的经常使用的系统中,程序的工作一般是有事件驱动和消息驱动两种方式,在Android系统中,Java应用程序是靠消息驱动来工作的. 消息驱动的原理就是: 1. 有一个消息队列.能够往这个队列中投递消息; 2. 有一个消息循环.不断从消息队列中取出消息.然后进行处理. 在Android中通过Looper来封装消息循环.同一时候在当中封装了一个消息队列MessageQueue. 另外Android给我们提供了一个封装类.来运行消息的投递,消息的处理,即Handler. <!--more--> 在…
在android的activity中有各种各样的事件,而这些事件最终是转换为消息来处理的.android中的消息系统涉及到: *  消息发送 *  消息队列 *  消息循环 *  消息分发 *  消息读取  消息对应的重要类有MessageQueue.Looper.Handler,它们分别对应着消息队列.消息循环和消息处理. Handler类:Handler主要用来发送消息和处理消息.每个handler实例都对应着一个线程和该线程的消息队列.当你创建一个handler对象时,该handler对象…
由于监听系统短信广播受到权限的限制,所以很多手机可能使用这种方式没法监听广播,从而没办法获取到系统短信,所以又重新开辟一条路. Android监听系统短信数据库内容变化使用场景: 1.监听短信数据库的变化,添加删除修改,变化的时候会回调onChange方法 2.提取刚刚变化的那条短信的内容 备注: 1.这种方式虽然一开始能够监听到数据变化,但是要判断是刚刚接手到的短信,还需要做一些处理,具体看代码 2.这种方式需要从数据库里面去读取刚刚加入的那条短信,所以需要读取数据库权限,会弹出系统的权限申请…
引用:http://www.cnblogs.com/welenwho/archive/2012/05/10/2494984.html android想要获得系统权限有几种途径,一种就是你的程序固化的系统中,这种方式可以通过将apk放到rom中/system/app中然后刷机即可,或者是在你的程序root后通过root文件管理器将apk放到改目录下.第二种就是你的程序必须要有该平台的签名,那么怎样获得android下的系统签名呢. 首先需要有android的源码,编译出signapk.jar文件,…
Android manifest之系统自带的permission 本文描述Android系统自带的permission.点击查看:“关于permission的原始定义和说明”.点击查看:“Android官网中系统自带的permission定义”. android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在 checkin数据库中,改值可以修改上传( Allows read/write access to the “proper…
来源:HTTP://WWW.CNBLOGS.COM/GOODHACKER/P/3864680.HTML ANDROID应用安全防御 Android应用的安全隐患包括三个方面:代码安全.数据安全和组件安全. 1. 代码安全 代码安全主要是指Android apk有被篡改.盗版等风险,产生代码安全的主要原因是apk很容易被反编译.重打包.我们可以采用以下方法对apk进行保护: 1.1 代码混淆 代码混淆可以在一定程度上增加apk逆向分析的难度.Android SDK从2.3开始就加入了ProGuar…
Android的GUI系统是Android最重要也最复杂的系统之一.它包括以下部分: 窗口和图形系统 - Window and View Manager System. 显示合成系统 - Surface Flinger 用户输入系统 - InputManager System 应用框架系统 - Activity Manager System. 它们之间的关系如下图所示 只有对这些系统的功能和工作原理有基本的了解,我们才能够解答一些经常萦绕在脑海里的问题,比如说: Activity启动过程是怎样的…
Android 的窗口管理系统 (View, Canvas, WindowManager) 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道Android 应用程序是怎么创建出来的,大概的流程是 ActivityManagerService -> Zygote -> Fork App, 然后应用程序在ActivityThread 中的进入loop循环等待处理来自AcitivyManagerService的消息.如果一个Android的应用有…
Android的用户输入处理 Android的用户输入系统获取用户按键(或模拟按键)输入,分发给特定的模块(Framework或应用程序)进行处理,它涉及到以下一些模块: Input Reader: 负责从硬件获取输入,转换成事件(Event), 并分发给Input Dispatcher. Input Dispatcher: 将Input Reader传送过来的Events 分发给合适的窗口,并监控ANR. Input Manager Service: 负责Input Reader 和 Inpu…
android BroadcastReceiver ACTION_TIME_TICK 系统时间监听不到 今天做android上的消息推送,启动了一个独立service,然后在里面监听系统的ACTION_TIME_TICK消息,即tick就是以分钟为单位,每分钟都会监听到一次, 按照网上说的在androidmanifast.xml里加入了 <receiverandroid:name="com.xxx.xxx.TimeChangeReceiver"> <intent-fi…
一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包android 的打包一般是人工通过eclipse或者studio的ui界面打包的,如果要让系统自动打包,必须在控制台环境下:只要按照 google 的文档,把 eclipse 或者 studio 工程转化为 ant 或者 gradle 工程,就可以在控制台环境下打包了:这里,我们选择 ant,主要是它容错好,遇到图片格式等…
android开发中系统自带语音模块的使用需求:项目中需要添加语音搜索模块,增加用户体验解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求.这个问题很好解决,网上能找到很多的资料,但是没有直接导入工程就能用的例子,我这里写了一个完整的Demo,代码可以直接粘贴到自己项目中去,实现了语音搜索,并将搜索结果展示.语音搜索大致流程:启动系统自带的Intent,Intent参数设置为RecognizerIntent.ACTION_RECOGNIZE_SPEECH,再加上一些…
http://blog.csdn.net/jerryutscn/article/details/5519423 Android的属性系统 每条属性包含了名字和其对应的值,两者都用字符串来描述.Android系统中大量的使用了属性系统用于记录系统的设置(注:和windows系统里的注册表类似),以及进程间的信息交互.属性系统对于整个系统来说是全局的,也就是说每一个进程都可以获取和设置每条属性. 当系统初始化的时候,Android系统会分配一块共享内存用于存储属性信息.这些操作是在"init&quo…
第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. 2.一个可以查看Android源代码网站:http://androidxref.com/ 目录结构:Makefile (描述Android各个组件间的联系并指导它们进行自动化编译)bionic (bionic C库)bootable (启动引导相关代码)build (系统编译规则等基础开发包配置)…
很长时间没有写博客了,最近一直在写android for gis方面的项目.不过这篇博客就不写gis方面的了,今天刚刚做的一个简单的android登录系统.数据库是android自带的sqlite,sqlite的优势就不用我说了哈.下面进入正题. 1.数据库Help类 我们需要编写一个数据库辅助类来访问sqlite数据库.在数据库辅助类中,可以完成数据库的创建,表的增加.删除.修改.查询等操作. public class DBHelper extends SQLiteOpenHelper { p…
android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代码如下: package com.example.myphotos; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExcept…
wemall doraemon中Android app商城系统工具集合类,包含各种程序中用到的静态方法,可用于其他商城或者系统的编程参考 package cn.zzu.edu.wemall.utils; import java.io.File; import java.security.MessageDigest; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.HashMap; impor…
Android系统--输入系统(七)Reader_Dispatcher线程启动分析 1. Reader/Dispatcher的引入 对于输入系统来说,将会创建两个线程: Reader线程(读取事件) Dispatcher线程(分发事件) 2. Reader/Dispatcher的创建 我们知道在Android系统中,都普遍按照面向对象的思想来编写程序,对于问题,Android一般都是创建一个类去解决,在输入系统中,有两个线程,对于这两个线程,Android系统为这两个线程创建两个类,分别为Inp…
Android系统--输入系统(十三)Dispatcher线程情景分析_Reader线程传递事件 1. 输入按键 我们知道Android系统的按键分为三类:(1)Global Key;(2)System Key;(3)User Key Global Key:按下一个按键,启动某个APP. 具体使用哪个按键启动哪个APP可以自己指定,修改\frameworks\base\core\res\res\xml\Global_keys.xml,接下来有一篇博文具实现,假设它是AKEYCODE_TV Sys…
Android实现系统下拉栏的消息提示--Notification 系统默认样式 默认通知(通用) 效果图 按钮 <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="notificationDefault" android:text="默认通知(通用)" /> 实现 /**…
Android获取当前系统语言 getResources().getConfiguration().locale.getCountry() 国际化常用语言 中文: getResources().getConfiguration().locale.getCountry().equals("CN") 繁体中文: getResources().getConfiguration().locale.getCountry().equals("TW") 英文(英式): getRe…
Android群英传笔记--第一章:Android体系与系统架构 图片都是摘抄自网络 今天确实挺忙的,不过把第一章的笔记做一下还是可以的,嘿嘿 1.1 Google的生态圈 还是得从Android的起源说起,Android是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中.Android已发布的最新版本为Android 6.0.1(M). Android系统最初由安…
http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限请求代码(默认权限禁止),否则应用程序无法响应:Android 7.0在Android 6.0的基础上,对系统权限进一步更改,这次的权限更改包括三个方面: APP应用程序的私有文件不再向使用者放宽 Intent组件传递file://URI的方式可能给接收器留下无法访问的路径,触发FileUriExp…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 参考资料<一起来学习Android 8.0系统的应用图标适配吧>中已经讲得很清楚了,这里我只是简单总结下.详情的内容请阅读参考资料! 为什么进行图标适配? 可能有些朋友觉得困惑,应用图标这种东西从Android远古时代就已经有了,而且功能格外的简单,就是放张图片而已,这有什么好适配的呢?但实际上,在当前Android环境下,应用图标功能是极其混乱的.可以看到,在Android上,应用图标可以是方形.圆形.圆角矩形.或者是其他任…
一.前言 在Android的体系中开发普通app使用Android Studio这一利器会非常的方便.但是开发系统app可能就会有些吃力,不过经过一些配置仍然会 很简单.我们知道系统app因为涉及到一些系统API和系统权限的原因,需要使用系统级别的签名才行,也就是platform签名.同时在Studio中 直接调用系统API是不可行的.使用Android Studio开发系统app,所要解决的其实也就是这两个问题. 二.目录 1.配置前的准备 2.在Android Studio中调用系统API…
开发语言: java.ios.android 部署平台: linux.window jdk版本:JDK1.7以上版本 开发工具: eclipse.idea等 服务器中间件:Tomcat 6.7.Jboss 7.WebLogic 10.WebSphere 8 框架支持: springmvc.mybatis.shiro.restful.redis.sso单点登录 通用管理: 用户管理.角色管理.权限管理.动态菜单.数据字典管理.机构管理.区域管理.日志管理.日志监控.代码生成工具. 1.用户管理:用…
使用三星手机的过程中发现三星手机系统自带的滑动条有一个特效.比方调节亮度的滑动条.在滑动滑块的过程中,滑块会变大.功能非常小可是体验却非常好,于是决定做一个这种效果出来.好了废话不多说了,以下開始实现 我们知道在SeekBar控件中有两个非常重要的属性,一个是进度条(即android:progressDrawable属性),一个是滑块(即android:thumb属性),我们主要用到的是滑块的特效,这里就把进度条的配置略微的介绍一下,先上代码: 在res/xml目录下创建seekbar_prog…
linux输入子系统 Android是linux内核的,所以它的事件处理系统也在linux的基础上完成的. Linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventX来命名的,如event0,event1等等,但是如果是虚拟机的话,我们可以看到一个mice,这个mice代表鼠标设备,这是由于PC需要使用鼠标来模拟触屏. 由于这些设备节点是硬件相关的,所以每款设备都是不尽相同的. 看…