首页 文章 精选 留言 我的

精选列表

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

Android应用程序消息处理机制(Looper、Handler)分析(4

2. 消息的发送 应用程序的主线程准备就好消息队列并且进入到消息循环后,其它地方就可以往这个消息队列中发送消息了。我们继续以文章开始介绍的Android应用程序启动过程源代码分析一文中的应用程序启动过为例,说明应用程序是如何把消息加入到应用程序的消息队列中去的。 在Android应用程序启动过程源代码分析这篇文章的Step 30中,ActivityManagerService通过调用ApplicationThread类的scheduleLaunchActivity函数通知应用程序,它可以加载应用程序的默认Activity了,这个函数定义在frameworks/base/core/java/android/app/ActivityThread.java文件中: publicfinalclassActivityThread{ ...... privatefinalclassApplicationThreadextendsApplicationThreadNative{ ...... //weusetokentoidentifythisactivitywithouthavingtosendthe //activityitselfbacktotheactivitymanager.(mattersmorewithipc) publicfinalvoidscheduleLaunchActivity(Intentintent,IBindertoken,intident, ActivityInfoinfo,Bundlestate,List<ResultInfo>pendingResults, List<Intent>pendingNewIntents,booleannotResumed,booleanisForward){ ActivityClientRecordr=newActivityClientRecord(); r.token=token; r.ident=ident; r.intent=intent; r.activityInfo=info; r.state=state; r.pendingResults=pendingResults; r.pendingIntents=pendingNewIntents; r.startsNotResumed=notResumed; r.isForward=isForward; queueOrSendMessage(H.LAUNCH_ACTIVITY,r); } ...... } ...... } 这里把相关的参数都封装成一个ActivityClientRecord对象r,然后调用queueOrSendMessage函数来往应用程序的消息队列中加入一个新的消息(H.LAUNCH_ACTIVITY),这个函数定义在frameworks/base/core/java/android/app/ActivityThread.java文件中: publicfinalclassActivityThread{ ...... privatefinalclassApplicationThreadextendsApplicationThreadNative{ ...... //ifthethreadhasn'tstartedyet,wedon'thavethehandler,sojust //savethemessagesuntilwe'reready. privatefinalvoidqueueOrSendMessage(intwhat,Objectobj){ queueOrSendMessage(what,obj,0,0); } ...... privatefinalvoidqueueOrSendMessage(intwhat,Objectobj,intarg1,intarg2){ synchronized(this){ ...... Messagemsg=Message.obtain(); msg.what=what; msg.obj=obj; msg.arg1=arg1; msg.arg2=arg2; mH.sendMessage(msg); } } ...... } ...... } 在queueOrSendMessage函数中,又进一步把上面传进来的参数封装成一个Message对象msg,然后通过mH.sendMessage函数把这个消息对象msg加入到应用程序的消息队列中去。这里的mH是ActivityThread类的成员变量,它的类型为H,继承于Handler类,它定义在frameworks/base/core/java/android/app/ActivityThread.java文件中: publicfinalclassActivityThread{ ...... privatefinalclassHextendsHandler{ ...... publicvoidhandleMessage(Messagemsg){ ...... switch(msg.what){ ...... } ...... } ...... } 这个H类就是通过其成员函数handleMessage函数来处理消息的了,后面我们分析消息的处理过程时会看到。 本文转自 Luoshengyang 51CTO博客,原文链接:http://blog.51cto.com/shyluo/966600,如需转载请自行联系原作者

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

Android Day01-Android按钮点击事件的4种写法

按钮点击事件,说白了就一个方法,setOnClickListener(OnClickListener)。 只要传递的参数只要是OnClickListener接口的子类即可,很容易想到的2种实现方式就是匿名内部类和定义一个类实现这个接口。另外还有2种实现方法,有必要着重讲一下: 1.让Activity自身实现OnClickListener接口,传递setOnClickListener参数用this。 然后在onClick(View v)方法中,判断事件源id. switch(v.getId()) { case R.id.XXX000 响应代码 break; case R.id.XXX111 响应代码 break; } 这个和定义一个类实现接口的方法一个道理,只是免得我们再去多定义一个类而已。直接让Activity自身实现OnClickListener接口,实现它里面的OnClick方法。 这种定义方式适用于有多个点击事件的情况。使用这种方式注意导包很容易导错的。 2.在布局文件中定义一个标签属性android:onclick="方法名",然后在Android项目调用这个布局的.java文件中定义一个方法,public 方法名(View v),记住要public且有View参数。 通过查看Button的父类View的源码,可以发现,OnClick底层使用的是反射原理,但是没有使用暴力反射,所以定义方法时要用public。 这种定义事件的方法一般只在测试的时候使用,也可以给多个按钮添加同一个方法名称,通过 v.getId()再去判断一下ID就好了。 本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1675142,如需转载请自行联系原作者

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

大数据帮助你提高销售业绩的4种方式

ZDNet至顶网软件频道消息:大数据推动销售的最知名的例子之一是亚马逊,该公司完善了对所有数据的分析来提高其销量。而事实上,小型公司也可以利用大数据来推动其销售更上一层楼,这将涉及你已经收集的数据、你需要收集的数据,以及如何结合不同的数据集来获取促进销售的情报信息。无论你是进行B2B销售、B2C还是C2C销售,大数据都可以帮助你提高业绩。 在过去,卖家通常拥有比买方更多的信息。而在B2C以及B2B时代,这种局面已经大大改变。现在消费者可以扫描条形码或者执行简单的搜索查询来查找不同网站的类似产品,这非常有利于消费者,他们可以使用这些数据寻找物美价廉的产品。当然,企业同样也可以这样做来提高其销售业绩,通过数据分析,企业可以知道竞争对手何时调整了其价格,并且自动调整其自己的价格和服务可以确保不会降低销量。 在这个时代,消费者比卖家拥有更多的信息,因此销售代理商不应该只是依赖于直觉。很多时候,尤其是在B2B销售中,直觉是销售代理商谈判策略的重要组成部分,根据与消费者的关系以及销售经理的经验,从而确定架构。根据SalesandMarketing.com首席运营官Joe Boissy表示,基于直觉的预测只有约40%的时候是正确的。 对于消费者而言,信息越多越好,而销售人员则需要获取正确的信息来与买家进行谈判。理想情况下,他们需要实时获取这种信息:谁是潜在客户、相互关系如何、交易历史记录,以及确定销售价格的重要信息。幸运的是,大数据可以帮助企业推动其销售更上一层楼: 寻找新的市场和商机 分析网站统计数据和社交媒体可以帮助你了解消费者查看最多的但却没有购买的产品和服务。传统的网站分析已经为企业提供了大量信息,但如果能够能将这些数据与社交媒体的数据联系起来,你将能够更好地了解消费者的购买方式。 通过使用情绪分析和自然语言处理来分析你的客户或目标群体,你能够获取有价值的信息,例如人们对你的产品或服务的看法,这些人从事什么职业,以及其社交网站使用习惯?这将帮助你发现新的市场、新的目标群体,从而帮助你挖掘新的商机。 推动重复销售 来自社交网络的数据也可以用来推动重复销售,了解你的客户是提高重复销售的第一步。当你开始整合交易数据与社交网站数据,以及消费者在你企业内的所有接触点,你能够生成关于客户的全方位的档案。这将帮助你更好地了解你的客户以及了解他们需要什么。基于这些有价值的信息,你能够在正确的时间向目标消费者提供合适的产品,而不会让客户感到烦躁。特别是当你结合推荐引擎时,你将为客户提供有价值的服务,而这也将提高重复销售。 缩短研究客户时间 优秀的销售人员明白,为了赢得客户,重要的是尽可能多地了解他们。根据一项调查显示,销售代表经常会手动分析15种不同的外部来源,包括推特、LinkedIn、Facebook等,以及所有内部数据来源。根据Aberdeen的另一项调查显示,销售代表花费24%的时间来进行研究,从而导致丧失销售机会。而大数据可以为销售代表自动生成详细的客户档案。此外,大数据分析还可以在最佳消费者之间找出共同特征,以确定新的客户或更好地服务于现有客户。 预测未来的销售 对世界各地商场的销售数据进行分析可以帮助企业准确地确定最畅销产品。这个信息将可以帮助企业确定哪些产品应该在什么地方销售,并且在必要时做出实时调整。例如,根据大数据分析预测,当某个产品销量突然提高,那么企业可以确保在该商店的产品不会出现缺货。 越来越多的初创公司开始进入利用大数据分析来提高销量的企业市场。最新初创公司InsideSales.com收到了1亿美元的资金,其估值为10亿美元,这家公司处于营销自动化服务和知名CRM供应商(例如Salesforce)之间。其目标是连接不同服务来帮助销售团队更好地工作。这个领域的其他公司包括Velocify,旨在帮助销售团队优化其销售过程,另外,Five9公司有几种工具来提高转换率和提升销售业绩。 很多企业已经在使用大数据分析技术来优化其销售部门。其中一家公司是英特尔,该公司开发了一个预测分析解决方案来确定和优先排序批量销售潜力最大的经销商。通过这个新的解决方案,英特尔的销售部门现在可以实时分析各种来源的数据来确定每个客户的潜力。另外,因为大数据技术,T-Mobile美国公司减少了50%的客户流失,沃尔玛也非常依赖大数据来提高其销量,他们创建了Social Genome,这是一个庞大的不断变化和更新的知识库,帮助他们为客户在正确的时机提供正确的产品。 大数据为你的销售部门提供了很多机会,如果正确部署的话,大数据策略可以显著提高你的销售业绩。 原文发布时间为: 2014年05月16日 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

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

TensorFlow 全网最全学习资料汇总之TensorFlow的技术应用【4

随着谷歌2015年发布开源人工智能系统TensorFlow,让本就如火如荼的深度学习再添一把火,截至现在,TensorFlow已经历了多个版本演进,功能不断完善,AI开发者也能灵活自如的运用TensorFlow解决一些实际问题,下面雷锋网会对一些比较实用的TensorFlow应用做相关整理,让大家对TensorFlow有理性和感性的双层认知。 TensorFlow在图像识别中的应用 对人类而言,区分画面、图像就如同与生俱来一样简单,例如我们能够轻松的识别老虎与雄狮的区别,但如果把这个问题交给计算机看上去并不简单。 在过去几年里,机器学习在解决这些难题方面取得了巨大的进步。其中,我们发现一种称为深度卷积神经网络的模型在困难的视觉识别任务中取得了理想的效果——达到人类水平,在某些领域甚至超过。下面这篇文章雷锋网(公众号:雷锋网)重点整理

资源下载

更多资源
优质分享App

优质分享App

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

Mario

Mario

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

Spring

Spring

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册