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 cannot be cast to com.langteng.shiliao.until.AppContext

public class AppContext extends Application {

public static final int NETTYPE_WIFI = 0x01;

public static final int NETTYPE_CMWAP = 0x02;

public static final int NETTYPE_CMNET = 0x03;

public static final int PAGE_SIZE = 20;//默认分页大小

private static final int CACHE_TIME = 10*60000;//缓存失效时间

.................................

然后在activity中通过getApplication()获得一个Application类型的变量,并转换成自己定义的AppContext。例如以下:

appContext = (AppContext) getApplication();

结果在执行的时候报类型转换错误。

后来在网上差了好久才发现自己定义的全局Application必须在AndroidManifest.xml中注冊声明:

<application

android:name=".AppContext"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

时间: 2024-10-25 02:40:03

android自己定义Application全局变量不能类型转换的问题的相关文章

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

Android开发系列之全局变量

项目开发的过程中,可能会大量的使用全局变量,在android开发中,大多数人更偏向于使用application来保存全局变量.那么我们就先来了解下在android中,application究竟是什么?有什么作用? Application类是用来维护应用程序全局状态.我们可以提供自己的实现,并在AndroidManifest.xml文件的<application>标签中指出它的名字,这将导致在创建应用程序时去实例化我们自己的Application类.Android系统会为每个程序运行时创建一个A

Android UI-自定义日历控件

Android UI-自定义日历控件 本篇博客笔者给大家分享一个日历控件,这里有个需求:要求显示当前月的日期,左右可以切换月份来查看日期. 我们想一想会如何去实现这样的一个控件,有开源的,但可能不太满足我们的特定的需求,这里笔者自定义了一个,读者可以根据自己的需求来修改代码.下面来说一下实现的思路: 首先我们要显示当前月份,自然我们要计算出当前的日期,并且把每一天对应到具体的星期,我们会有以下效果: 我们先想一下这样的效果用什么控件可以实现?很自然可以想到用网格视图GridView,但这里笔者使

【Android数据传递】全局变量的使用方法

[Android数据传递]全局变量的使用方法  印第安的老乔克 2013-02-18 21:36:14 android中Application是用来保存全局变量的,在package创建的时候就存在了,到所有的activity都被destroy掉之后才会被释放掉.所以当我们需要全局变量的时候只要在application中去实现,通过调用Context的getApplicationContext或者Activity的getApplication方法来获得一个Application对象,就可以设置或读

Android JNI学习笔记(三)-编译文件Android.mk、Application.mk 与camke

1. 前言 在android2.2中,加入了cmake编译,而以前都是用Android.mk.Application.mk的,今天就来记录下,他们的配置选项. 2. Android.mk Android.mk在jni目录下,用于描述构建系统的源文件以及 shared libraries .文件格式如下: 以LOCAL_PATH变量开始 LOCAL_PATH := $(call my-dir) 紧接着是CLEAR_VARS变量 include $(CLEAR_VARS) 接下来LOCAL_MODU

Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk

背景 首先,说说文章的背景.最近手中的一个项目,由于需求中要求提供Web界面的打印功能,当然如果没有打印机,还可以提供保存到本地.项目组长把这个"小任务"分给了我.本着努力为组长分忧解难的思想,领了任务之后,就马上开始了工作. 问题 刚开始的时候,组长给了一个工具(jatoolsprinter)让我研究,我用了一个多小时的时间,做出了一个简单的Demo,然后就是各种的测试,由于 web 打印需要浏览器安装 ActiveX 组件,在随后的测试中,我用了几款浏览器,甚至把安全级别都调到了最

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6578352 在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行.今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件.因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的.硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序:而驱动程序的最终目的,是为

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(老罗学习笔记5)

在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行.今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件.因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的.硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序:而驱动程序的最终目的,是为了使得最上层的应用程序能够使用这些硬件提供的服务来为用户提供软件功能.对Android系统上的应用软件来说,就是要在系统的Application Frameworks

ANDROID自己定义视图——onLayout源代码 流程 思路具体解释

简单介绍: 在自己定义view的时候.事实上非常easy.仅仅须要知道3步骤: 1.測量--onMeasure():决定View的大小 2.布局--onLayout():决定View在ViewGroup中的位置 3.绘制--onDraw():怎样绘制这个View. 而第3步的onDraw系统已经封装的非常好了,基本不用我们来担心,仅仅须要专注到1,2两个步骤就中好了. 第一步的測量,能够參考我之前的文章:(ANDROID自己定义视图--onMeasure流程.MeasureSpec具体解释) 而