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

Глобальные и локальные переменные - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Возврат данных из потока http://www.cyberforum.ru/android-dev/thread1774818.html
День добрый. Скажите пожалуйста: имеется функция которая возвращает Vector<String>. Ее нужно выполнить в отдельном потоке, но так чтобы потом я мог использовать возвращаеое значение в MainActivity. Как это реализовать?
Android Получение данных с сервера, длинные запросы Здравствуйте. Оговорюсь сразу, на сервере обычный php в цикле опрашивающий бд на изменения. Взял приложение с хабры и с обычными запросами раз в 15 сек оно прекрасно пашет. накрутил на сервер лонгпул в моем понимании и приложение перестало работать корректно, то есть ответа от сервера еще нет, а оно сразу пишет что ответ пуст. притом основное - в браузере обычном все прекрасно и корректно... http://www.cyberforum.ru/android-dev/thread1774782.html
Android Как правильно сохранять/восстанавливать данные из Bundle
Доброго дня. Не могу точно разобраться где вызывать сохранение данных в Bundle и извлечение их оттуда. В Активити есть поле ImageView куда я получаю фото с камеры. И при повороте экрана это поле очищается. Если прооверрайдить методы onPause и onResume и добавить в них Log.d то я вижу что при повороте экрана вызываются onPause-onCreate-onResume. Всё как и должно быть. Но где создавать...
Android Передать параметр из одной в другую
Добрый вечер. Тут небольшая проблема. Как передать (ID) - С одной AppCompatActivity в Fragment. Ну принцип такой же как на Intent Intent i = new Intent(getActivity(), ID.class); i.putExtra("id", id);
Android Сервер для приложения на Android http://www.cyberforum.ru/android-dev/thread1774735.html
чи для приложения на андроид нужен сервер
Android Как правильно использовать LeakCanary? как правильно использовать LeakCanary, чтобы можно было определять утечки во всем приложении, а не только утечки активити? подробнее

Показать сообщение отдельно
Timur_St
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 17
03.07.2016, 15:07  [ТС]     Глобальные и локальные переменные
не стал выкладывать весь код (очень большой), сделал похожий пример вот весь код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class CurrencyService extends SpiceService {
    @Override
    //для работы со строковыми данными
    public CacheManager createCacheManager(Application application) throws CacheCreationException {
        CacheManager cacheManager = new CacheManager();
 
        InFileStringObjectPersister inFileStringObjectPersister =
                new InFileStringObjectPersister(application);
 
        cacheManager.addPersister(inFileStringObjectPersister);
 
        return cacheManager;
    }
 
    @Override
    //кол-во возможных потоков
    public int getThreadCount() {
        return 3;
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class WorkService extends AppCompatActivity {
    private SpiceManager spiceManager = new SpiceManager(CurrencyService.class);
 
    @Override
    protected void onStart() {
        spiceManager.start(this);
        super.onStart();
    }
 
    @Override
    protected void onStop() {
        spiceManager.shouldStop();
        super.onStop();
    }
 
    protected SpiceManager getSpiceManager() {
        return spiceManager;
    }
}
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
public class MainActivity extends WorkService {
    int  buy;
    private SimpleTextRequest txtRequest;
    JSONObject dataJsonObj  = null;
    final String TAG = "myLogs";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        txtRequest = new SimpleTextRequest("https://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo.finance.xchange+where+pair+=+%22USDKZT%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=");
 
        Button btn = (Button)findViewById(R.id.button);
        assert btn != null;
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, PageActivity.class);
                startActivity(intent);
            }
        });
    }
 
    @Override
    protected void onStart() {
        super.onStart();
        getSpiceManager().execute(txtRequest, "txt", DurationInMillis.ONE_MINUTE, new TextRequestListener());
    }
 
    public final class TextRequestListener implements RequestListener<String> {
 
        @Override
        public void onRequestFailure(SpiceException spiceException) {
            Toast.makeText(MainActivity.this, "failure", Toast.LENGTH_SHORT).show();
        }
 
        @Override
        public void onRequestSuccess(final String result) {
 
            Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();
            Log.d(TAG,result);
            //парсинг ответа JSON
            try {
                dataJsonObj = new JSONObject(result);
 
                JSONObject sys = dataJsonObj.getJSONObject("query");
                JSONObject sys1 = sys.getJSONObject("results");
                JSONObject sys2 = sys1.getJSONObject("rate");
 
                buy = sys2.getInt("Ask");
 
            } catch (JSONException e) {
                e.printStackTrace();
            }
            Log.d(TAG,"Buy = " + buy);
        }
 
        public int getBuy(){
            Log.d(TAG,"getBuy = " + buy);
            return buy;
        }
    }
}
и потом вызываю метод getBuy() в другой активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PageActivity extends AppCompatActivity {
    final String TAG = "myLogs";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page);
        MainActivity main = new MainActivity();
        MainActivity.TextRequestListener listener = main.new TextRequestListener();
        int buy = listener.getBuy();
 
        Log.d(TAG, "buy = "+ buy);
    }
}
возвращает ноль, а должен 337. Использую библиотеку RoboSpice
 
Текущее время: 07:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru