首页 文章 精选 留言 我的

精选列表

搜索[高并发],共10000篇文章
优秀的个人博客,低调大师

Android 为你的应用程序添加快捷方式【优先级的快捷方式】

有人会说,快捷方式,不是安装完应用程序后,长按应用程序的ICON然后将它拖到桌面上不就行了吗?没错,这样是一种方法,但这种方法有一个缺点,看图吧: 如上图,如果我们长按桌面点击快捷方式,将会跳到如下界面,如果单从这个界面选择的话,我们就必须进入Applications 目录,然后再在Applications 里面选择我们对应的应用程序,这样的话用户可能得麻烦的去找咯。但我们同时会发现,在Applications 的下面有很多另外的ICON比如 上图的BookMark ,Contact 等,这些也是应用,那么这些是怎么做到不用进去Applications 而在第一页就出现供用户选择呢?今天我们就针对这点来讲讲吧。 要做这一功能首先我们先来了解一下manifest 里面的这一标签: <activity-alias> syntax:语法: <activity-alias android:=["true" | "false"] android:=["true" | "false"] android:="drawable resource" android:="string resource" android:="string" android:="string" android:="string" > . . . </activity-alias>contained in:隶属于: <application>can contain:可以包含: <intent-filter> <meta-data>description:说明:An alias for an activity, named by the targetActivityattribute. The target must be in the same application as the alias and it must be declared before the alias in the manifest. activity的一个别名,用 targetActivity属性命名。目标activity必须与别名在同一应用程序的manifest里,并且在别名之前声明。 The alias presents the target activity as a independent entity. It can have its own set of intent filters, and they, rather than the intent filters on the target activity itself, determine which intents can activate the target through the alias and how the system treats the alias. For example, the intent filters on the alias may specify the "android.intent.action.MAIN" and "android.intent.category.LAUNCHER" flags, causing it to be represented in the application launcher, even though none of the filters on the target activity itself set these flags. 别名作为一个独立的实体代表目标activity。它可以有它自己的一套intent filter,它们,而不是目标activity自己的intent filter,决定哪个intent能够活性化目标通过别名以及系统如何处理别名。例如,别名的intent filter可以指定"android.intent.action.MAIN"和"android.intent.category.LAUNCHER"标签,使之显示在应用程序启动器上,即使目标activity自己没有设置这些标签。 With the exception oftargetActivity,<activity-alias>attributes are a subset of<activity>attributes. For attributes in the subset, none of the values set for the target carry over to the alias. However, for attributes not in the subset, the values set for the target activity also apply to the alias.targetActivity的例外,<activity-alias>属性是<activity>属性的一个子集。对于该子集中的属性,目标activity中设置的值不会覆盖别名的值。然而,对于那些子集中没有设置的属性,设置给目标activity的值同样适用于别名。 上面给出的解释我们来配置一下manifest,配置为如下: < activity android:name =".shortcut" > < intent-filter > < action android:name ="android.intent.action.MAIN" /> </ intent-filter > </ activity > < activity-alias android:name =".CreateShortcuts" android:targetActivity =".shortcut" android:label ="@string/shortcut" > < intent-filter > < action android:name ="android.intent.action.CREATE_SHORTCUT" /> < category android:name ="android.intent.category.DEFAULT" /> </ intent-filter > </ activity-alias > Activity: .shortcut 是我们快捷方式需要的Activity activity-alias: 对应的targetActivity是指向应用创建快捷方式使用的Activity android:label对应的创建快捷方式列表显示的文字,而该应用对应的快捷方式的图标则默认使用我们给定的application的图标。如图: 好了,这是第一步步骤,下面进入代码阶段,先看代码: packagecom.terry.attrs; importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.os.Parcelable; importandroid.widget.LinearLayout; importandroid.widget.TextView; public class shortcutextendsActivity{ private static finalStringSHORT_CUT_EXTRAS = " com.terry.extra.short " ; @Override protected void onCreate(BundlesavedInstanceState){ // TODOAuto-generatedmethodstub super.onCreate(savedInstanceState); finalIntentintent = getIntent(); finalStringaction = intent.getAction(); if (Intent.ACTION_CREATE_SHORTCUT.equals(action)){ createShortCut(); finish(); return ; } Stringextra = intent.getStringExtra(SHORT_CUT_EXTRAS); LinearLayoutlayout = new LinearLayout(getApplicationContext()); TextViewtv = new TextView(getApplicationContext()); if (extra != null ) tv.setText(extra); layout.addView(tv); setContentView(layout); } void createShortCut(){ IntentshortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClass( this , this .getClass()); shortcutIntent.putExtra(SHORT_CUT_EXTRAS, " 测试的快捷方式 " ); Intentintent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, " 这里随便指定 " ); ParcelableshortIcon = Intent.ShortcutIconResource.fromContext( this ,com.terry.attrs.R.drawable.icon); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,shortIcon); setResult(RESULT_OK,intent); } } 代码解释: onCreate方法,首先获取intent 的action如果接收到的action为创建快捷方式的请求,则执行创建快捷方式的代码,否则则通过得到的extra 为textView 赋值。 createShortCut方法,首先设置快捷方式点击后要跳转的intent 和要带入的参数,然后设置桌面快捷方式的名称,图标和对应的intent(即上面带入数据和跳转的界面的 class的Intent)最后将结果传入。 最近运行的结果: 跳击后到达的界面: TIP:这里可以是任何ACTIVITY界面。 最后给大家分享下源码吧: 就到这里,希望我的一篇废话能对你有所帮助。 附件:http://down.51cto.com/data/2357073 本文转自 terry_龙 51CTO博客,原文链接:http://blog.51cto.com/terryblog/415396,如需转载请自行联系原作者

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

企业级容器云平台EcOS-Newben更新至3.0版,全面支持主控节点的可用

前言EcOS平台是Ghostcloud推出的企业级容器云PaaS/CaaS平台,平台与微服务/DevOps相融合,运用至企业IT系统的全生命周期,致力于为多个领域企业向“互联网+”转型提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。如今已累计超过1000家企业试用,获得上万名注册用户,累计运行容器型公有主机10万个,容器部署超50万次。 就在上月,Ghostcloud精灵云曾对外宣布旗下企业级容器云平台EcOS(Enterprise Container Operation System)已内置自研容器调度框架Newben和开源引擎Kubernetes,率先实现了“自研+开源”双容器调度引擎的融合。这就意味着EcOS是以“一个平台+两套编排系统”存在的PaaS/CaaS平台,分别命名为EcOS-Newben和EcOS-

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

泰国电信管呼吁监管部门制定明确的频谱路线图 为“泰国4.0”做准备

据国外媒体报道,泰国现在迫切需要一个有关电信频谱的明确路线图,以便为“泰国4.0”(Thailand 4.0)计划可能引发的数据激增做准备。 泰国电信运营商DTAC公司事务执行副总裁兼负责人Paradai Theerathada表示:“‘泰国4.0’计划将使该国的电信频谱面临空前的数据流量。只有制定一个清晰的频谱路线图能够为这场革命做好准备。” “频谱是一种可以承载数据传输的有限资源,它是泰国的资产,泰国人应当是它的受益者。” 他指出,虽然国家电信监管机构声称已经制定了一个频谱路线图,但与其他国家的路线图相比,它只能算作是一个目录清单。 一个有效的路线图应包括可用频谱带的时间表,兆赫的数量和许可证的持续时间。没有载明这些内容,泰国的电信频谱只能在没有长期总体规划的情况下,由许多相互竞争的政府组织以零散的形式出售。 因此,Paradai先生表示,运营商会购买政府组织出售的频谱——但并不一定是他们需要的。然后,他们将囤积频谱的成本转嫁给消费者——他们支付的费用高于本应在一个公平和透明的市场中所应付出的。 此外,在没有明确路线图的情况下,投资者不可能自信地向“泰国4.0”呼吁的数字基础设施建设进行投资。 Paradai先生称:“用户对数据的需求不断增长,导致市场对于扩大和加强这些网络的需要日渐增加。如果运营商对投资不屑一顾,那么基础设施和数据流量之间的差距将会越来越大。” 他指出,根据美国知名科技博客Business Insider情报部门进行的一次全球调查,预计到2021年,全球的物联网设备总数将达到225亿,是2016年66亿的三倍以上。 泰国是东盟第二大电子商务市场。去年本地移动银行业务增幅达62%,初创企业纷纷涌现。 Paradai先生表示,缅甸已经制定了该国2020年之前的清晰频谱路线图,而且正在建设数字基础设施,将能够承担其第四次工业革命所需的大量数据。 虽然该国目前在全球数字竞争力和准备方面排名第133位,但根据世界经济论坛发布的《2016年全球信息技术报告》(Global Information Technology Report 2016),缅甸的排名较上一年提高了6个点。 相比之下,有关数据显示,泰国将在2020年为电信业提供大约600MHz可用频谱(目前这一数字为300MHz),仅与缅甸路线图中的规划水平相当。 此外,一些欧洲国家的监管机构计划在2020年分配1,500-1,950MHz的带宽。 他指出,因此泰国在世界经济论坛有关104个国家的数字准备指数排名中排在第62位的靠后位置并不奇怪,这一排名与新加坡(第1位)和马来西亚(第31位)相差甚远。 泰国在商业和创新类别中排名第48,在商业用途类比中排名第51,在社会影响力方面排名第57,在负担能力和个人使用方面排名第64,在基础设施中排名第67,在政府使用方面排名第69,在技能方面排名第73,在经济影响方面排名第74,在政治和监管环境方面排名第80。 Paradai先生支持国家广播和电信委员会(NBTC)关于提供充足的频谱并最大限度地利用频谱,从而向“泰国4.0”迈进的承诺。 但他敦促NBTC确定一个清晰的数字频谱路线图,这是释放泰国巨大的数字潜力的关键。 本文转自d1net(转载)

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

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

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

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

用户登录
用户注册