
activitythis要返回一个activity,而getApplicationContext()就不一定返回一个activity
getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁
Activitythis的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁
getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文。
在语句 AlertDialogBuilder builder = new AlertDialogBuilder(this); 中,要求传递的 参数就是一个context,在这里传入的是this,那么这个this究竟指的是什么东东呢? 这里的this指的是Activitythis,是这个语句所在的Activity的this,是这个Activity 的上下文。网上有很多朋友在这里传入thisgetApplicationContext(),这是不对的。 AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的。 于是,这里涉及到一个生命周期的问题,thisgetApplicationContext()取的是这个应 用程序的Context,Activitythis取的是这个Activity的Context,这两者的生命周期是不同 的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。而AlertDialog应 该是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存在;但是,如果传 入thisgetApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它 的生命周期了。 所以,在这里只能使用Activity的this。
什么啊, 你写的是什么啊?你要说的是getContext()与getContextResolver()notifyChange()吗,getContex()在不同的类下面有不同的作用,一般是返回一个带有相应资源的Context对象。getContextResolver()notifyChange()是获得一个ContextResolver对象并且更新里面的内容。
<%=requestgetContextPath()%>是解决相对路径的问题,可返回站点的根路径。
<a href="<%=requestgetContextPath()%>/XXXjsp"> //这样获得的是绝对路径
<a href="XXXjsp"> //这样获得的是相对路径
<a href="<%=requestgetContextPath()%>/XXXXjsp"> 能够更有效的防治连接的失效。
requestgetContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串,
如果项目为dzjc, <%=requestgetContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上,
<a href="XXXjsp"> 应该就是指当前路径下的这个xxxjsp页面,有时候也可以在head里设置html:base
来解决路径的问题,不过用的最多的还是requestgetContextPath。
用EL来表示相同功能的EL为:${pageContextrequestgetContextPath()}
requestgetScheme();
返回的协议名称,默认是>
Context是一个抽象基类,我们通过它访问当前包的资源(getResources、getAssets)和启动其他组件(Activity、Service、Broadcast)以及得到各种服务(getSystemService),当然,通过Context能得到的不仅仅只有上述这些内容。对Context的理解可以来说:Context提供了一个应用的运行环境,在Context的大环境里,应用才可以访问资源,才能完成和其他组件、服务的交互,Context定义了一套基本的功能接口,我们可以理解为一套规范,而Activity和Service是实现这套规范的子类,这么说也许并不准确,因为这套规范实际是被ContextImpl类统一实现的,Activity和Service只是继承并有选择性地重写了某些规范的实现。
看下继承关系:
因此 Service本身就是Context的实现,所以只需要调用this
在Android开发中,Context是一个非常重要的概念。它表示Android应用程序或组件的当前状态和信息。当您开发Uniapp插件时,可以使用Context来访问应用程序资源,如字符串、布局、等等。
在Uniapp插件开发中,您可以通过以下方式获取Context:
1 在Activity或Service中获取:如果您的插件需要在Activity或Service中执行 *** 作,则可以使用getContext()方法来获取当前的Context。
2 在Application中获取:如果您的插件需要在Application层面执行 *** 作,则可以使用getApplicationContext()方法来获取当前的Context。
3 从传入的参数中获取:有些情况下,您可能需要从外部传入一个Context,比如在创建Dialog时。这时候,您可以从传入的参数中获取Context。
请注意,在使用Context时需要避免内存泄漏和空指针等问题。例如,在创建Dialog时,应该使用Activity的Context而不是Application的Context,否则可能会导致内存泄漏。同时,也需要注意及时释放Context以避免空指针异常。
以上就是关于android 中getApplicationContext()怎么提示不能用呢全部的内容,包括:android 中getApplicationContext()怎么提示不能用呢、Android中getContext().getContentResolver().notifyChange(uri, null);、在jsp当中定义String path = request.getContextPath(); 点击request查询信息时找不到路径,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)