解决android java.lang.ClassCastException android.app.Application

定义类 DemoApp , 结果 Activity 调用始终报类错郁闷呀!
   class DemoApp extends Application{
   }
   下面的配置注意:
   
   <application android:icon="@drawable/icon"
             android:label="@string/app_name"
             android:debuggable="true"
             android:name=".DemoApp">


  android:debuggable="true" 允许调试的意思




Firstly, you should create a new class that will behave as our global object, for example :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.jameselsey.domain;
 
import java.util.ArrayList;
import java.util.List;
import com.google.android.maps.GeoPoint;
import android.app.Application;
 
/**
* This is a global POJO that we attach data to which we
* want to use across the application
* @author James Elsey
*
*/
public class GlobalState extends Application
{
private String testMe;
 
public String getTestMe() {
return testMe;
}
public void setTestMe(String testMe) {
this .testMe = testMe;
}
}

The above class declares one String, with accessor methods. Soon we will see how this object will be available throughout the application. You can add anything you want onto this object, in my application I have a List of other domain classes that I wanted to use elsewhere in my application.

Right, now that you have your global class defined, you need to specify this in your AndroidManifest file, otherwise the application won’t know where to find this class, and you will get a ClassNotFoundException

Locate your application tag, and add this into it :

1
android:name= "com.jameselsey.domain.GlobalState"

It must reference your fully qualified global state class

Now you have it set, your ready to start putting data in, and pulling data out, use the following

1
2
3
4
5
6
7
// Set values
GlobalState gs = (GlobalState) getApplication();
gs.setTestMe( "Some String" );</code>
 
// Get values
GlobalState gs = (GlobalState) getApplication();
String s = gs.getTestMe();

And thats it! Off you go!


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值