Android代码优化----Application节点的模板写法

新建一个类MyApplication,继承自Application。代码如下:

MyApplication.java:

 1 package com.smyhvae.homepicdemo;
 2
 3 import android.app.Application;
 4 import android.os.Handler;
 5 import android.os.Looper;
 6
 7 /**
 8  * Created by smyhvae on 2015/5/13.
 9  */
10 public class MyApplication extends Application {
11     //获取到主线程的上下文
12     private static MyApplication mContext = null;
13     //获取到主线程的handler
14     private static Handler mMainThreadHandler = null;
15     //获取到主线程的looper
16     private static Looper mMainThreadLooper = null;
17     //获取到主线程
18     private static Thread mMainThead = null;
19     //获取到主线程的id
20     private static int mMainTheadId;
21
22     @Override
23     public void onCreate() {
24         // TODO Auto-generated method stub
25         super.onCreate();
26         this.mContext = this;
27         this.mMainThreadHandler = new Handler();
28         this.mMainThreadLooper = getMainLooper();
29         this.mMainThead = Thread.currentThread();
30         //android.os.Process.myUid()   获取到用户id
31         //android.os.Process.myPid()获取到进程id
32         //android.os.Process.myTid()获取到调用线程的id
33         this.mMainTheadId = android.os.Process.myTid();
34     }
35
36     public static MyApplication getApplication() {
37         return mContext;
38     }
39
40     public static Handler getMainThreadHandler() {
41         return mMainThreadHandler;
42     }
43
44     public static Looper getMainThreadLooper() {
45         return mMainThreadLooper;
46     }
47
48     public static Thread getMainThread() {
49         return mMainThead;
50     }
51
52     public static int getMainThreadId() {
53         return mMainTheadId;
54     }
55
56 }

然后记得在清单文件中进行声明:

1     <application
2         android:allowBackup="true"
3         android:icon="@mipmap/ic_launcher"
4         android:label="@string/app_name"
5         android:theme="@style/AppTheme"
6         android:name=".MyApplication">

需要声明的是上方代码的第6行android:name的属性。

时间: 2024-07-31 06:11:27

Android代码优化----Application节点的模板写法的相关文章

Android - 应用程序AndroidManifest Application节点介绍

一个Manifest只能包含一个application节点.他使用各种属性来指定应用程序的各种元数据(包括标题.图标和主题),在开发应用程序时,应该宝航一个设置有true的debuggable属性以启用调试,但是在发布时可以禁用该属性 application节点还可以作为一个包含了Activity.Service.Content Provider和Broadcast Receiver及诶单的容器,它包含的这些节点指定了应用程序组件. <application android:icon="@

一步一步学会puppet(三)--节点和模板

这篇主要介绍puppet中需要理解的2个重要概念:节点和模板: =================================================================== 1 节点 1.1 定义 1.2 详细说明 1.3 实例 2 模板 2.1 定义 2.2 详细说明 2.3 模板文件的语法 2.4 模板文件实例 2.5 使用模板文件生成实际配置文件 ===========================================================

Android 轻松实现网络交互模板

看完本文,您可以学到: 1.Android与后台交互的模板化方法 2.JSON的使用 3.检查网络连接 4.AsyncTask的使用 我们简单的以登录为例,来实现整个的流程.话不多说,先来看看效果图: 一.通用类的编写 首先,既然要实现交互模板化,最重要的就是要提取出尽可能多的可复用代码.无论是与后台进行什么操作,判断网络是否正常连接.发送请求后得到数据.网络异常时的错误信息提示都是必不可少的.所以我们编写一个通用的CallService类: /** * Created by Hyman on

android自定义Application全局变量不能类型转换的问题

今天弄了个全局变量AppContext ,但一直出现如下错误,原来继承 Application的得在清单文件声明. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.langteng.shiliao/com.langteng.shiliao.activity.MainActivity}: java.lang.ClassCastException: android.app.Application canno

06. 父子节点(树)遍历写法小结

原文:06. 父子节点(树)遍历写法小结 对于树/图的遍历,通常有2种算法来实现:迭代(Iteration)和递归(Recursion),迭代是利用循环反复取值/赋值的过程:递归则是反复自己调用自己来获得最终结果.SQL Server里的递归有32层嵌套限制,目的在于防止代码进入死循环,除非使用提示OPTION (MAXRECURSION 0). 测试数据: if OBJECT_ID('city') is not null drop table city GO create table city

Android点滴---ViewHolder通用,优雅写法

近期在做项目时,又要写 ViewHolder. 突然想到网上看看有没什么好的写法! 不知道你是不是也烦透了写那些没有技术含量的ViewHolder 看看这些.也许会有收获! 然后就找到了以下两篇文章(感谢分享! ): ViewHolder超简洁写法 点击跳转 优雅的使用ViewHolder 点击跳转 然后自己整理的了, 保存起来.省的忘记.顺便分享一下! 直接贴代码了: 第一种: import android.util.SparseArray; import android.view.View;

Android使用Application总结

Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application 第二步.配置全局的Context <application android:name="com.appstore.service.MyApplication" ></application> 第三步.使用,使用的时候用的时候根据类的名称访问Context Andr

Android中Application类用法

原文:http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.html Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息. Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(si

Android 通过Application 传递数据

</pre><pre> package com.example.ApplicationTest; import android.app.Application; /** * Created by chang on 14-10-1. */ public class App extends Application { public String getName() { return name; } public void setName(String name) { this.name