Articles of многопоточный

Android: Как работать с фоновым потоком?

Я разработал приложение, которое берет контент из Интернета и показывает его соответственно на экране устройства. Программа работает нормально, немного медленнее. Загрузка и отображение содержимого занимает около 3-4 секунд. Я хотел бы поместить весь код, который извлекает содержимое и отображает его в фоновом потоке, и пока программа выполняет эти функции, я хотел бы отобразить диалог прогресса. […]

Как запустить мой код в конкретном потоке?

Как запустить мой код в конкретном потоке? Если «конкретный поток» является основным ui Thread, я могу использовать метод runOnUiThread. Но «конкретный поток» – это не ui Thread, а «конкретный поток» не сделан мной. «Конкретный поток» создается некоторой библиотекой. Но я могу получить доступ к «конкретной теме». Как это, Thread theSpecificThread = getThread(); Как запустить мой […]

Android SQLite Query, Insert, Update, Delete, всегда нужно быть в фоновом потоке?

В настоящее время я использую Loaders для захвата данных из моего ContentProvider (чтобы включить автоматическое обновление моих курсоров). Этот подход является прямым для запроса базы данных, хотя он кажется плохо подходящим для любой другой операции с БД (например, Insert, Update, Delete). Мои вопросы: Должны ли все операции SQLite быть в фоновом потоке или безопасно выполнять […]

Альтернативный способ для потоков под Android

Java Java и Oracle Java немного отличаются. Можно ли использовать следующих участников или сопрограммы http://code.google.com/p/jetlang/ http://incubator.apache.org/s4/ http://www.malhar.net/sriram/kilim/ http://code.google.com/p/coroutines/ Также для Android, чтобы избежать использования потоков и совместного использования большего количества кода между Java Java и Oracle Java? Существуют ли другие платформы для обеих версий Java. Заранее спасибо.

«Тема уже началась» при возобновлении деятельности

Вот моя ситуация: я создаю игру для Android, и моя игра состоит из пользовательского метода surfaceView, который имеет поток для логики и рендеринга игры. Архитектура похожа на демонстрацию LunarLander с веб-сайта Google. Когда действие начинается, он создает surfaceView и вызывает этот метод: @Override public void surfaceCreated(SurfaceHolder holder) { renderThread.start(); } Когда я нажимаю кнопку «домой» […]

Разница между потоком и обработчиком

Может ли кто-нибудь сказать мне почтение между Thread и Handler? Когда мы используем Thread и когда используем Handler? У меня есть два кода в моем проекте, но я не могу их понять. final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // Do SomeThings } }; А также private class readThread […]

Лучший способ периодически выполнять действие – Обработчик?

Я пытаюсь выполнить действие периодически. Я хочу создать новый экземпляр класса после, скажем, всего 3 секунды. Было бы лучше реализовать это с помощью Handler или Thread? Есть ли более простой способ, который я мог бы попробовать? Я действительно плохо разбираюсь в потоках – я хочу учиться, но более важно, чтобы я работал над этим, прежде […]

Как управлять Loopers и Threads (нить не умирает больше!)

Я создал класс, расширяющий Thread, чтобы получить местоположение пользователя через LocationManager в потоке, отличном от ui. Я реализовал это как поток, потому что его нужно запускать по запросу и выполнять свою работу только на ограниченное время. Кстати, мне пришлось добавить объект Looper в поток, чтобы иметь возможность создать обработчик для LocationManager (onLocationChanged). Это код: public […]

Приостановка с помощью обработчика и postDelayed в android

Я очень новичок в программировании на Android, поэтому, пожалуйста, простите мне noobie-ness. Я пытаюсь создать очень простое действие, которое будет иметь один TextView в середине макета и просто переключится на другой текст каждые пару секунд. Например, TextView скажет «text1», пауза на пару секунд, затем скажет «text2 и снова приостановит». В конце концов, я хочу добавить […]

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

package com.commonsware.android.threads; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; public class HandlerDemo extends Activity { Thread mBackground; ProgressBar bar; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { bar.incrementProgressBy(5); } }; boolean isRunning = false; @Override public void onCreate(Bundle icicle) { […]