1.PreferenceActivity 介绍 PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的状态持久化储存,举个例子 比如用户选中checkbox后 退出应用然后在进入应用,这时用户希望看到的是checkbox被选中,所以软件须要记录用户每次操作的过程并且持久储存,在进入应用的时候须要判断这些 久储存的数据然后将系统控件的状态呈现在UI中.尤其是软件开发肯定会有一堆设置选项选项,每次进入A…
本文转于 “雨松MOMO的程序世界” 博客,请务必保留此出处http://xys289187120.blog.51cto.com/3361352/656784 1.PreferenceActivity 介绍 PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的状态持久化储存,举个例子 比如用户选中checkbox后 退出应用然后在进入应用,这时用户希望看到的是checkbox被选中,所以软件须要记…
Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者简单的展示一些在线内容等.WebView功能强大,应用广泛,但它是天使与恶魔的合体,一方面它增强了APP的上网体验,让APP功能更多样化,另一方面它也引入了很多的安全问题.在过去几年WebView中被披露的重大漏洞包括了任意代码执行漏洞.跨域.密码明文保存等,这些安全问题可以直接导致用户敏感信息泄露…
本篇文章由:http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gradual-two/ 说明 文章列表 android软件开发之webView.addJavascriptInterface循环渐进[一]: http://www.sollyu.com/?p=302 android软件开发之webView.addJavascriptInterface循环渐进[二]: h…
本篇文章由:http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gradual-one/ 说明 文章列表 android软件开发之webView.addJavascriptInterface循环渐进[一]: http://www.sollyu.com/?p=302 android软件开发之webView.addJavascriptInterface循环渐进[二]: h…
ListView的使用方法  ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView ,今天我通过一个demo来教大家怎么样使用ListView组件 绘制出漂亮的列表,说道ListView就不得不说Adapter适配器,因为只有通过Adapter才可以把列表中的数据映射到ListView中.在android的开发中最Adapter 一共可以分为ArrayAdapter<T>,BaseAdapter, CursorAdapter,HeaderVie…
0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者简单的展示一些在线内容等.WebView功能强大,应用广泛,但它是天使与恶魔的合体,一方面它增强了APP的上网体验,让APP功能更多样化,另一方面它也引入了很多的安全问题.在过去几年WebView中被披露的重大漏洞包括了任意代码执行漏洞.跨域.密码明文保存等,这些安全问题可以直接导致用户敏感信息泄露,移动终端被恶意攻击者控制.下文将详细介绍这一系…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xys289187120.blog.51cto.com/3361352/657171 ListView的使用方法  ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView ,今天我通过一个demo来教大家怎么样使用ListView组件 绘制出漂亮的列表,说道ListView就不得不说Adapter适配器,因为只有通过Adapter才…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xys289187120.blog.51cto.com/3361352/657189 EditText在API中的结构 java.lang.Object android.view.View android.widget.TextView  android.widget.EditText已知直接子类: AutoCompleteTextView, ExtractEditText已知间…
EditText在API中的结构 java.lang.Objectandroid.view.Viewandroid.widget.TextView        android.widget.EditText 已知直接子类:AutoCompleteTextView, ExtractEditText 已知间接子类:MultiAutoCompleteTextView EditText是TextView的直接子类 所以EditText会继承父类TextView的一些方法.下面我用自己写的一个Demo…
SharedPreferences 一种轻量级的数据保存方式 以键值对的方式存储 用于存储小批量的数据   使用方法: SharedPreferences sp= getSharedPreferences("myopt"(文件名),Context.MODE_PRIVATE(数据存储方式)); 存储文件名,数据将保存在/data/data/basepackage/shared_prefs/myopt.xml   存入数据 putXXX SharedPreferences.Editor e…
TextView控件 text属性,设置显示的文本 textColor:设置文本颜色 textSize:设置文本字体大小 autoLink:设置文本为电话,URL连接等的时候是否显示为可点击的链接 cursorVisible:设定光标为显示或者隐藏,默认为显示 drawableTop:在文本上方输出一个drawable,如图片 drawableLeft.drawableBottom.drawableRight如上 drawablePadding:设置图片的外边距 singleLine:设置单行显…
1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件.如果被覆盖掉的文件是动态链接so.dex或者odex文件,轻则产生本地拒绝服务漏洞,影响应用的可用性,重则可能造成任意代码执行漏洞,危害用户的设备安全和信息安全.比如近段时间发现的“寄生兽”漏洞.海豚浏览器远程命令执行漏洞.三星默认输入法远程代码执行漏洞等都与ZIP文件目录遍历有关. 阿里聚安全的应用漏洞扫描服务,可以检测出应用…
前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与java互相调用的需求.它就是WebViewJavascriptBridge. 学习动机: 先看下之前的解决办法:Android混合开发之WebView与Javascript交互 最近棒棒安全的一个市场推广来我们公司推广他们的产品,当时也没太引起我的注意,后来这个市场推广人员把我们的app的进行了他们…
前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybrid App居多,单纯的数据展示我们直接采用WebView来渲染就可以了,但是有时候可能会用到两者之间传递参数的情况,今天就来总结一下两者之间如何互相调用.本篇主要介绍WebView与Javascript交互数据,关于如何将H5网页呈现在WebView上可以参考这篇博客:Android总结之WebVi…
前言: 今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结. 混合开发相关博客: Android混合开发之WebView使用总结 Android混合开发之WebView与Javascript交互 使用场景: 1.)添加权限 <uses-permission android:name="android.permission.INTERNET" /> 2.)布局文件 <WebView android:id="@+…
上一篇中,我们主要学习了Java调用本地方法,并列举了两大特殊实例来例证我们的论据,还没学习的伙伴必须先去阅读下,本次的学习是直接在上一篇的基础上进行了.点击:Android NDK开发之从Java与C互调中详解JNI使用(一) 本篇我们主要学习如何从C源码中调用Java代码,以及使用gradle-experimental来调试原生代码. C 调用 Java 成员变量 首先我们现在Java2CJNI类中定义几个成员变量,如下: 这里定义了两个普通成员变量和一个静态成员变量. 就像C不能直接使用J…
1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在"../"的字符串,攻击者可以利用多个"../"在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件.如果被覆盖掉的文件是动态链接so.dex或者odex文件,轻则产生本地拒绝服务漏洞,影响应用的可用性,重则可能造成任意代码执行漏洞,危害用户的设备安全和信息安全.比如近段时间发现的"寄生兽"漏洞.海豚浏览器远程命令执行漏洞.三星默认输入法远程代码执行漏洞等都与ZIP文件目录遍历有…
AsyncQueryHandler: 官方解释是一个异步帮助类(A helper class to help make handling asynchronous ContentResolver queries easier.) .这个类的主要作用就是异步对DB数据库进行操作,加快其数据处理的速度(这个非常重要,特别是大容量的数据处理时,例如几千联系人的数据读取,按正常的处理速度会非常的慢,使用AsyncQueryHandler,这就会大大的加快速度,增加用户的良好体验). AsyncQuery…
Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值 题外话:一个问题研究到最后,那边记录文档的前半部分基本上都是没用的,甚至是错误的. 重点在最后,前边不过一些假想猜測. http://blog.csdn.net/kangear/article/details/40072707 在调试一下红外遥控器input驱动时,直接採用的是一个半成品的驱动在上边实现的自己的设备的匹配,但同一时候遇到了一些关于input输入子系统的疑惑. 按键一般有「按下和抬起」两个状态一般使用0和1…
Android驱动开发之Hello实例:   驱动部分 modified:   kernel/arch/arm/configs/msm8909-1gb_w100_hd720p-perf_defconfig modified:   kernel/arch/arm/configs/msm8909-1gb_w100_hd720p_defconfig modified:   kernel/drivers/input/misc/Kconfig modified:   kernel/drivers/inpu…
上篇博客我们聊了<JavaEE开发之Spring中的依赖注入以及AOP>,本篇博客我们就来聊一下Spring框架中的Bean的作用域以及Bean的Init和Destroy方法,然后在聊一下Spring中的EL表达式.在Spring框架中我们可以使用@Scope注解来指定我们定义的Bean的作用域.下方会具体介绍几种参数的作用域. 在创建Bean时我们可以使用Java配置的方式,也就是@Bean注解的initMethod属性和destroyMethod属性来指定对应Bean的init()方法和d…
上篇博客我们详细的聊了Spring中的事件的发送和监听,也就是常说的广播或者通知一类的东西,详情请移步于<JavaEE开发之Spring中的事件发送与监听以及使用@Profile进行环境切换>.本篇博客我们就聊一下Spring中的并发编程,看一下Spring中的多线程编程和任务的定时执行.下方我们就来聊一下这两方面的内容. 一.Spring中的多线程 本部分就来看一下Spring框架封装下的多线程编程.因为毕竟是被Spring封装过的异步并发编程,所以用起来还是蛮简单的.主要还是ThreadP…
上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条件来选择Bean对象的创建.条件注解就是可以根据不同的条件来做出不同的事情.在Spring中条件注解可以说是设计模式中状态模式的一种体现方式,同时也是面向对象编程中多态的应用部分.而组合注解就是将现有的注解进行组合.下方会给出具体的介绍和实例. 一.条件注解----@Conditional 本篇博客的本部分我…
上篇博客我们聊了<JavaEE开发之SpringMVC中的路由配置及参数传递详解>,本篇博客我们就聊一下自定义拦截器的实现.以及使用ModelAndView对象将Controller的值加载到JSTL上.最后再聊一下异常的捕获处理.这些在日常开发中都是经常使用的东西.具体请看下方内容. 一.自定义拦截器 顾名思义,拦截器是负责拦截某些东西的工具.本部分我们创建的拦截器是负责拦截请求的.这个拦截器类似于高速收费站,只要是想上高速的,都得经过我这个拦截器才可以.也就是说,接下来我们所创建的拦截器就…
在上篇博客中,我们聊了<JavaEE开发之SpringMVC中的自定义拦截器及异常处理>.本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js.css这些静态文件的加载配置,以及服务器推送的两种实现方式.当然我们在服务器推送时,会用到JQuery的东西,所以我们先聊一下如何加载静态资源文件,然后我们再聊如何实现服务器推送. 下方给出了两种实现服务器推送的方式,一种是SSE(Server Send Event (服务端推送事件))另一种是基于Servlet异步处理的推送,下方会给…
上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器(HttpMessageConverter)和SpringMVC中的文件上传.消息转发器在日常开发中是比较常用的,其可以灵活的将用户发过来的消息按照自定义的格式进行解析,然后将解析的数据映射成Model,下方会给出自定义消息转发器的详细内容.聊完消息转发器,我们还会聊一下Spring中MVC的文件上传的操作.…
上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条件来选择Bean对象的创建.条件注解就是可以根据不同的条件来做出不同的事情.在Spring中条件注解可以说是设计模式中状态模式的一种体现方式,同时也是面向对象编程中多态的应用部分.而组合注解就是将现有的注解进行组合.下方会给出具体的介绍和实例. 一.条件注解----@Conditional 本篇博客的本部分我…
本文转载自:http://www.itwendao.com/article/detail/227839.html Android驱动开发之Hello实例:   驱动部分 modified:   kernel/arch/arm/configs/msm8909-1gb_w100_hd720p-perf_defconfig modified:   kernel/arch/arm/configs/msm8909-1gb_w100_hd720p_defconfig modified:   kernel/d…
接下来的分析先从MMS中四大组件(Activity ,BroadCastReceiver,Service,ContentProvider),也是MMS中最核心的部分入手: 一. Activity  1.ConversationList 对话列表界面,这是进入应用程序的主界面.它有两个配置属性android:configChanges="orientation|keyboardHidden":在Android系统中,当程序所运行的环境(如:屏幕方向.键盘状态.字体等级,等等 )发生变化后…