关于MyApplication的理解和使用

一、理解

在设置里面,对应于某一个应用,虽然没有启动,但是上面有一个终止按钮,说明这个应用时启动的,只是里面没有Activity,所以说使用android退出把一个应用退出,实际上他所对应的Application是没有退出的(因为他的生命周期最长),只是对应的Activity退出了而已。

如果手机进行了root操作,使用了360的一键清除缓存等功能,会把对应的Application杀掉,所以说使用Activity的onSaveInstanceState()方法来保存数据也是不可靠的。

Application是个单例,因此可以保存一些数据并能进行数据传递,不过不要太相信他,系统有时候存储不够,一样会回收它,一般做一些软引用,弱引用操作

二、使用

因此我们可以创建一个类来继承Application,就是可以使用我们自己的Application了,并且仍然是单例的,并且值是全局的。可以使用getApplication来拿到它。

1. oncreate方法
application对应的也有一个onCreate,这个才是真正的入口,不过一般我们使用的是Activity的onCreate方法作为入口使用了。


2. onConfigurationChanged方法
当屏幕方向发生改变了,就会调用这个方法,并且对应的Activity中也会调用对应的方法
因此不必再次处理


三. 清单文件配置
一般自定义一个application来继承application,如MyApplication,必须现在清单文件中进行配置
在清单文件中,有如下一项:
<application
android:name="com.android1.app2.yxchao.demo.MyApplication"

application有意向是android:name属性,一般你新建一个android项目的话,这个name属性是没有的,如果想要使用自定义的MyApplication的话,就要添加上一个name属性,如上面显示的那样,然后自定义一个类:MyApplication来继承application即可


### 回答1: "my_application" 是一个字符串,它代表你的应用程序的名称。在这个例子中,它被用来作为 "user_agent" 参数传递给 Nominatim 函数。"user_agent" 参数是一个必需的字符串,用于告诉 Nominatim 服务你的应用程序的名称和版本。这有助于 Nominatim 服务更好地理解你的应用程序,并提供更好的服务。 ### 回答2: 在代码行`geolocator = Nominatim(user_agent="my_application")`中的`my_application`是一个参数,用于指定用户代理。用户代理是一个字符串,它用于标识发送请求的应用程序或库。 在此特定的代码行中,`Nominatim`是一个用于地理编码和逆地理编码的Python库。创建`Nominatim`对象时,需要指定一个用户代理。用户代理用于告诉Nominatim服务请求的来源,以便该服务能够追踪和控制请求的使用情况。 用户代理字符串`"my_application"`可以是任何你选择的字符串,但最好是能反映出你的应用程序或库的名称或用途。 这个字符串的目的主要是为了遵守网络服务提供商的政策和规定。它有助于标识并跟踪请求,以确保对服务的公平和合理使用,避免滥用或过多请求造成的问题。每个使用`Nominatim`库的应用程序都应该为自己的`user_agent`参数选择一个唯一且易于识别的字符串。 ### 回答3: 在代码中,"my_application" 是一个用户自定义的字符串,被用作 Nominatim geolocator 的 user_agent 参数。user_agent 是一个标识符,用于标识发送请求的应用程序或用户。在这种情况下,"my_application" 是一个替代性的名称,用来告诉 Nominatim geolocator 发送请求的是某个特定的应用程序。这个自定义字符串可以是任何合法的标识符,开发者可以根据自己的要求选择或创建一个有意义的名称。选择一个好的 user_agent 可以提醒服务响应请求的源头或提供更好的统计信息,以便服务提供者了解谁使用它们的服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值