Глобальные функции Android и Eclipse - PullRequest
0 голосов
/ 10 июля 2011

Я новичок в создании приложений для Android с помощью Eclipse, и у меня возникли небольшие проблемы с выполнением определенных задач.

В настоящее время я пытаюсь не повторять задачи снова и снова, поэтому вместо этого выполняйте функции,может вызываться из любого действия.

Создание нового 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 голосов
/ 10 июля 2011

Вместо

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 нужно немного подумать, чтобы сделать вещи многоразовыми

0 голосов
/ 10 июля 2011

Код работает в Activity, потому что Activity получена из Context, где getSharedPreferences () определено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...