Android和Eclipse全局功能

时间:2011-07-10 17:10:32

标签: java android eclipse

我不熟悉使用Eclipse在Android上创建应用程序,并且在执行某些操作时遇到一些麻烦。

我目前正在尝试不必一遍又一遍地重复任务,所以改为执行可以从任何活动中调用的函数。

使用公共类创建一个新的java文件似乎工作正常,但是某些事情不起作用。

package com.android.packagename;
import android.content.SharedPreferences;
public class Functions
{
public static final String PREFS_NAME = "PrefsFile";
SharedPreferences preferences;

public void loadPreferences()
{
    SharedPreferences preferences=getSharedPreferences(PREFS_NAME,0);
    String username = preferences.getString("username", "");
}
}

我收到"The method getSharedPreferences(String, int) is undefined for the type Functions"的错误并通过Functions.loadPreferences();

调用它

在原始活动中,此代码绝对正常。我试过添加这个。等开始但没有这样的运气。我错过了什么?

由于

2 个答案:

答案 0 :(得分:0)

代码在Activity中有效,因为Activity派生自Context,其中getSharedPreferences()已定义

答案 1 :(得分:0)

而不是

public void loadPreferences()
{
    SharedPreferences preferences=getSharedPreferences(PREFS_NAME,0);
    String username = preferences.getString("username", "");
}

使用

public void loadPreferences(Context C)
{
    SharedPreferences preferences=C.getSharedPreferences(PREFS_NAME,0);
    String username = preferences.getString("username", "");
}

如果您尝试使用的方法包含在其他类类型中,则传入实例化的类对象以使其可用于多个活动等。

如果你从一个活动中调用loadPreferences(this),那么其他东西的同类模式也会起作用。

你是对的,Android需要一些思考才能重复使用