Android开发:Application收集
作者:本站整理 时间:2016-04-21
欢迎来到优优下载站的编程开发专栏,今天为大家带来的是Android开发开发的Android开发文章,希望对您有帮助。除了这篇文章外,本站还有许多不同类型的文章供大家阅读,只要你输入关键字,再点击搜索。闲话不多说,一起来看看今天的内容吧!
package com.xesam; import android.app.Application; import android.content.res.Configuration; import android.util.Log; public class ApplicationActivity extends Application { static String name = "小西山子"; @Override public void onCreate() { Log.v("ApplicationActivity","onCreate"); super.onCreate(); } @Override public void onTerminate() { Log.v("ApplicationActivity","onTerminate"); super.onTerminate(); } @Override public void onConfigurationChanged(Configuration newConfig) { Log.v("ApplicationActivity","onConfigurationChanged"); super.onConfigurationChanged(newConfig); } @Override public void onLowMemory() { Log.v("ApplicationActivity","onLowMemory"); super.onLowMemory(); } }
主要Activity:
package com.xesam; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.ViewGroup.LayoutParams; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { Log.v("MainActivity","onCreate"); super.onCreate(savedInstanceState); ApplicationActivity app = (ApplicationActivity)this.getApplication(); LinearLayout main = new LinearLayout(this); main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); main.setOrientation(LinearLayout.VERTICAL); TextView tv = new TextView(this); tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); tv.setText(app.name); tv.setTextColor(Color.BLUE); main.addView(tv); setContentView(main); } @Override public void onDestroy(){ Log.v("MainActivity","onDestroy"); super.onDestroy(); //System.exit(0); } }
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xesam" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name="ApplicationActivity"> <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
这里我们自定义了一个Application,所以必须指定AndroidManifest.xml中application的android:name属性(默认是android.app.Application)。
输出结果:
"ApplicationActivity","onCreate" "MainActivity","onCreate" "MainActivity","小西山子" "ApplicationActivity","onConfigurationChanged"
退出之后打印结果:
"MainActivity","onDestroy"
从模拟器再次开启应用(没有再次编译)之后,打印结果
"MainActivity","onCreate" "MainActivity","小西山子"
所以后退的时候并没有关闭application,要强制关闭application,可以在MainActivity的onDestroy中调用System.exit(0)
@Override public void onDestroy(){ Log.v("MainActivity","onDestroy"); super.onDestroy(); System.exit(0); }
这样就完全退出程序了。
回到application的问题上来,显然,application的onCreate在activity的onCreate之前执行了,所以整个应用的最初入口是这个方法。
onCreate作用说明:
/** * Called when the application is starting, before any other application * objects have been created. Implementations should be as quick as * possible (for example using lazy initialization of state) since the time * spent in this function directly impacts the performance of starting the * first activity, service, or receiver in a process. * If you override this method, be sure to call super.onCreate(). */
可以认为Activity,service以及其他的组件共同构成了一个application的环境,因此application中可以共享或者初始化一些全局变量,比如地图(百度地图demo就是这么做的
注:eclipse查看源码的方法:
下载android版本对应的源码【2.2版本地址:http://rgruet.free.fr/public/android-2.2-froyo-src.zip】
解压缩到 /usr/local/android-sdk-linux/platforms/android-8下,然后修改同目录下source.properties文件中的Pkg.SourceUrl为刚才解压的源码目录就行了
一个示例(我下载的源码放在/usr/local/android-sdk-linux/platforms/android-8/source目录中,所以Pkg.SourceUrl=sources):
### Android Tool: Source of this archive. #Mon Apr 23 01:14:48 CST 2012 Layoutlib.Api=4 Layoutlib.Revision=0 Pkg.Desc=Android SDK Platform 2.2_r3 Archive.Arch=ANY Platform.Version=2.2 Pkg.DescUrl=http\://developer.android.com/sdk/ Platform.MinToolsRev=8 Archive.Os=ANY Pkg.SourceUrl=sources Pkg.Revision=3 AndroidVersion.ApiLevel=8
除了文章外,本站还拥有着许多不同类型的优质手机软件,大家都可以进行免费下载安装,相信本站定会为大家带来完美的下载体验!【优优软件下载站】
相关文章
相关推荐
-
闪电压缩官方版 v2.1.1.9
-
酷狗音乐无损付费歌曲下载工具绿色版 v7.0
-
枫叶-MPG格式转换器 10.8.5.0(视频格式转换器)
-
CDex 1.78(音频编码器)
-
易快考试座位编排系统7.9.6(考试座位编排专家)注册版
-
InterMapper Flows 5.8.1(网络监测软件)
-
猎豹免费WiFi 5.1.15091114官方下载(免费wifi)
-
Yodot Hard Drive Recovery(硬盘数据恢复软件)
-
粉红大嘴兔表情包免费版
-
WinX HD Video Converter Deluxe(多功能视频转换工具) v
-
龙珠斗鱼B站下载工具绿色版 v3.0
-
任意文件加解密绿色免费版 v1.0
-
六间房直播伴侣 v3.1.0.82官方版(视频聊天软件)
-
广告助手 1.0.0.6061(广告拦截工具)
-
天天码字官方版
-
QQ炫舞仙音加强版 V0820