精华内容
下载资源
问答
  • 论信息系统与APP融合之道.pdf
  • 目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。 一、Web App、Hybrid App、Native App 纵向对比 首先,我们来看看什么是 Web App、Hybrid App、 Native App。   (1)Web APP Web App ...

    转载自”百度MUX”

    目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。

    一、Web App、Hybrid App、Native App 纵向对比



    首先,我们来看看什么是 Web App、Hybrid App、 Native App。
     

    (1)Web APP

    Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。


     优点
    (1)开发成本低,
    (2)更新快,
    (3)更新无需通知用户,不需要手动升级,
    (4)能够跨多个平台和终端。


     缺点:
    (1)临时性的入口
    (2)无法获取系统级别的通知,提醒,动效等等
    (3)用户留存率低
    (4)设计受限制诸多
    (5)体验较差
     

    (2)Hybrid App

    Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。
    例如Store里的 新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。
    Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。尚不完美。
     

    (3)Native App

    Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。需要用户下载安装使用。


     优点:
    (1)打造完美的用户体验
    (2)性能稳定
    (3)操作速度快,上手流畅
    (4)访问本地资源(通讯录,相册)
    (5)设计出色的动效,转场,
    (6)拥有系统级别的贴心通知或提醒
    (7)用户留存率高


     缺点:
    (1)分发成本高(不同平台有不同的开发语言和界面适配)
    (2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本)
    (3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂

     

    二、Web App、Hybrid App、Native App 技术特性

     

    由上图可见,Web APP 的开发基于Html5语言。而Html5语言本身又有着不可避免的局限性。正是这些局限性的存在,使得Web App在体验中要逊于Native App。
     

    三、Web App受限制因素及设计要点

    相比Native App,Web App体验中受限于以上5个因素: 网络环境,渲染性能,平台特性,受限于浏览器,系统限制。
     

    (1)网络环境,渲染性能



    Web APP对网络环境的依赖性较大,因为Web APP中的H5页面,当用户使用时,去服务器请求显示页面。如果此时用户恰巧遇到网速慢,网络不稳定等其他环境时,用户请求页面的效率大打折扣,在用户使用中会出现不流畅,断断续续的不良感受。同时,H5技术自身渲染性能较弱:对复杂的图形样式,多样的动效,自定义字体等的支持性不强。
    因此,基于网络环境和渲染性能的影响,在设计H5页面时,应注意以下几点:


     简化不重要的动画/动效
     简化复杂的图形文字样式
     减少页面渲染的频率和次数


    从下图移动Web版 jing.fm和Native版jing对比后可以看出:Web APP首页去除冗余的功能,回溯本源,只给用户提供了jing.fm最初的本质需求—电台。既符合H5精简功能又达到了突出核心功能的设计原则。无疑给用户眼前一亮的气息。
    正如书中《瞬间之美》的一个核心观点:重要的并不是我们提供的信息量有多大,而是我们能否给他们提供真正需要的信息。



    再如:百度最新推出的直达号,以良子健身为例:
    从Native App和Web App(百度直达号)的对比中,我们可以看出Native良子以九宫格的形式展现,且属于双重导航,功能入口太多;弊端是用户不知道聚焦在哪里,分散用户的注意力。而Web版良子整合并减少了导航的入口,增强用户的专注度;界面清爽,整洁,很好地传达了良子本身的寓意——轻松、愉悦、休闲、舒适。

     

    (2)受限于浏览器



    通常Web App生存于浏览器里,宿主是浏览器。不同的浏览器自身的属性不尽相同,如:浏览器自带的手势,页面切换方式,链接跳转方式,版本兼容问题等等。
    例如下图:UC 浏览器和百度浏览器自身支持手势切换页面。手指从左侧滑动页面,返回至上一级。百度手机助手H5页面,顶部Banner支持手势左右滑动切换。这一操作与浏览器自身手势是冲突的。



    再如,基于浏览器的Web APP在打开新的模块中的页面时,大多会新开窗口来展现。例如用户在使用购物类APP时,浏览每日精选模块时,每当打开新的商品时,默认新开一个窗口。这样的优劣势显而易见:优势是能够记录用户浏览过的痕迹,浏览过的商品,以便后续横向对比;劣势是过多的页面容易使用户迷失在页面中。


    正如Google开发手册里描述:当用户打开一个Web App的时候,他们期待这个应用就像是一个单个应用,而不是一系列网页的结合。然而,什么情况下需要跳转页面,什么情况下在当前页面展示则需要设计师细致考量。



    因此,Web App基于浏览器的特性,从设计角度应该遵循以下了两点:
     少用手势,避免与浏览器手势冲突
     减少页面跳转次数,尽量在当前页面显示。
     

    (3)系统限制,平台特性



    由于Html5语言的技术特性,无法调用系统级别的权限。例如,系统级别的弹窗,系统级别的通知,地理信息,通讯录,语音等等。且与系统的兼容性也会存在一些问题。以上限制通常导致APP的拓展性不强,体验相对较差。例如百度地图:



    Web版地图基于浏览器展现,因此,不能全屏显示地图,给用户的眼界带来局限感;相反,Native 版地图以全屏展现的形式,很好的拓展了用户的视野。整个界面干净简洁,首页去除冗余功能。
    在制定路线的体验中,如图:

     

    Web 版地图耗费的流量大于Native版,且不能预先缓存离线地图。对于地理位置的判断也是基于宿主浏览器,而非Web地图本身。获取路线后,对于更换到达方式,相对来说是不便利的。
    相反,Native 版地图,能够直接访问用户的地理位置,能够很清晰的为用户展现App规划的路线,并能轻松的查看多种路线方案,以便做出符合自己的最佳方案。对于切换公交,走路,自驾等路线方式也是只需一键操作。Native 版地图相对于 Web版地图增加更多情感化,易用的功能,如:能够记录用户的生活轨迹,记录用户的点滴足迹,能够享受躲避拥堵方案等。而Web版地图基于技术框架,很难实现以上功能,从用户体验角度来看,弱于Native版地图。
     

    四、小结



    综述所述,在设计Web APP时,应当遵循以下几点:
     

    (1)简化

    简化不重要的动画/动效
    简化复杂的图形文字样式
     

    (2)少用

    少用手势,避免与浏览器手势冲突
    少用弹窗
     

    (3)减少

    减少页面内容
    减少控件数量
    减少页面跳转次数,尽量在当前页面显示
     

    (4)增强

    增强Loading时的趣味性
    增强页面主次关系
    增强控件复用性


    最后:小编给大家推荐一组优秀的Web APP
    forecast.io/
    m.ftchinese.com/phone.html
    thenextweb.com
    jing.fm
    yuedu.fm
    mail.google.com
    plus.google.com
    snowbird.com
    everthing.me
    m.vancl.com
    pattern.dk/sun/

    展开全文
  • 论信息技术的跨领域应用——以茶文化传播app软件设计为例.pdf
  • Web App、Hybrid App以及Native App的设计差异 目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。 一、Web App、Hybrid App、Native App 纵向对比 首先,我们来看看什么是 Web App、...
    论Web App、Hybrid App以及Native App的设计差异
     目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。

    01.png

    一、Web App、Hybrid App、Native App 纵向对比

    首先,我们来看看什么是 Web App、Hybrid App、 Native App。

    Web APP

    Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。

    · 优点

    (1)开发成本低,

    (2)更新快,

    (3)更新无需通知用户,不需要手动升级,

    (4)能够跨多个平台和终端。

    · 缺点:

    (1)临时性的入口

    (2)无法获取系统级别的通知,提醒,动效等等

    (3)用户留存率低

    (4)设计受限制诸多

    (5)体验较差

    Hybrid App

    Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。例如Store里的 新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。

    Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术以及网速等等很多因素,尚不完美。

    Native App

    Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。需要用户下载安装使用。

    · 优点:

    (1)打造完美的用户体验

    (2)性能稳定

    (3)操作速度快,上手流畅

    (4)访问本地资源(通讯录,相册)

    (5)设计出色的动效,转场,

    (6)拥有系统级别的贴心通知或提醒

    (7)用户留存率高

    · 缺点:

    (1)分发成本高(不同平台有不同的开发语言和界面适配)

    (2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本)

    (3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂

    二、Web App、Hybrid App、Native App 技术特性

    QQ截图20141202120116.jpg

    由上图可见,Web APP 的开发基于Html5语言。而Html5语言本身又有着不可避免的局限性。正是这些局限性的存在,使得Web App在体验中要逊于Native App。

    三、Web App受限制因素及设计要点

    QQ截图20141202111747.jpg

    相比Native App,Web App体验中受限于以上5个因素: 网络环境,渲染性能,平台特性,受限于浏览器,系统限制。

    (1)网络环境,渲染性能

    Web APP对网络环境的依赖性较大,因为Web APP中的H5页面,当用户使用时,去服务器请求显示页面。如果此时用户恰巧遇到网速慢,网络不稳定等其他环境时,用户请求页面的效率大打折扣,在用户使用中会出现不流畅,断断续续的不良感受。同时,H5技术自身渲染性能较弱:对复杂的图形样式,多样的动效,自定义字体等的支持性不强。

    因此,基于网络环境和渲染性能的影响,在设计H5页面时,应注意以下几点:

    · 简化不重要的动画/动效

    · 简化复杂的图形文字样式

    · 减少页面渲染的频率和次数

    从下图移动Web版 jing.fm和Native版jing对比后可以看出:Web APP首页去除冗余的功能,回溯本源,只给用户提供了jing.fm最初的本质需求—电台。既符合H5精简功能又达到了突出核心功能的设计原则。无疑给用户眼前一亮的气息。

    正如书中《瞬间之美》的一个核心观点:重要的并不是我们提供的信息量有多大,而是我们能否给他们提供真正需要的信息。

    再如:百度最新推出的直达号,以良子健身为例:

    从Native App和Web App(百度直达号)的对比中,我们可以看出Native良子以九宫格的形式展现,且属于双重导航,功能入口太多;弊端是用户不知道聚焦在哪里,分散用户的注意力。而Web版良子整合并减少了导航的入口,增强用户的专注度;界面清爽,整洁,很好地传达了良子本身的寓意——轻松、愉悦、休闲、舒适。

    QQ截图20141202111959.jpg

    (2)受限于浏览器

    通常Web App生存于浏览器里,宿主是浏览器。不同的浏览器自身的属性不尽相同,如:浏览器自带的手势,页面切换方式,链接跳转方式,版本兼容问题等等。

    例如下图:UC 浏览器和百度浏览器自身支持手势切换页面。手指从左侧滑动页面,返回至上一级。百度手机助手H5页面,顶部Banner支持手势左右滑动切换。这一操作与浏览器自身手势是冲突的。

    QQ截图20141202112040.jpg

    再如,基于浏览器的Web APP在打开新的模块中的页面时,大多会新开窗口来展现。例如用户在使用购物类APP时,浏览每日精选模块时,每当打开新的商品时,默认新开一个窗口。这样的优劣势显而易见:优势是能够记录用户浏览过的痕迹,浏览过的商品,以便后续横向对比;劣势是过多的页面容易使用户迷失在页面中。

    正如Google开发手册里描述:当用户打开一个Web App的时候,他们期待这个应用就像是一个单个应用,而不是一系列网页的结合。然而,什么情况下需要跳转页面,什么情况下在当前页面展示则需要设计师细致考量。

    QQ截图20141202112125.jpg

    因此,Web App基于浏览器的特性,从设计角度应该遵循以下了两点:

    · 少用手势,避免与浏览器手势冲突

    · 减少页面跳转次数,尽量在当前页面显示。

    (3)系统限制,平台特性

    由于Html5语言的技术特性,无法调用系统级别的权限。例如,系统级别的弹窗,系统级别的通知,地理信息,通讯录,语音等等。且与系统的兼容性也会存在一些问题。以上限制通常导致APP的拓展性不强,体验相对较差。例如百度地图:

    QQ截图20141202112151.jpg

    Web版地图基于浏览器展现,因此,不能全屏显示地图,给用户的眼界带来局限感;相反,Native 版地图以全屏展现的形式,很好的拓展了用户的视野。整个界面干净简洁,首页去除冗余功能。

    在制定路线的体验中,如图:

    QQ截图20141202112228.jpg

    Web 版地图耗费的流量大于Native版,且不能预先缓存离线地图。对于地理位置的判断也是基于宿主浏览器,而非Web地图本身。获取路线后,对于更换到达方式,相对来说是不便利的。

    相反,Native 版地图,能够直接访问用户的地理位置,能够很清晰的为用户展现App规划的路线,并能轻松的查看多种路线方案,以便做出符合自己的最佳方案。对于切换公交,走路,自驾等路线方式也是只需一键操作。Native 版地图相对于 Web版地图增加更多情感化,易用的功能,如:能够记录用户的生活轨迹,记录用户的点滴足迹,能够享受躲避拥堵方案等。而Web版地图基于技术框架,很难实现以上功能,从用户体验角度来看,弱于Native版地图。

    四、小结

    综述所述,在设计Web APP时,应当遵循以下几点:

    (1)简化

    简化不重要的动画/动效

    简化复杂的图形文字样式

    (2)少用

    少用手势,避免与浏览器手势冲突

    少用弹窗

    (3)减少

    减少页面内容

    减少控件数量

    减少页面跳转次数,尽量在当前页面显示

    (4)增强

    增强Loading时的趣味性

    增强页面主次关系

    增强控件复用性

    最后:小编给大家推荐一组优秀的Web APP

    forecast.io/

    m.ftchinese.com/phone.html

    thenextweb.com

    jing.fm

    yuedu.fm

    mail.google.com

    plus.google.com

    snowbird.com

    everthing.me

    m.vancl.com

    pattern.dk/sun/

    转载于:https://www.cnblogs.com/maoni-WEB/p/6656573.html

    展开全文
  • 微信小程序和教学APP在医学教育应用比较.pdf
  • 应用程序的简单操作使其年轻人和其他几代人非常受欢迎。 同样重要的是,这种沟通方式的系统运作并遵循道德规则,以便青年人之间传播正确的信息。 该研究旨在发现大学使用 Whatsapp 的偏好以及是否遵守...
  • AppIntent论文阅读

    千次阅读 2014-01-23 02:16:09
    APPIntent:分析敏感数据传播Android设备隐私泄露的检测 【概括】 AppIntent:使用了事件空间限制符号执行,有效的减小了搜索空间,并且使用动态分析平台将传播的敏感数据关于隐私泄露的行

     

    AppIntent:Analyzing Sensitive Data Transmission in Android for Privacy Leakage Detection

     

     

     

    APPIntent:分析敏感数据传播在Android设备中隐私泄露的检测

    文章语言:英文

    文章来源:2013年ACM CCS

    作者信息:Zhemin Yang  杨珉 Yuan Zhang  Guofei Gu(研究领域:网络安全,移动安全,系统安全等等)Ning peng(和蒋旭宪大牛一个学校的,怪不得人家这么厉害看来是有学术积淀的)XiaoYang Wang

    文章涉及到的工具:Dexpler,DED

    文章中应用的会议以及WorkShop:CCS,S&P,NDSS,USENIX security(如果不知道是什么等级的会议,请猛戳),OSDI,ESEC、SIGSOFT,PLDI,POPL,ACM WiSec,SPSM,ISSTA,FSE

    【概括】

    AppIntent:使用了改进的符号执行——(event-spcae constraint)事件空间限制符号执行,有效的减小了搜索空间,通过符号执行产生事件输入和数据输入,这些输入会导致敏感数据的传播,并且使用动态分析平台将Android手机传播的敏感数据中关于隐私泄露的行为进行了有效区分。

     

    【摘要】

    Android手机常常存储了很多的个人信息因此吸引了很多恶意软件的开发者在Android的应用程序中嵌入恶意代码窃取敏感数据。根据已知的技术文献,很容易来判断敏感数据是不是在从Android手机中传播出去。但是,敏感数据的传播并不一定就意味着隐私的泄露;一个很好的判定标准就是是否这个传播是用户知道的或者不知道。当这个传播不是用户意图的话,它很有可能是隐私泄露。这问题就是怎么决定一个传播是用户意图。对于这个问题的第一个解决方案,我们呈现了一个新的分析框架AppIntent。对于每一个的数据传播AppIntent都能够有效的提供一系列的GUI操作对应了一系列的事件可以导致数据的传播,来帮助分析人员决定是否数据传播史用户意图的或者也不是。最基本的思想就是使用符号执行来产生前面所提到的一系列的事件,但是简单的符号执行证明是很耗时间的在实际应用当中。在AppIntent当中最主要的创新就是利用唯一的Android执行模型来减少搜索的空间而且不会牺牲代码的覆盖。我们也对AppIntent做了一个评估使用了750个恶意软件和Google Play排名前1000的APP。这个结果显示AppIntent能够有效的帮助区分应用程序到底是不是真的存在隐私泄露。

    关键词:Android安全,隐私泄露检测,符号执行

     

    【研究目的】

    怎样判断智能手机隐私泄露

    现在很多工具都只能判断敏感数据传播,但是不能判断是不是这些敏感数据的传播就意味着隐私数据的泄露。并且单纯的敏感数据传播判断的方法误报率很高。研究的目的就是发明一种工具能够区分这些敏感数据的传播那些会造成隐私数据的泄露

     

    【解决方案】

    设计一个能够自动分析的工具根据获取的程序的上下文的信息来判断出敏感数据传播中的隐私泄露,这个工具就是AppIntent。AppIntent的框架就是提供一些敏感数据传播的输入,这些输入可能触发敏感数据的传播,通过行为触发的产生来判断敏感数据传播中出现的隐私泄露。

    根据这个目的因此想到了符号执行。因为符号执行是一个有效的技术来提取出可行的输入触发程序的行为导致敏感数据的传播得意显现。

    但是使用符号执行存在着一些难点:

    1、 App的种类很多有着不同的使用目的

    2、 现有的符号执行只能针对没有交互的程序(Android的程序基本上都是GUI用户图形交互的)

    3、 可能的数据输入使得

    4、 符号执行的路径激增,导致符号符号执行时很费时间

     

    【方案难点】

    1.      传统的符号执行可能陷入无限的搜索空间

    Activity生命周期图

     

    图片来源:http://developer.android.com/training/basics/activity-lifecycle/index.html

     

     

     

    注意看存在循环

     

    Android的App常常被运行时事件和回调函数所驱使,回调函数决定着App的状态转移,监听器句柄决定着用户交互组件

    以Activity的生命周期说明,如图所示,由于存在着不确定性和没有界限的调用顺序如果采用符号执行当执行路径是OnStart()àOnResume()àOnPause()àOnStop()àOnStart

    /(OnRestart())时,可能进入无限循环,导致符号执行无法停止。

    2.      GUI控件的触发有很多的不确定性,可以随时触发,也可能导致符号执行陷入循环

     

    【相关工作】

    注意:相关工作描述的是前人的研究

    1.      使用符号执行为了提高系统系能,前人曾经的做法牺牲代码覆盖率,采用随机策略

    2.      假设事件句柄之间是相互独立的

    3.      代码插入技术,但是效果不佳 

     
    【增对问题提出的解决方案】

    对于路径太多的问题,使用静态分析提取出可能的路径指导符号执行,采用event-space constraints的符号执行

     
    【设计目标】

    1.      行为触发产生重要的apps输入(数据输入和事件输入)导致敏感数据的传播

    2.      保证代码的覆盖率以及低的误报率和漏报率

    3.      提供分析人员便于理解的工具让其意识到敏感数据什么时候传播

     

    【系统架构】

    系统主要的架构分为两个部分:(1)事件空间限制的符号执行(2)动态程序分析平台

     

    第一部分

    1.      静态污点分析提取出所有的可能的数据输入和事件输入

    2.      提取过滤事件路径,产生事件限制图指导符号执行

    第二部分

    采用InstrumentationTestRunner作为行为触发的工具一步步模拟被检测的APP的行为

     

    【亮点和难点分析】

    以安卓短信为例分析它由两个Activity(MessagePopup,ComposeMessageActivity)和一个BroadcastReceiver(PushReceiver)组成。

     

    当一条短信来的时候OnReceive()接收短信激活组件,这个时候MessagePopup()组件会弹出来,点击前进按钮会进入到ComposeMessageActivity()这个Activity的组件界面

    由此可以得到一条执行的路径:

    {OnReceive,i1}⇒{startNewMessagesQuery,i2}⇒{forward,i3}⇒{forward,i4}⇒{sendMessage,i5}⇒{sendMessage,i6}

    经过提取可以得到一个基本的事件图:

     

    其中可以吧事件分为两类:

    1.      重要事件:

    事件句柄至少包含一条数据传播途径的指令,用粗线表示

    2.      基本事件

    不包含任何可能的路径执行指令,用细线表示

    提取出重要事件

     

    算法采用Dijistra算法找到最小生成树。首先是找出重要的事件节点,其次在来找边。根据生命周期的调用图找到重要节点的先行节点,组成边。反复执行这个过程知道再也找不到先行节点为止。

    例如,一个Activity发送intent给另一个intent发送方将作为接收方的先行节点。通过上述步骤完成了事件空间图便可以得到过滤之后的图

     

     

     
    【文章的贡献】

    就个人而言,我认为它使用的行为触发是很值得深入学习的,并且行为触发具有较好的可移植性,可以用于触发Android待检测的APP,捕获其敏感行为。

    1.      敏感数据的传播并不意味着隐私数据的泄露,user-intented被视为不是隐私数据的泄露,user-unintented的很大可能就是隐私泄露

    2.      研发了event-space constraint 符号执行技术,减少了使用符号执行的事件搜索空间

    3.      (传说中的行为触发)通过提取出的数据和事件输入在动态程序分析平台上执行,还原出导致敏感数据传播的UI控件操作

     

     

    【文章涉及论文】

    文章涉及论文下载链接:http://pan.baidu.com/s/1gd5hBeN

    [符号执行]

     

    •  P. Boonstoppel, C. Cadar, andD. R. Engler. Rwset:Attacking path explosion in constraint-based test generation.InTACAS,2008
    • C. Cadar, V. Ganesh, P. M.Pawlowski, D. L. Dill,and D. R. Engler. Exe: automatically generating inputs of death. InCCS,pages322–335,2006
    •  P. Godefroid. Compositionaldynamic test generation.InPOPL,pages47–54,2007.
    •  P. Godefroid, N. Klarlund,and K. Sen. Dart: directed automated random testing. InPLDI,pages213–223,2005
    •  D. Molnar, X. C. Li, and D.A. Wagner. Dynamic test generation to find integer bugs in x86 binary linux programs.InUSENIX Security,pages67–82,2009
    •   K. Sen, D. Marinov, and G.Agha. Cute: a concolic unit testing engine for c. InESEC/SIGSOFT FSE,pages263–272, 2005

     

     

    [漏洞检测]

     

    •   P. Bisht, T. Hinrichs, N.Skrupsky, and V. N. Venkatakrishnan. Waptec: whitebox analysis of web applications for parametertampering exploit construction. InCCS,pages575–586,2011
    •   D. Brumley, J. Newsome, D.Song, H. Wang, and S. Jha. Towards automatic generation of vulnerability signatures.InIEEE Symposium on Security and  Privacy,2006
    •  M. Costa, M. Castro, L. Zhou,L. Zhang, and M. Peinado. Bouncer: securing software by block in bad input.InSOSP,pages117–130,2007
    •  P. Gilbert, B.-G. Chun, L. P.Cox, and J. Jung.Vision: automated security validation of mobile apps at appmarkets. InProc. MCS),2011
    •   Kieyzun, P. J. Guo, K. Jayaraman,and M. D.Ernst. Automatic creation of sql injection and cross-site scriptingattacks. InICSE,pages199–209,2009.

     

    [敏感数据传播]

     

    • M. C. Grace, W. Zhou, X.Jiang, and A.-R. Sadeghi. Unsafe exposure analysis of mobile in-app  advertisements. InWiSec,2012
    •  P. Hornyack, S. Han, J. Jung,S. Schechter, and D. Wetherall. These aren’t the droids you’re looking for:retrofitting android to protect data from imperious applications. InCCS,pages639–652,2011
    •   Tripp, M. Pistoia, S. J.Fink, M. Sridharan, and O. Weisman. Taj: effective taint analysis of web applications.InPLDI,pages87–97,2009 

     

    [静态分析]

     

    • M. Egele, C. Kruegel, E.Kirda, and G. Vigna. Pios: Detecting privacy leaks in ios applications. InNDSS,2011
    • Tripp, M. Pistoia, S. J.Fink, M. Sridharan, and O. Weisman. Taj: effective taint analysis of web applications.InPLDI,pages87–97,2009

     

    [动态分析]

     

    •   N. Vachharajani, M. J.Bridges, J. Chang, R. Rangan, G. Ottoni, J. A. Blome, G. A. Reis, M.Vachharajani, and D. I. August. Rifle: An architectural framework foruser-centric information-flow security. In MICRO, pages 243–254, 2004

     

    [行为触发]

     

    •   C. Zheng, S. Zhu, S. Dai, G.Gu, X. Gong, and W. Zou. Smartdroid: An automatic system for revealing ui-basedtrigger conditions in android applications. InProc. SPSM,October2012.

     

     

     

    转载请注明出处:http://write.blog.csdn.net/postedit/18683769,谢谢合作~^^

    文章下载

     

     

     

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程 https://www.cbedai.net/chichoxian

    展开全文
  • 有BlockChain实现(您可以文件夹“ blockchain_implementation”找到): 转到我们的验证码,单击此 我们的BlockChain实现通过Ganache本地运行 后端实现(Azure)通过python flask服务器与Ganache通信,...
  • 手机APP应用开发技术课程论文

    千次阅读 2016-06-21 23:20:46
    1. 智能手机的发展历史 ...4. 手机APP应用开发技术课程的知识点 1.基础的四大组件 2.sqlite数据库 3.基础布局 4.开发工具android studio和eclipse+ADT 5. 应用开发 ...

    1. 智能手机的发展历史

    主流的只能手机分为两大派系,Android和苹果的ios。

    IOS:

    IOS手机一直主打高端市场。从iphone5土豪金开始就是一直是装逼界的神器。
    iOS是由苹果公司开发的移动操作系统[1] 。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。

    代表作,iphone5 , 5s,6, 6s,6plus

    Android

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。[1] 2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

    2. 手机系统未来趋势

    在知乎上面看到的觉得还挺有道理的。
    目前能看到的趋势有两点:

    一是操作命令语音化,如siri和google now;

    二是去app化,向云的发展,可能未来整个手机只要安装一个浏览器的APP就能享受各种服务

    3.Android系统的具体构架

    这里写图片描述
    Android的系统架构和其操作系统一样,采用了分层的架构。
    Android结构
    从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。

    应用程序

    Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

    应用程序框架

    开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
    隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
    丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。
    内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
    资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
    通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
    活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

    系统运行库

    Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:
    * 系统 C 库 - 一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。
    * 媒体库 - 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
    * Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
    * LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

    Linux内核层

    系统内核
    Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。
    Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

    4. 手机APP应用开发技术课程中的知识点

    1.基础的四大组件

    2.sqlite数据库

    3.基础布局

    4.开发工具android studio和eclipse+ADT

    5. 应用开发

    http://blog.csdn.net/tangsilian/article/details/51200628
    选了一篇自己博客上的下拉刷新

    public class LoadListView extends ListView implements OnScrollListener {
        private View footer;// 底部布局
        int totalItemCount;// 总数量
        int lastVisibieItem;// 最后一个可见的item;
        boolean isLoading;// 判断变量
        IloadListener iLoadListener;// 接口变量
    
        public LoadListView(Context context, AttributeSet attrs) {
            super(context, attrs);
            initView(context);
        }
    
        public LoadListView(Context context) {
            super(context);
            initView(context);
        }
    
        public LoadListView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            initView(context);
            // TODO Auto-generated constructor stub
        }
    
        // listview加载底部布局
        private void initView(Context context) {
            LayoutInflater inflater = LayoutInflater.from(context);
            footer = inflater.inflate(R.layout.footermore, null);
            // 设置隐藏底部布局
            footer.findViewById(R.id.footer_layout).setVisibility(View.GONE);
            this.addFooterView(footer);
            this.setOnScrollListener(this);
        }
    
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // TODO Auto-generated method stub
            if (totalItemCount == lastVisibieItem && scrollState == SCROLL_STATE_IDLE) {
                if (!isLoading) {
                    isLoading = true;
                    footer.findViewById(R.id.footer_layout).setVisibility(View.VISIBLE);
                    // 加载更多(获取接口)
                    iLoadListener.onLoad();
                }
            }
        }
    
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            // TODO Auto-generated method stub
            this.lastVisibieItem = firstVisibleItem + visibleItemCount;
            this.totalItemCount = totalItemCount;
        }
    
        public void setInterface(IloadListener iLoadListener) {
    
            this.iLoadListener = iLoadListener;
        }
    
        // 加载更多数据的回调接口
        public interface IloadListener {
            public void onLoad();
        }
    
        // 加载完成通知隐藏
        public void loadComplete() {
            isLoading = false;
            footer.findViewById(R.id.footer_layout).setVisibility(View.GONE);
    
        }
    }

    listview展示

    public class ListViewTest extends Activity implements IloadListener {
        private LoadListView listview;
        private List<ListviewItem> listviewitems = new ArrayList<ListviewItem>();
        private ItemAdapter adapter;
        private int count = 0;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.listviewtest);
            listview = (LoadListView) findViewById(R.id.listview);
            adapter = new ItemAdapter(this, R.layout.listview_items, listviewitems);
            listview.setAdapter(adapter);// 加载适配器
            listview.setInterface(this);//将接口传进来
            initItems();// 初始化数据
    
        }
    
        private void initItems() {
            // TODO Auto-generated method stub
            for(int i=0;i<15;i++){
                ListviewItem listviewitem1 = new ListviewItem("初始化的"+i, R.drawable.ic_launcher);
                listviewitems.add(listviewitem1);
            }
        }
    
        // 获取更多数据 通知listview显示
        @Override
        public void onLoad() {
            // 刷新太快 所以新启一个线程延迟两秒
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
    
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    for (int i = 0; i < 3; i++) {
                        ListviewItem listviewitem1 = new ListviewItem("加载的" + count, R.drawable.ic_launcher);
                        listviewitems.add(listviewitem1);
                        count++;
    
                    } // 通知listview加载完毕
                listview.loadComplete();
                }
            }, 2000);
            // TODO Auto-generated method stub
    
        }
    
    }

    6. 课程的未来展望

    讲基础的知识,新的技术,和实用的工具。老师只是起带路的作用。重点还是看自己的努力。

    7. 致谢

    老师的安卓学到了很多东西。自己已经找到了一个移动安全的公司在实习和工作了。谢谢老师的教导。真心感谢~

    展开全文
  • app2vec广告投放应用

    千次阅读 2018-10-06 20:55:37
    本文参考了important_MODELING USERS FOR ONLINE ADVERTISING,主要介绍word2vec的改进版本app2vec广告投放系统应用。 一、word2vec 原理部分不再叙述,下面先回顾一下word2vec求word embedding的过程,以...
  • 论app维护对成功的重要性

    千次阅读 2017-11-30 15:37:51
    随着互联网的发展,现在智能手机等的普及,几乎每一个企业都关注有关应用程序开发的项目,为了更好与当前客户和潜在客户进行交流。虽然企业对应用程序的开发费用有所规划,但是许多公司却没有把应用程序的维护费用...
  • 三亿用户一天APP的使用情况~~ 生成APP vector之间评估相似的方法: 余弦相似度。 准确性评估标准: 人工审查。定义了strong relevant、relevant、not relevant三个级别。 比较方法: BoW(Bag-of-word...
  • 移动互联网入口之超级 APP 评论 (5) depthsky 2013/08/01 [核心提示] 移动互联网的入口之争已经持续了很久,对于超级APP,他们带来了什么样的想象? 移动互联网的入口之争已经持续了很久,...
  • DDoS)检测方法高度依赖于系统日志, 且检测攻击类型单一的问题, 提出了基于卡尔曼滤波和信息熵的联合检测模型DFM-FA(detection and filtering model against App-DDoS attacks based on flow analysis), 将应用层...
  • 随着电子信息技术和IT行业突飞猛进的发展,形形色色的操作软件,绚丽多彩的APP手机游戏,手机支付软件等等都呈现到用户的眼前,用户只需要用简单的操作就可以实现相应的功能从而达到娱乐消费的目的。对于客户而言...
  • 改进扇贝单词app中信息可视化 1、简介 这篇博客是一个信息可视化的案例研究。 这学期我们学习了一门信息可视化课程,发现信息可视化居然是一个非常有趣并且相当有挑战性的领域。完成了这门课的学习后,我们...
  • 本文是中英对照毕业设计论文外文文献翻译下载后直接可用省去您找文献pdf整理成word以及翻译的时间一辈子也就一次的事 文献引用作者出处信息:Iuliana Cosmina, Rob Harrop, Chris Schaefer, Clarence Ho Pro Spring 5...
  • 原文地址:APP将死!...根据百度官方披露的一份移动数据调查表明根据统计,在应用商店下载量最大的前1000个APP(数量占比不足总应用的0.1%)却占据了下载总量的55%。那意味着百万APP中,能够获得用户青睐的不足千
  • 本文是中英双语对照毕业设计论文外文文献翻译下载之后直接可用省去您找文献pdf整理成word以及翻译的时间一辈子也就一次的事 文献引用作者出处信息:Giulio Zambon Beginning JSP, JSF and Tomcat Java Web ...
  • native APP,hybrid APP和web APP

    万次阅读 多人点赞 2018-08-29 18:53:49
    快速迭代的互联网战场高效开发、低成本上线产品,是每个应用开发团队追求的目标。此时,选择合适的应用类型和开发模式便至关重要。移动应用可以粗分为三种:原生应用(native app), 网页应用(web app,或...
  • 论文分析---APP恶意软件检测

    千次阅读 热门讨论 2018-03-11 20:12:10
    恶意软件检测 Towards a Network-Based Framework for Android Malware Detection and Characterization Canadian ...概述:建立数据库,1900个APP,其中1400个良性APP,150个恶意APP,250个广告APP(来自于12个不
  • 本文是中英双语对照毕业设计论文外文文献翻译下载之后直接可用省去您找文献pdf整理成word以及翻译的时间一辈子也就一次的事 文献引用作者出处信息: Josh Juneau, Jim Baker, Victor Ng, Frank Wierzbicki, Leo Soto ...
  • 信息论笔记(需要编辑格式)

    千次阅读 2021-01-02 00:27:06
    主要来源:吴军·信息论40讲 信息论介绍 世界上任何一个探索者都需要清楚三件事:我们现在的位置,我们的目标,以及通向目标的道路。...这样,我们就能够把重点放在讲述用信息论指导做事的方法上,以便让我们能够不断.
  • 图像处理类过程主要分为三步,包括图像增强、图像变换、图像生成。图像增强是指从图像到图像;图像变换是指从图像到另外一张图像;图像生成是指直接生成新的图像,这三类都可以开发者领域找到突破点。
  • 本文是中英双语对照毕业设计论文外文文献翻译下载之后直接可用省去您找文献pdf整理成word以及翻译的时间一辈子也就一次的事 文献引用作者出处信息:Vishal Layka Learn Java for web development,2020 (如觉得年份太...
  • 本文是中英对照毕业设计论文外文文献翻译下载后直接可用省去您找文献pdf整理成word以及翻译的时间一辈子也就一次的事 文献引用作者出处信息:Vishal Layka Learn Java for web development,2020 (如觉得年份太老可改...
  • 面试的过程,结合具体自 身实践经历,才能更加深入透彻的描绘出来。 (年前有很多加我,今天才一一回复,发现很多都失效了,需要的可以重新加一次) (顺手留下GitHub链接,需要获取相关面试等内容的可...
  • 本文是中英双语对照毕业设计论文外文文献翻译下载之后直接可用省去您找文献pdf整理成word以及翻译的时间一辈子也就一次的事 文献引用作者出处信息:Shay Artzi ,Julian Dolby,Simon Holm Jensen,Anders M?ller,Frank ...
  • 如今的手机产品,图片起着举足轻重的作用,甚至是出奇制胜的神器,网络流行语“有图有真相”就体现出图片的重要性。关于图片的设计方法也很多很多,本次课主要讲的是列表图片的放置和设计。例如:朋友圈、QQ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,198
精华内容 10,079
关键字:

信息论在app中的应用