首页 文章 精选 留言 我的

精选列表

搜索[代码生成],共10000篇文章
优秀的个人博客,低调大师

手机通讯加密软件Peerio上架,代码全部开源

近日苹果公司与FBI就解锁枪击案犯iPhone手机的分歧对簿公堂,虽然包括斯诺登在内不少安全专家认为作为NSA棱镜项目“合作厂商”之一的苹果公司与FBI在上演一出障人耳目的双簧戏,但此案的持续发酵,关联此前巴黎恐袭事件美国政府官员对斯诺登事件后通讯加密技术“滥用”的抨击,再次引发了全球媒体和消费者对个人数据隐私保护、国家安全和个人安全通讯技术博弈发展的关注。 近日,安全创业公司Peerio的通讯加密技术APP近日在Android和iOS应用商店上架,支持端到端手机加密通讯、文件加密,以及云存储、群聊和离线阅读等增强功能。Peerio的卖点有三:首先Peerio是开源的(GitHub),其次,Peerio通过了独立第三方安全公司Cure53的安全审计;最后,Peerio采用了本地秘钥存储,去中心化数据存储、双因子认证等较为稳妥的安全方案。 后斯诺登时代,信息安全界面临的最大挑战是“重新发明车轮子”,研发面向未来的,从技术底层设计就无懈可击的安全技术。这种需求最先传导到嗅觉敏感的资本市场,而安全通讯技术也正是2015年三大信息安全投资热点之一。 安全通讯技术领域近年来的创新呈现井喷之势,与Peerio定位类似的产品还包括Signal和Threema等,其他例如伴随斯诺登商机成长起来的Silent Circle和KoolSpan,核心技术都是安全手机和安全通讯加密技术。此外还有课搭建私人QQ的Prosody,Wickr、YikYak,甚至70多岁的Mcafee创始人都重返江湖,计划推出代号暗网(Darknet)的P2P私有网络通讯路由器。 除了新生的创业公司外,一些著名的互联网工具也开始转战安全通讯加密,例如著名P2P应用BitTorrent也不甘寂寞,开发出了基于其P2P媒体传输技术的安全通讯应用——Bleep(含下载链接)。 Faccebook旗下的WhatsApp和Telegram这样的当红互联网产品则开始将消息加密服务作为卖点来吸引用户。 甚至波音公司都推出了安全手机——BlackPhone。 IT经理网点评: 在技术过剩、黑客肆虐的年代,面向个人消费者甚至中小企业的云服务的安全性将成为最大卖点。 本文转自d1net(转载)

优秀的个人博客,低调大师

上次发版我就改了一行代码

动态更换应用Icon 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:让我想想…… 原理1——activity-alias 在AndroidMainifest中,有两个属性: // 决定应用程序最先启动的Activity android.intent.action.MAIN // 决定应用程序是否显示在程序列表里 android.intent.category.LAUNCHER 另外,还有一个activity-alias属性,这个属性可以用于创建多个不同的入口,相信做过系统Setting和Launcher开发的开发者在系统的源码中应该见过很多。 原理2——PM.setComponentEnabledSetting PackageManager是一个大统领类,可以管理所有的系统组件,当然,如果Root了,你还可以管理其它App的所有组件,一些系统优化工具就是通过这个方式来禁用一些后台Service的。 使用方式异常简单: private void enableComponent(ComponentName componentName) { mPm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); } private void disableComponent(ComponentName componentName) { mPm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } 根据PackageManager.COMPONENT_ENABLED_STATE_ENABLED和PackageManager.COMPONENT_ENABLED_STATE_DISABLED这两个标志量和对应的ComponentName,就可以控制一个组件的是否启用。 动态换Icon 有了上面的两个原理,来实现动态更换Icon就只剩下思路问题了。 首先,我们创建一个Activity,作为默认的入口并带着默认的图片,再创建一个双11的activity-alias,指向默认的Activity并带有双11的图片,再创建一个双12的activity-alias,指向默认的Activity并带有双12的图片……等等等。 <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity-alias android:name=".Test11" android:enabled="false" android:icon="@drawable/s11" android:label="双11" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity-alias> <activity-alias android:name=".Test12" android:enabled="false" android:icon="@drawable/s12" android:label="双12" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity-alias> 等等,这样有个问题,那就是这样会在Launcher上显示3个入口,所以,默认我们会把这些activity-alias先禁用,等到要用的时候再启用,养兵千日,用兵一时。 public class MainActivity extends AppCompatActivity { private ComponentName mDefault; private ComponentName mDouble11; private ComponentName mDouble12; private PackageManager mPm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDefault = getComponentName(); mDouble11 = new ComponentName( getBaseContext(), "com.xys.changeicon.Test11"); mDouble12 = new ComponentName( getBaseContext(), "com.xys.changeicon.Test12"); mPm = getApplicationContext().getPackageManager(); } public void changeIcon11(View view) { disableComponent(mDefault); disableComponent(mDouble12); enableComponent(mDouble11); } public void changeIcon12(View view) { disableComponent(mDefault); disableComponent(mDouble11); enableComponent(mDouble12); } private void enableComponent(ComponentName componentName) { mPm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); } private void disableComponent(ComponentName componentName) { mPm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } } OK了,禁用默认的Activity后,启用双11的activity-alias,结果不变还是指向了默认的Activity,但图标已经发生了改变。 根据ROM的不同,在禁用了组件之后,会等一会,Launcher会自动刷新图标。 效果参考下图。

优秀的个人博客,低调大师

WebAR那些事: 20行代码做全景

紧接上文 AR技术,全称增强现实技术,对已有的现实世界,增加一些虚拟元素,提升用户体验。传统的内容展示无非于:图片、文字、视频等组合,随着经济、技术的发展,越来越多的用户已经不满足于现状,目前需要的是消费升级、体验升级,那么AR、VR技术运用而生。 本次Demo所需二维码 本次demo已经集成到APK中,用户可以点击《全景》来体验。 AR全景 环境准备 Demo使用r82版本,向下兼容 Three.js 到http://www.threejs.org下载最新源码,这里使用three.min.js作为渲染引擎。 WebVR.js WebVR的工具库,用于切换VR状态(three.js的源码包中,自己拷贝) VREffect.js WebVR的展示库,用于分屏展示(three.js的源码包中,自己拷贝) VRControls.js WebVR的控制库,用

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册