Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
#1

Как передать параметры из одного класса в другой? - Программирование Android

13.05.2014, 00:07. Просмотров 1862. Ответов 2
Метки нет (Все метки)

Есть класс Phase, в нем метод:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
public static double phase(double pdate, RefDouble pphaseR,
            RefDouble mageR, RefDouble distR, RefDouble angdiaR,
            RefDouble sudistR, RefDouble suangdiaR) {
        double Day, N, M, Ec, Lambdasun, ml, MM, Ev, Ae, A3, MmP, mEc, A4, lP, V, lPP, MoonAge, MoonPhase, MoonDist, MoonDFrac, MoonAng, F, SunDist, SunAng;
 
        // Calculation of the Sun's position.
 
        Day = pdate - epoch; // date within epoch
        N = fixangle((360 / 365.2422) * Day); // mean anomaly of the Sun
        M = fixangle(N + elonge - elongp); // convert from perigee co-ordinates
                                            // to epoch 1980.0
        Ec = kepler(M, eccent); // solve equation of Kepler
        Ec = Math.sqrt((1 + eccent) / (1 - eccent)) * Math.tan(Ec / 2);
        Ec = 2 * todeg(Math.atan(Ec)); // true anomaly
        Lambdasun = fixangle(Ec + elongp); // Sun's geocentric ecliptic longitude
        // Orbital distance factor.
        F = ((1 + eccent * Math.cos(torad(Ec))) / (1 - eccent * eccent));
        SunDist = sunsmax / F; // distance to Sun in km
        SunAng = F * sunangsiz; // Sun's angular size in degrees
 
        // Calculation of the Moon's position.
 
        // Moon's mean longitude.
        ml = fixangle(13.1763966 * Day + mmlong);
 
        // Moon's mean anomaly.
        MM = fixangle(ml - 0.1114041 * Day - mmlongp);
 
        // Evection.
        Ev = 1.2739 * Math.sin(torad(2 * (ml - Lambdasun) - MM));
 
        // Annual equation.
        Ae = 0.1858 * Math.sin(torad(M));
 
        // Correction term.
        A3 = 0.37 * Math.sin(torad(M));
 
        // Corrected anomaly.
        MmP = MM + Ev - Ae - A3;
 
        // Correction for the equation of the centre.
        mEc = 6.2886 * Math.sin(torad(MmP));
 
        // Another correction term.
        A4 = 0.214 * Math.sin(torad(2 * MmP));
 
        // Corrected longitude.
        lP = ml + Ev + mEc - Ae + A4;
 
        // Variation.
        V = 0.6583 * Math.sin(torad(2 * (lP - Lambdasun)));
 
        // True longitude.
        lPP = lP + V;
 
        // Calculation of the phase of the Moon.
 
        // Age of the Moon in degrees.
        MoonAge = lPP - Lambdasun;
 
        // Phase of the Moon.
        MoonPhase = (1 - Math.cos(torad(MoonAge))) / 2;
 
        // Calculate distance of moon from the centre of the Earth.
 
        MoonDist = (msmax * (1 - mecc * mecc))
                / (1 + mecc * Math.cos(torad(MmP + mEc)));
 
        // Calculate Moon's angular diameter.
 
        MoonDFrac = MoonDist / msmax;
        MoonAng = mangsiz / MoonDFrac;
 
        pphaseR.val = MoonPhase;
        mageR.val = synmonth * (fixangle(MoonAge) / 360.0);
        distR.val = MoonDist;
        angdiaR.val = MoonAng;
        sudistR.val = SunDist;
        suangdiaR.val = SunAng;
        return torad(fixangle(MoonAge));
    }
нужно расчитать моменты фаз Луны используя методы jd, pphaseR, mageR, distR, angdiaR, sudistR, suangdiaR

и передать их в текстовое поле в другом классе? т.е. с расчетами сам наверное разберусь а вот как передать не могу понять? Помогите...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 00:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как передать параметры из одного класса в другой? (Программирование Android):

Передать экземпляр класса в другой класс - Программирование Android
Подскажите как сделать класс который будет принимать как входной параметр, экземпляр других классов?

Передача значения из одного класса в другой - Программирование Android
Доброго времени суток! Проблема следующая: В MainActivity моего проекта лежит список, мне нужно передать идентификатор нажатого элемента...

Ошибка передачи данных из одного класса в другой - Программирование Android
В приложении в первом окне пользователь вводит логин (email) и пароль. Я почту пытаюсь передать в другой метод, что бы по логину...

Как из одного активити строку передать в другую в виде listView - Программирование Android
это первое активитиpublic class TodoActivity extends Activity implements View.OnClickListener { private EditText mTaskInput; ...

Как передать ссылку по клику в другой класс? - Программирование Android
как передать ссылку по клику в другой класс есть класс парсера вот часть кода protected InputStream getInputStream() { ...

Как передать данные в определенный инстанс класса? - Программирование Android
Проект который я использую https://github.com/chrisbanes/cheesesquare. Я создаю четыре экземпляра класса CheeseListFragment. Я не могу...

2
Vladimirys
309 / 206 / 25
Регистрация: 16.01.2010
Сообщений: 589
13.05.2014, 01:19 #2
Можно объявить все переменные какие вы хотите передать, как static.
В новом классе, к ним можно будет обратиться так - Имя класса.переменная
Можно так,
Активити из которого передаём

Java
1
2
3
Intent intent = new Intent(SendingActivity.this, RecievingActivity.class);
intent.putExtra("keyName", value);  
startActivity(intent);
И, в котором принимаем
Java
1
2
3
Bundle extras = intent.getExtras();
 if(extras != null)
String data = extras.getString("keyName"); Тут можно получить как строки, так и числа. заменив "Стринги", на то что нам нужно, передавать при этом нужно тот же тип данных.
1
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
13.05.2014, 14:52 #3
disx, создайте такие же переменные в другом классе. в классе куда нужно передать значения используйте что то типо:

Java
1
2
3
setValue(int a, int b){
newA = a;
newB = b;}
этот метод когда нужно передать данные в другой класс.

Или просто создавайте новый экземпляр класса когда данные изменятся.

Если же вы хотите вывести посчитанную информацию в вьюху то используйте метод runOnUiThread;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 14:52
Привет! Вот еще темы с ответами:

Как передать данные в Activity из другого класса - Программирование Android
При нажатии на кнопку, создается активити orgAdapter = new OrgAdapter(this, orgs); GridView gridView = (GridView)...

Как передать переменную с одной Activity в другой Android Studio - Программирование Android
Приветствую, Моя задача такая, Работаю в Android Studio 1.4 У меня есть чекбокс (CheckBox) в одном Activity. Нужно когда чекбокс...

Как реализовать передачу массива из одного фрагмента в другой - Программирование Android
Здравствуйте, как реализовать передачу массива из одного фрагмента в другой?

Как передать ссылку на элемент активити в другой класс чтобы провести операции надо ним - Программирование Android
Такая задача сложилась. есть активити MainActivity: public class MainActivity extends Main {...} в нем есть элемент LinearLayout -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru