1.部署安全性:应用程序必须使用数字证书才能安装到设备上. 2.执行期间的安全性:    2.1 使用独立进程    2.2 使用固定唯一用户ID    2.3  申明性权限模型   3数字证书    3.1.数字证书的用处:使用数字证书对应用进行签名后,防止应用程序被非法更新(只有相同的数字证书才能更新应用)    3.2.数字证书:包含相关信息(如:公司名称和地址等)的工件. 重要特性包括(签名和公/私钥).    3.3.数字证书的获取:a.从证书授权机构购买 b.使用keytool等工具…
收发短信是每一个手机主要的操作,android手机当然也能够接收短信了. android系统提供了一系列的API,使得我们能够在自己的应用程序里接收和发送短信. 事实上接收短信主要是利用我们前面学过的广播机制.当手机接收到一条短信的时候,系统会发出一条值为andorid.provider.Telephony.SMS_RECEIVED的广播.这条广播里携带着与短信相关的全部数据. 每一个应用程序都能够在广播接收器里对它进行监听,收到广播时在从中解析出短信的内容就可以. 以下我们来个详细的样例实践下…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的Android的几个常用控件的使用方法: 一.RadioGroup和RadioButton——单选按钮 二.Checkbox——复选框 三.Toast——提示框,会自动消失 四.ProgressBar——进度条工具 五.ListView——以列表形式将控件显示出来 下面就对这些内容做个详细的解释: 首…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的第四天,在程序中已经遇到了JAVA中以前不常用的一些知识点,赶紧回顾复习一下,打下基础 这里就做个简单的小结: 一.匿名内部类 匿名内部类说白了就是个没有被命名的JAVA类 在以下条件下使用匿名内部类比较适合: ①只用到该类的一个实例时 ②类在定义后被马上用到 ③类非常小(SUN推荐是在4行代码以下…
在强化学习(十三) 策略梯度(Policy Gradient)中,我们讲到了基于策略(Policy Based)的强化学习方法的基本思路,并讨论了蒙特卡罗策略梯度reinforce算法.但是由于该算法需要完整的状态序列,同时单独对策略函数进行迭代更新,不太容易收敛. 在本篇我们讨论策略(Policy Based)和价值(Value Based)相结合的方法:Actor-Critic算法. 本文主要参考了Sutton的强化学习书第13章和UCL强化学习讲义的第7讲. 1. Actor-Critic…
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增加了很多的新组件,一直没有系统的学习过.现在开始这个“完善Android学习”系列,将2.2以后的新知识做一个概览.概览来自:http://developer.android.com/about/versions/android-3.1.html Android3.1平台(HONEYCOMB_MR1). AP…
Android camera用来拍照和拍摄视频的先看一下最后实现的效果图             最后的效果图 一.准备 在你的应用程序上使用android拍照设备,需要考虑以下几个方面 1. 是否是一定需要camera 如果需要,那么就无法安装在没有摄像头的设备. 需要在mainfest 中声明 <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:nam…
一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你可以对表达式的类型进行匹配;优先选择模式匹配而不是isInstanceOf/asInstanceOf 你可以匹配数组,元祖,样例类的模式,然后匹配到不同部分绑定到变量 在for表达式中,不能呢匹配的情况会被安静的跳过 样例类是编译器会为之自动 二.更好的switch var sign=... val…
Preference直译为偏好,博友建议翻译为首选项.一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依旧有效,无须用户再一次进行配置或选择.Android提供preference这个键值对的方式来处理这样的情况,自己主动保存这些数据,并立时生效,同一时候Android提供一种类似的layout的方式来进行Prefernce的布局. 一个简单的Preferenece样例 步骤1:编写preference XML,在res/xml/下增加我们的preference XML文件…
--用户(user) SQL> --创建一个名为 grace password是password 的用户,新用户没有不论什么权限 SQL> create user grace identified by password; 验证用户: password验证方式(username/password) 外部验证方式(主机认证,即通过登陆的username) 全局验证方式(其它方式:生物认证方式.token方式) 优先级顺序:外部验证>password验证 --权限(privilege) 用户…
文件存储和SharePreference存储以及数据存储一般为了安全,最好用于当前应用程序中訪问和存储数据.内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,同意一个程序訪问还有一个程序中的数据,同一时候还能保证被訪问数据的安全性.眼下使用内容提供器是android实现跨程序共享数据的标准方式.内容提供器能够选择仅仅对一部分数据进行共享.从而保证我们的程序中的隐私数据不会有泄漏的风险. 内容提供器的使用方法一般有两种,一种是使用…
原文链接:http://www.orlion.ga/661/ 打开SQLite博文中创建的 DatabaseDemo项目,首先将 MyDatabaseHelper中使用 Toast弹出创建数据库成功的提示去除掉,因为跨程序访问时我们不能直接使用 Toast.然后添加一个 DatabaseProvider类,代码如下所示: package ga.orlion.databasedemo; import android.content.ContentProvider; import android.c…
一.LinearLayout 线性布局,即一行展开或者一列展开,也可以嵌套,需要注意的属性如下: android:orentation  //对齐方式 二.FrameLayout 帧布局,即一层层叠起来,最先放的在最底下,需要注意的属性如下: 无 三.RelativeLayout 相对布局,即通过对某一参照控件,进行布局,需要注意的属性如下: android:layout_toLeftof//在某参照物的左边 android:layout_toRightof//在某参照物的右边 android:…
一.认识拦截器 拦截器也是一个类 拦截器可以在Action被调用之前和之后执行代码 框架很多核心功能是拦截器实现的 拦截器的特点: 拦截器自由组合,增强了灵活性.扩展性.有利于系统解耦 拦截器可以拦截Action请求 在访问的Action执行之前和执行之后执行代码实现某项功能 Struts2: 大部分功能是在拦截器中实现的如:接收输入的参数,数据验证,文件上传,国际化等 应用程序: 需要在Action执行的前后执行特定功能 Action执行时间统计,Action访问权限管理 Action添加功能…
SQLite数据库(sqliteexpert工具),sqlite数据库是轻量级数据库,对数据类型要求不是很严格,在数据库中处理是按verchar类型处理,一般定义表字段时还是要求严格按照数据类型定义,方便代码阅读. 创建数据库 基于android.database.sqlite.SQLiteOpenHelper创建MyOpenHelper,调用SQLiteDatabase db = oh.getWritableDatabase()方法创建数据库,数据库创建后再调用此方法不会再创建数据库,数据库创…
教材学习内容总结 图形和定制视图 硬件加速 Android APILevel14及其以上版本为目标的应用程序来说,硬件加速是默认可用的. 可通过android:hardwareAccelerated="false"来关闭活动或应用的硬件加速. 创建一个定制视图 要创建一个定制视图,需要扩展android.view.View类或其一个子类,并且覆盖其onDraw方法. onDraw方法的签名为: protected void onDraw (android.graphics.Canvas…
我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前, 视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit等等.那么我们平时看到的Android手机中那些漂亮的界面是怎么显示 出来的呢?这就要用到Android的布局管理器了,网上有人比喻的很好:布局好比是建筑里的框架,组件按照布局的要求依次排列,就组成了用于看见的漂亮界面了. 在分析布局之前,我们首先看看控件:Android中任何可视化的控件都是从an…
Spring security: 我用过的安全机制:   oauth2, filter,  secured方法保护 9.2  保护web请求: 9.2.1  代理Servlet过滤器: DelegatingFilterProxy:  作用: 用户认证授权/统计web访问量/日志功能 / 数据压缩 / 对数据进行加密 / XML文件的XSLT转换. 9.2.2  配置最小的web安全行: 配置拦截URL请求<intercept-url> 的pattern 属性可以根据用户权限限制对URL的访问.…
package org.tonny; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.w…
自定义控件: 1.定义控件的属性,atts.xml 2.代码实现自定义控件的控制 3.引用该控件 首先定义相关的属性 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="TopBar"> <!-- title提示已经定义,那就直接引用 --> <attr name="title&quo…
error: Error retrieving parent for item: No resource found that matches the given name 'android:Wind 首先把android-support-v7-appcompat 导入Eclipse File->Import (android-sdk(你的Android SDK目录)\extras\android\support\v7). 选择 "appcompat" 然后选择你的Project…
一.Content Provider基本概念 1.ContentProvider为存储和获取数据提供了统一的接口.ContentProvide对数据进行封装.不用关心数据存储的细节.使用表的形式来组织数据. 2.使用ContentProvider能够在不同的应用程序之间共享数据. 3.Android为常见的一些数据提供了默认的ContentProvider(包含音频.视频.图片和通讯录等). ContentProvider所提供的函数: query(),insert(),update(),del…
14.1 为什么使用存储过程和函数 一个完整的操作会包含多条SQL语句,在执行过程中需要根据前面SQL语句的执行结果有选择的执行后面的SQL语句. 存储过程和函数的优点: 允许标准组件式编程,提高了SQL语句的重用性.共享性和可移植性. 实现较快的执行速度,减少网络流量. 可以被作为一种安全机制来利用. 存储过程和函数的缺点: 编写比单句SQL复杂,需要用户具有更高的技能和更丰富的经验. 在编写存储过程和函数时,需要创建这些数据库对象的权限. 14.2 创建存储过程和函数 14.2.1 创建存储…
Android Adapter详解 Android是完全遵循MVC模式设计的框架,Activity是Controller,layout是View.因为layout五花八门,很多数据都不能直接绑定上去,所以Android引入了Adapter这个机制作为复杂数据展示的转换载体,所以各种Adapter只不过是转换的方式和能力不一样而已. Adapter是将数据绑定到UI界面上的桥接类.Adapter负责创建显示每个项目的子View和提供对下层数据的访问. 在多数情况下,你不需要创建自己的Adapter…
一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素.  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端     语法:<%= 变量或表达式 %>     举例:输出当前系统时间: 1 <%= new java.util.Date() %> JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(…) 将数据输给客户端. JSP脚本表…
Activity有四种启动模式:standard,singleTop,singleTask,singleInstance. 1.standard:标准启动模式 默认模式,这个模式下启动的Activity会多次创建实例.每次启动一个Activity都会重写创建一个新的实例,不管这个实例存不存在,这种模式下,谁启动了该模式的Activity,该Activity就属于启动它的Activity的任务栈中. 2.singleTop:栈顶复用模式 这个模式下启动Activity,如果栈顶也是同一个Activ…
SpringBoot + Redis +SpringSession 缓存之实战 前言 前几天,从师兄那儿了解到EhCache是进程内的缓存框架,虽然它已经提供了集群环境下的缓存同步策略,这种同步仍然需要消耗一定时间的,就是从某种程度上讲短暂的缓存不一致依旧存在. 所以,我就选择了集中式缓存,在 SpringBoot 工程中使用 Redis 进行缓存. 个人参考案例 个人博客 : https://zggdczfr.cn/ 个人参考案例(如果认可的话,麻烦给颗star) : https://gith…
1.api level大于等于11 支持,或者使用兼容库,但兼容库的问题很多. 2.一个操作栏属于一个活动,并具有其生命周期 3.操作栏分3类:a.选项卡操作栏,b.列表操作栏,c.标准操作栏 4.获取活动的的操作栏  getActionBar() 5.设置操作栏的导航模式      ActionBar ab = getActionBar();    ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 6.添加tab并设置标题和监听器   …
一.效果图及功能描述 效果图 点击ShowImg后 点击match,然后点击showmatch,可以不断点击showmatch. 主要功能描述:显示在SD卡上已经存在的图片test.jpg,根据图片在cameraframe对于每一帧计算和test.ipg的匹配并显示. 二.界面设计 一个JavaCameraView用来显示帧相当于是相机的预览,两个ImgView一个用来显示要匹配的图像,一个用来显示最后得到的匹配图.三个Button对应三个View,ShowImg用来显示SD卡上的test.jp…
1.android:gravity 指定控件的基本位置,比如居中.居右等位置 Top:顶部 bottom:底部 left:居左 right:居右 center_vertical:垂直居中 center_Horizontal:水平居中 fill_vertical:待研究 fill_Horizontal:待研究 2.android:textSize 字体大小如:"16pt" 3.android:background 背景 如 颜色:“#aa0000” 图片:“@drawable/backg…