Qt-Поток Не Останавливается После Вызова Exit/quit
Я пытаюсь найти лучшее понимание сигналов и слотов Qt в сочетании с потоками. Поэтому я попробовал это минимальное приложение:
foo.h:
#include <QObject>
class A : public QObject {
Q_OBJECT
public:
void doit();
signals:
void x();
};
class B : public QObject {
Q_OBJECT
public slots:
void h();
};
foo.cpp:
#include "foo.h"
#include <QThread>
#include <QCoreApplication>
void B::h() {
qDebug("[%d] B::h() here!", (int) QThread::currentThreadId());
QCoreApplication::instance()->quit();
}
void A::doit() {
qDebug("[%d] emitting...", (int) QThread::currentThreadId());
emit x();
}
int main(int argc, char* argv[]) {
QCoreApplication app(argc, argv);
A a;
B b;
QObject::connect(&a, SIGNAL(x()), &b, SLOT(h()));
QThread t;
t.start();
b.moveToThread(&t);
a.doit();
t.wait();
return 0;
}
Все в порядке, только конец t.wait() в конце не возвращается. Мое понимание - вызов quit() должен остановить цикл события, что означает, что exec() должен возвратиться и поэтому должен работать(), и выполнение потока должно прекратиться. Я что-то пропустил?
multithreading qt signals-slots
Показать/скрыть Переключатель Функций Для Ipad
У меня есть функция переключения на моем сайте (пример здесь), где вы можете показывать и скрывать текст в DIV. Код:
.js код
function toggle(sDivId) {
var oDiv = document.getElementById(sDivId);
oDiv.style.display = (oDiv.style.display == "none") ? "block" : "none";
}
.html код:
<div onclick="toggle('divContent1')" style="cursor: pointer;">Hide and show</div>
<div id="divContent1" style='display:none'>
text here
</div>
</div>
Эта функция отлично работает на веб-сайте, когда я просматриваю ее на своем компьютере. Но когда я проверил свой сайт на iPad, он не работает. Кто-нибудь знает, почему и вы могли бы предложить решение этой проблемы? Благодарю!
javascript jquery ios ipad toggle
Ruby Object # Send Vs. Negated Equal
Почему "A".send('!='.to_sym, "B")
вызывает NoMethodError в Ruby 1.8.7, а "A" != "B"
- нет - и как выглядит правильный синтаксис для Object.send
?
syntax ruby ruby-1.8
Прочитайте Первое Целое Число Первой Строки Txt Файла В Java
Я застрял здесь... У меня есть в txt файле с несколькими (int) 2D-массивами, разделенными пробелом. первая строка, которая предшествует каждому двумерному массиву, представляет собой размерность массива. (2D-массивы квадратичны: #rows = #columns = dim)
4
1 2 3 4
5 6 7 8
1 2 3 4
5 6 7 8
на этом этапе я хочу иметь возможность прочитать измерение (dim = 4) массива в первой строке. поместите 2D-массив из файла в 2D-массив и отобразите его
как получить целое число в первой строке? любое понимание? вот что я до сих пор:
Scanner scan = new Scanner(new File(fileInput));
dim= 4; //this value should be read from the first line
array = new int[4][4];
while (scan.hasNext()) {
for (int row = 0; row < dim; row++) {
for (int column = 0; column < dim; column++) {
array[row][column] = scan.nextInt();
System.out.print(array[row][column]);
}
System.out.println();
}
}
scan.close();
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(array[i][j]);
}
System.out.println();
java input io
Веб-Часть Sharepoint 2010 Silverlight - Загрузка Нескольких Файлов Из Интернета В Библиотеку Документов
Необходимо загрузить несколько файлов из веб-сайта в библиотеку документов SharePoint 2010 с помощью веб-части Silverlight 4.0.
Можно ли достичь этого, не загружая файлы на локальный компьютер, а затем загружая их обратно на сервер SP? Как это будет сделано?
Может ли Silverligth открыть поток, когда он работает в песочнице? Наличие вне браузера приложения с повышенными привилегиями не является вариантом.
Если нет, нужно использовать изолированное хранилище, так как у нас есть несколько файлов для загрузки и повторной загрузки в библиотеку документов? Есть ли другой вариант? Файлы размером несколько МБ, поэтому размер изолированного хранилища должен быть увеличен.
благодаря
silverlight sharepoint silverlight-4.0 sharepoint-2010 web-parts
Необъяснимое Поведение В Gnu
У меня есть следующий файл Makefile:
SHELLS = $(call adjust, profile bash zsh)
adjust = $(foreach arg, $(1), $(DIR)/$(DOT)$(arg))
sys:
$(eval DIR = /etc)
$(eval DOT = )
usr:
$(eval DIR = $(wildcard ~))
$(eval DOT = .)
# Installation Recipes {{{1
shell-sys: $(SHELLS) | sys
@echo $(SHELLS)
shell-usr: $(SHELLS) | usr
@echo $(SHELLS)
$(SHELLS): $(DIR)/$(DOT)%: $(wildcard %/*)
@echo $(SHELLS)
Теперь я запускаю make shell-sys
и ожидаю следующего результата:
$ make shell-sys
/etc/profile /etc/bash /etc/zsh
/etc/profile /etc/bash /etc/zsh
/etc/profile /etc/bash /etc/zsh
/etc/profile /etc/bash /etc/zsh
Однако я получаю следующее:
$ make shell-sys
/profile /bash /zsh
/profile /bash /zsh
/profile /bash /zsh
/etc/profile /etc/bash /etc/zsh
Внутри правил статического шаблона $(DIR)
и $(DOT)
не могут расширяться, однако в обычных правилах они, похоже, просто расширяются. Что я делаю не так? Есть ли лучший способ достичь того, что делают цели sys
и usr
?
bash makefile gnu-make macos
Wcf P2p Через Интернет
Привет, ребята, я пытаюсь узнать, как создать приложение P2P в базе данных Windows Communication, и у меня есть простой тестовый клиент, созданный до сих пор, который может прекрасно общаться в Интранете. Это... Я могу запускать приложение несколько раз на своей собственной машине, и они могут общаться друг с другом, и я могу также поместить его на другой компьютер в свою домашнюю сеть, и они могут общаться друг с другом.
Проблема заключается в том, что я отправляю приложение другу для тестирования. Все работает нормально, просто сообщения не принимаются. Как будто никого нет.
Я проделал всевозможные исследования по обходному краю NAT, и я ошеломлен информацией, и везде, где я смотрю, люди, похоже, не решили проблему.
Я слышал, что всевозможные проблемы, связанные с брандмауэрами, являются проблемой с обходом края, который нужно активировать, но я пробовал все предложения, и он все еще не работает. Я даже отключил брандмауэры на обеих машинах локально и удаленно, и ничего не происходит.
Может ли кто-нибудь дать представление о том, как эффективно пробивать и иметь возможность общаться с этими приложениями, не выполняя всевозможные процедуры настройки и ручную настройку брандмауэра (которые, похоже, не работают)?
.net traversal p2p wcf peer
Ошибка Ответа Client_not_active При Попытке Получить Токен Доступа С Помощью Curl
Я отправляю пошаговое руководство NEST REST и теперь блокируется с ответом об ошибке во время попыток получить токен доступа. Ответ:
{"error":"client_not_active","error_description":"client is not active","instance_id":"here_is_something_looks_like_guid"}
Я проверил Руководство по сообщениям об ошибках, и это помогает мне понять, что "Клиент неактивен". Полезно, да? Итак, какой клиент и как его активировать? У меня работает домашний симулятор, также я зарегистрировал так называемый "продукт", который я хочу разработать (поэтому у меня есть идентификатор продукта, секрет продукта, URL-адрес авторизации и URL-адрес токена доступа).
[Обновление] Для всех операций я использовал завиток. Однако с Firefox-аддоном, который отправляет данные POST, я могу получить access_token. Поэтому я задаю вопрос, но до сих пор будет придерживаться браузера.
rest oauth-2.0 nest-api
Назначать Истинное Или Ложное Значение Один За Другим
У меня вопрос из моего задания, я не могу найти решение для этого.
Этот массив объявляет 12 переменных.
boolean[] rowOfRotatoes = new boolean[12];
теперь я должен присваивать истинное и ложное значение один за другим,
rowOfRotatoes[0] = true;
rowOfRotatoes[1] = false;
rowOfRotatoes[2] = true;
rowOfRotatoes[3] = false;
rowOfRotatoes[4] = true;
....
rowOfRotatoes[9] = true;
rowOfRotatoes[10] = false;
rowOfRotatoes[11] = true;
но я должен использовать цикл, чтобы сделать это!
Они дали мне структуру, чтобы заполнить пробелы.
int plantingSpace = 0;
while(plantingSpace < 12) {
rowOfRotatoes[plantingSpace] = <Fill this space 1> <Fill this space 2> <Fill this space 3> == 0;
++plantingSpace;
}
Как использовать вышеуказанную структуру для присваивания значений true и false один за другим?
java
Я Не Могу Получить Прочность, Установленную С Homebrew На Macos Sierra. Установка Зависает При Повышении
Я попытался установить твердость на своем Mac с
brew update
brew upgrade
brew tap ethereum/ethereum
brew install solidity
brew linkapps solidity
как это было предложено в бинарных пакетах солидности #. Но когда я пытаюсь brew install solidity
процесс установки застревает прямо здесь, когда вы устанавливаете boost:
bash-3.2$ brew install solidity
==> Installing solidity from ethereum/ethereum
==> Installing dependencies for ethereum/ethereum/solidity: boost, cryptopp, gmp
==> Installing ethereum/ethereum/solidity dependency: boost
==> Using the sandbox
==> Downloading https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2
Already downloaded: /Users/Me/Library/Caches/Homebrew/boost-1.64.0.tar.bz2
==> Downloading https://github.com/boostorg/mpi/commit/f5bdcc1.patch
Already downloaded: /Users/Me/Library/Caches/Homebrew/boost--patch-c7af75a83fef90fdb9858bc988d64ca569ae8d940396b9bc60a57d63fca2587b.patch
==> Downloading https://github.com/boostorg/serialization/commit/1d86261.diff
Already downloaded: /Users/Me/Library/Caches/Homebrew/boost--patch-155f603a00975a1702808be072c1420964feac8323de39c111a9d3a363a4ed9a.diff
==> Patching
==> Applying f5bdcc1.patch
patching file boost/mpi/detail/mpi_datatype_primitive.hpp
patching file boost/mpi/detail/packed_iprimitive.hpp
patching file boost/mpi/detail/packed_oprimitive.hpp
Hunk #2 succeeded at 97 (offset -5 lines).
==> Applying 1d86261.diff
patching file boost/serialization/array.hpp
==> ./bootstrap.sh --prefix=/usr/local/Cellar/boost/1.64.0_1 --libdir=/usr/local/Cellar/boost/1.64.0_1/lib --without-icu --without-libraries=python,mp
==> ./b2 headers
==> ./b2 --prefix=/usr/local/Cellar/boost/1.64.0_1 --libdir=/usr/local/Cellar/boost/1.64.0_1/lib -d2 -j4 --layout=tagged --user-config=user-config.jam
Я нашел эту висячую нить и попытался исправить все, что дал мне brew doctor
, и у меня установлены новейшие инструменты командной строки. Я не мог заставить его работать. Есть идеи?
boost homebrew macos ethereum solidity
Использует Ли Массив Как Метод?
У меня этот класс:
class Game
attr_accessor :player_fleet, :opponent_fleet
@player_fleet = []
@opponent_fleet = []
...
end
и создайте такой экземпляр:
my_game = Game.new
затем используйте его следующим образом:
my_game.opponent_fleet << opponent
который дает мне эту ошибку:
undefined method '<<' for nil:NilClass (NoMethodError)
Почему я не могу обработать такой массив? Должен ли я создавать метод для перемещения объектов в массив?
ruby
Экспорт Вложений Электронной Почты В Конкретную Папку
В настоящее время я получаю еженедельные отчеты о перспективах, которые мне нужно открыть и сохранить в определенной папке. Мне удалось переименовать файл и перенести его в нужный файл.
ОДНАКО, формат файла не совпадает с файлом, который прикреплен к электронной почте, он либо зарегистрирован как тип "файл", когда я не помещаю формат даты в конец или файл типа ".2016", когда я класть один. При открытии в Блокноте информация не читается
Вот код, который я использую сейчас:
Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormatdateFormat = Format(Now, "dd.mm.yyyy")
saveFolder = "C:\Users\mypathtotheattachment"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & "thenewnameofmyattachment" & ".csv"
Next
End Sub
Любая помощь приветствуется, я просматривал всю информацию, но я застрял...
Благодарю!
vba outlook-vba outlook email-attachments
Использование Множительной Агрегации С Mongodb
У меня есть несколько документов, которые выглядят так:
{
"hostname" : "server1.example.com",
"virtual" : true,
"processors" : {
"cores" : 1,
"sockets" : 4
}
}
{
"hostname" : "server2.example.com",
"virtual" : false,
"processors" : {
"cores" : 2,
"sockets" : 2
}
}
Я пытаюсь вывести имя хоста, виртуальное и общее количество ядер для каждого документа. Я продолжаю получать синтаксическую ошибку, которая сильно меня раздражает. Вот мой запрос и синтаксическая ошибка.
c.aggregate( {
$project: {
hostname: 1,
total-cores: {$multiply: ["$processors.sockets", "$processors.cores"]},
virtual: 1,
_id: 0
}
});
Thu Apr 25 14:12:18 SyntaxError: missing : after property id (shell):1
Судя по документации, это должно сработать. Что мне не хватает? Я запускаю MongoDB 2.2.2.
http://docs.mongodb.org/manual/reference/aggregation/project/
mongodb
Не Удалось Решить: Android.arch.lifecycle: Extensions: 1.0.0-Alpha1 Android Studio 3.0
Я создаю проект в android studio 3.0 с плагином Android 'com.android.tools.build:gradle:3.0.0-alpha1'
и gradle version gradle-4.0-milestone-1-all.zip
.
Используется также maven repo:
maven {
url 'https://maven.google.com'
}
Кроме того, использование персистентности и жизненного цикла Android в моем проекте. Уже объявлено ниже зависимостями в моем приложении gradle file:
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
При синхронизации и построении проекта он отображается ниже ошибки:
Failed to resolve: android.arch.lifecycle:extensions:1.0.0-alpha1
Я пропустил что-то или другое решение для этой проблемы.
android android-lifecycle android-studio-3.0 android-architecture-components
Запрос Wmi, Возвращающий Неполные Результаты
Я работаю над perl script, который используется для проверки работы нескольких служб. Для этого мы используем WMI для запроса удаленных серверов Windows:
my $WMI_locator = Win32::OLE->new('WbemScripting.SWbemLocator');
$WMI_locator->{Security_}->{AuthentificationLevel} = 6;
my $computer = $WMI_locator->ConnectServer($server, 'root\cimv2', $adminuser, $adminpasswd);
my $services = $computer->ExecQuery('SELECT * FROM Win32_Service', 'WQL', $flag_return_immediately | $flag_forward_only);
Этот фрагмент кода отлично работает при выполнении на моем ноутбуке dev. Однако, когда я пытаюсь запустить его с рабочего сервера, возникают странные вещи: для некоторых компьютеров с удаленными окнами я могу получить примерно половину списка служб.
Я рассмотрел это и обнаружил, что проблема происходит только на серверах с большим количеством сервисов (около 150) и для которых существует разница в среднем пинге (~ 60 мс на локальном сервере, ~ 215 мс на производственном сервере). Проблема, похоже, исходит от WMI, а не perl; Я попытался запросить серверы из командной строки DOS, и я получаю сообщение об ошибке при попытке получить службы, хотя запрос на процессор работает очень хорошо:
E:\>wmic /NODE:server /USER:adminuser /PASSWORD:adminpasswd SERVICE GET Caption, State
Node - server
ERROR:
Code = 0x800706be
Description = The remote procedure call failed.
Facility = Win32
E:\>wmic /NODE:server /USER:adminuser /PASSWORD:adminpasswd CPU GET Name, Status
Name Status
Intel(R) Xeon(R) CPU X5650 @ 2.67GHz OK
Intel(R) Xeon(R) CPU X5650 @ 2.67GHz OK
Intel(R) Xeon(R) CPU X5650 @ 2.67GHz OK
Intel(R) Xeon(R) CPU X5650 @ 2.67GHz OK
Учитывая это, я предполагаю, что проблема связана с сетью, но мы сейчас вникаем в страну, с которой я не знаком. Есть ли какой-то параметр, который я пропустил и/или что-то не так с тем, как я это делаю?
Спасибо за ваши ответы!
perl wmi
Mysql Получает Текущий Счет До Результата
Это мой набор данных:
id user_id amount added
1 1 10.00 2018-09-11
2 2 10.00 2018-09-12
3 3 10.00 2018-09-13
4 1 8.00 2018-09-14
5 2 6.00 2018-09-15
Мне нужен запрос для получения следующего результата:
id user_id amount added status
1 1 10.00 2018-09-11 new
2 2 10.00 2018-09-12 new
3 3 10.00 2018-09-13 new
4 1 8.00 2018-09-14 recurring
5 2 6.00 2018-09-15 recurring
Я хочу получить статус идентификатора пользователя либо ранее, либо это произошло. Если это не так, как показать new
recurring
.
date sql mysql mysql-5.6
Как Использовать Ajax С Объектами Multi-Array От Json С Клиентской Стороны (С#)
Как я могу сделать для следующего кода
Вопрос о конце вопроса - как передать Object-Array в JSON??
Вопрос 1:
данные:??????? <--How делать? ,
var vItems = [];
var vItem = new Item('1', '11');
vItems.push(vItem);
vItem = new Item('2', '22');
vItems.push(vItem);
function Item(Key,Val) {
this.Key = Key;
this.Val = Val;
}
$.ajax({
type: "POST",
url: ".............",
data: ???????????????????? ,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
},
failure: function (response) {
alert(response.d);
}
});
Задний вопрос: как получить данные JSON с лицевой стороны
Вопрос 2:
public static string xxx(????????)
<--How делать?
[System.Web.Services.WebMethod]
public static string xxx(?????????)
{
return "";
}
public class VItems
{
public string Key;
public string Val;
}
PS: Пожалуйста, я должен использовать тот же класс между передней и задней стороной, как
Лицевая сторона
function Item(Key,Val) {
this.Key = Key;
this.Val = Val;
}
Back-Side
public class VItems {
public string Key;
public string Val;
}
Кстати, это не дублированный URL-адрес, потому что это всего лишь один массив-объект, мне нужно обрабатывать несколько данных
json javascript jquery c# ajax
Проверьте, Прошло Ли Дата Часового Пояса Текущего Времени
Я получаю время в формате 12:00
и у меня также есть часовой пояс в формате <DstTzInfo 'Europe/Paris' PMT+0:09:00 STD>
. Я хочу видеть, если эта дата уже передана текущее время в этот часовой пояс.
Мой текущий часовой пояс может отличаться от часового пояса, который я получаю, поэтому я использую следующее:
tz = pytz.timezone('Europe/Paris')
d = parse("14:39").replace(tzinfo=tz)
now = datetime.datetime.now(tz)
print (d - now).total_seconds()
Хотя нынешнее время в Париже составляет 14:39, я все равно получаю 6600 секунд. Я также пробовал now = datetime.datetime.replace(tzinfo=tz
), но я получаю -3600 секунды.
То, что я хочу, - это время в заданном часовом поясе, проверить, прошло оно или нет.
python date timezone datetime pytz
Обработка Нескольких Уловов В Цепочке Обещаний
Я до сих пор довольно новичок в promises и сейчас использую bluebird, однако у меня есть сценарий, в котором я не совсем уверен, как наилучшим образом справиться с этим.
Так, например, у меня есть цепочка обещаний в экспресс-приложении, например:
repository.Query(getAccountByIdQuery)
.catch(function(error){
res.status(404).send({ error: "No account found with this Id" });
})
.then(convertDocumentToModel)
.then(verifyOldPassword)
.catch(function(error) {
res.status(406).send({ OldPassword: error });
})
.then(changePassword)
.then(function(){
res.status(200).send();
})
.catch(function(error){
console.log(error);
res.status(500).send({ error: "Unable to change password" });
});
Итак, поведение, за которым я следую, следующее:
- Идет, чтобы получить учетную запись по идентификатору
- Если в этот момент есть отклонение, выполните вскрытие и верните ошибку.
- Если нет ошибки, конвертируйте документ, возвращенный в модель
- Проверьте пароль с документом базы данных
- Если пароли не совпадают, тогда вылетают и возвращают другую ошибку.
- Если нет ошибки, пароли
- Затем верните успех
- Если что-то еще пошло не так, верните 500
Таким образом, в настоящее время уловы, похоже, не останавливают цепочку, и это имеет смысл, поэтому мне интересно, есть ли способ заставить меня каким-то образом заставить цепочку остановиться в определенной точке на основе ошибок или если есть лучший способ структурировать это, чтобы получить некоторую форму поведения ветвления, так как существует случай if X do Y else Z
.
Любая помощь будет большой.
javascript node.js promise bluebird
Информационный Поиск - Адаптивный Матричный Графический Эскиз, Вероятность Телепортации, Вычисление Pagerank
Я делаю кое-что в Информационном Извлечении, и у меня есть экзамен, и я абсолютно не знаю. Во-первых, может ли кто-нибудь порекомендовать мне кратчайшее и лучшее описание, возможное для того, что PageRank на самом деле находится в информационном поиске? Может быть, даже хорошее короткое видео или ваше собственное описание. Я знаю, что Google использовал или использовал его.
Я знаю, что здесь есть много вопросов, но я мог бы как можно скорее помочь как можно быстрее за короткий промежуток времени.
Итак, мой первый вопрос (взятый из прошлых статей и составление моих собственных примеров):
Я хочу взять таблицу, такую как:
A B C
A 0 1 0
B 1 0 1
C 0 0 0
И создайте график. Я считаю, что это правильно, но не уверен (я мог бы использовать "да, это правильно" или "нет":
И если мне дали график, например:
Таблица:
A B C
A 0 1 0
B 0 0 1
C 0 0 0
Это верно? Если нет, могу ли я получить помощь и описать ее где-нибудь? Лекция, которую я читаю, не очень полезна для объяснения, и мой лектор не очень помогает в этом.
Затем мне, вероятно, будет предложено использовать вероятность телепортации в первой таблице. Это отчаянно нуждается в помощи. Если вероятность (специальный символ) = 1/2, означает ли это умножить все, включая 0 в таблице, такую как 0x1/2? также 1x1/2? Это для матрицы вероятностей перехода.
Следующим будет, как я могу вычислить PageRank из приведенной выше матрицы. Использование матричного умножения. В словах или в псевдокоде.
Еще один вопрос, который я хочу знать, повысит ли рейтинг страницы пользователя на twitter, если они последуют за другим пользователем? Я предполагал, что это будет нет, потому что они не следуют за пользователем?
Зависит ли пользовательский pagerank от того, как часто вы находите указанного пользователя, начинаете ли вы с произвольного пользователя и нажимаете на другое случайное лицо и тому подобное, пока не найдете их? Я предполагаю, что это определенно неверно. Потому что они могут не следовать указанному пользователю.
Я знаю, что это много, чтобы спросить. Есть ли у кого-нибудь учебники, которые я могу выполнить для того, что не сложно, и я могу посмотреть и освоить его сегодня?
Спасибо, я очень ценю вашу помощь. Я знаю, что ни один человек не может ответить на них, но может помочь кому-то помочь.
matrix probability pagerank transition information-retrieval
Как Собирать Данные О Местоположении Каждые 10 Секунд В Android
Я написал GPSDataCollectService для сбора данных о местоположении каждые 10 секунд, но он не сообщил о местоположении на моем мобильном телефоне HTC, не так ли? может кто-нибудь мне помочь?
package com.android.example;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
public class GPSDataCollectorService extends Service {
private static final String TAG = GPSDataCollectorService.class
.getSimpleName();
LocationManager locationManager;
LocationListener gpsLocationListener;
@Override
public IBinder onBind(Intent intent) {
return null;
}
private Timer timer;
private TimerTask collectTask = new TimerTask() {
@Override
public void run() {
Log.i(TAG, "Timer task doing work: "
+ Calendar.getInstance().getTimeInMillis());
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
gpsLocationListener = new GPSLocationListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 10 * 1000L, 0,
gpsLocationListener);
}
};
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "Service creating");
timer = new Timer("GPSDataCollectorTimer");
timer.schedule(collectTask, 1000L, 10 * 1000L);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i(TAG, "Service destroying");
locationManager.removeUpdates(gpsLocationListener);
timer.cancel();
timer = null;
}
private class GPSLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
Log.d(TAG, "onLocationChanged: " + location.toString());
locationManager.removeUpdates(gpsLocationListener);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d(TAG, "onStatusChanged: " + status);
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
}
}
android
Почему Кортежи Содержат Изменчивые Элементы?
Если кортеж неизменен, то почему он может содержать изменяемые элементы?
Кажется, что противоречие заключается в том, что когда изменяемый элемент, такой как список, становится модифицированным, кортеж, который он принадлежит, поддерживает неизменяемость.
python immutability list tuples
Как Изменить Каталог На Файлы Программ С Помощью Powershell?
Я хотел бы открыть C:\Program Files\R\R-3.2.0\bin\Rscript.exe. Для этого я пытаюсь изменить каталог. Я понял, что ошибка заключается в открытии файлов программы. Ниже приведен код
cd Program Files\R\R-3.2.0\bin
Error: A positional parameter cannot be found that accepts argument Files
powershell
Подклассы Css, Правильно Ли Я Делаю Это?
.popUp
{
width: 300px;
height: 300px;
position: fixed;
top: 0px;
left: 0px;
background-color: white;
}
.question .popUp
{
width: 300px;
height: 20px;
border: 1px solid black;
background-color: black;
}
Как вы можете видеть, я пытаюсь сделать класс вопросов подклассом класса popUp. Из того, что я googled, это должно работать, но это не так. Если я сделаю это вместо:
.question
{
width: 300px;
height: 20px;
border: 1px solid black;
background-color: black;
}
Это работает, но это не соответствует точке.
css subclass
Как Сделать Элемент Полной Ширины В Автоматическом Ограничении Макета?
Я пытаюсь сделать кнопку полной ширины в iOS 9 раскадровки, и я пытаюсь создать ограничение ширины ширины, но ограничение ширины, похоже, только принимает точное статическое число. Как заставить элемент перейти в полную ширину.
Кроме того, если бы я хотел сказать, что изображение будет иметь полную высоту и регулируемую ширину, чтобы поддерживать его соотношение сторон или размер, чтобы соответствовать заполнению, как бы я это сделал с ограничениями автоматического макета в раскадровке.
Должен ли я делать это программно в контроллере представления?
xcode autolayout ios9 uistoryboard ios-autolayout