我正在尝试使用Wifimanager来计算扫描期间找到的接入点的信号电平.
我使用以下方法:
WifiManager.calculateSignalLevel(int,int)
但无论RSSI级别如何,它似乎总是返回相同的int.
这是我的代码:
public int calculateQoS(int aRSSI){
signalLevel = WifiManager.calculateSignalLevel(RSSI, 5);
return signalLevel;
}
Run Code Online (Sandbox Code Playgroud)
public void testCalculateQoS(){
Log.d("signal", "signal = : "
+ connMonitor.calculateQoS(-44)
+ " " + connMonitor.calculateQoS(-80)
+ " " + connMonitor.calculateQoS(-120)
+ " " + connMonitor.calculateQoS(-20));
}
Run Code Online (Sandbox Code Playgroud)
对于calculateQoS(int)的所有测试用例,日志输出1.
我错过了一些简单的东西吗?为什么SignalLevel总是1?
我正在尝试在从服务启动的Activity中创建一个Options菜单,然后根据来自通过Handler传递的Service的消息更改其UI.
我按如下方式设置了"选项"菜单:
/** Menu creation and setup **/
/* Creates the menu items */
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "Speaker");
menu.add(0, 2, 0, "Mute");
return true;
}
/* Handles item selections */
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
//Do something here
return true;
case 2:
//Do something here
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是当我的应用程序运行时它永远不会被调用.
我遇到了一些问题,我需要使用Handler来更改屏幕上的Text,因为信息是在错误的线程上传递的,同样的问题可能是菜单没有显示的原因吗?
是这样我怎么能解决它,因为我无法覆盖处理程序中的方法
在我的应用程序中,我希望能够振动几秒钟以提醒用户正在发生的事情.
我使用了以下代码:
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
Run Code Online (Sandbox Code Playgroud)
而这就像它会振动一次.
然而,我希望能够振动5次,而不是连续振动或任何我只想振动一次,停止,再次振动,停止等等,苹果通过应用程序商店可以接受吗?
每当Wifi连接状态发生变化时,我都希望向我的服务发送意图.
因此,当我目前使用广播接收器来监听Wifi中的状态更改时,所以当收到意图时我希望能够将此信息发送到我的服务.
这是可能的,如果是这样,正确的方法吗?
我目前正在将一些Windows移动C++代码移植到标准C++.
所以我试图找到Windows特定功能的替代品.
我很难找到一个标准的C++函数,它可以帮助我替换WSAGetLastError()窗口特定的函数.
WSAGetLastError()返回Windows中套接字发生的错误的错误号.
所以我想知道是否有人知道在标准c ++中替换此功能的方法?
为连接/解除套接字的不同结果获取不同错误号的方法是足够的.
我是iPhone开发的新手,到目前为止还可以,我已经成功掌握了Tab栏,导航栏和tableviews.
但是,我希望能够在用户想要更改语言时复制设备应用程序在设备上执行的操作.
在"设置","常规","国际"中,当用户单击"语言"时,新屏幕会在上一个屏幕上显示动画,其中导航栏具有取消和完成按钮以及显示可供选择的语言的表格视图.
我似乎无法通过谷歌找到如何做到这一点,所以我想知道是否有人能指出我正确的教程方向或我应该寻找什么?它是视图的类型还是某种动画视图的方式?
我目前正在尝试设置我的iPhone应用程序中的一个套接字的kCFStreamNetworkServiceType属性.
这是我用过的代码:
CFReadStreamRef sipSocketStream;
CFSocketNativeHandle socket = (CFSocketNativeHandle)aSocket;
CFStreamCreatePairWithSocket(kCFAllocatorDefault, socket, &sipSocketStream, nil);
CFReadStreamSetProperty(sipSocketStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
MyAppDelegate *appdelegate = [[UIApplication sharedApplication] delegate];
NSInputStream *sipStream = (NSInputStream*)sipSocketStream;
[sipStream setDelegate:appdelegate];
[sipStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
CFReadStreamOpen(sipSocketStream);
Run Code Online (Sandbox Code Playgroud)
但是这不会为我编译,我得到以下错误:
Undefined symbols for architecture armv6:
"_kCFStreamNetworkServiceType", referenced from:
VoIPSignallingSocketInit(int) in SocketTools.o
"_kCFStreamNetworkServiceTypeVoIP", referenced from:
VoIPSignallingSocketInit(int) in SocketTools.o
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
是否有一些重要的或包括我缺少或我必须添加到我的项目的一些框架?搜索谷歌没有帮助,所以对这个问题的任何想法都是最受欢迎的.
我是AngularJS的新手,我正在尝试学习更多关于ng-repeat的可能性.我已经整理了一些代码来尝试学习更多但是我遇到了一些我不理解的问题.
这是代码:
HTML:
<ul class="list-unstyled">
<li ng-repeat="worker in workers">
<section class="well col-md-6 col-md-offset-3">
<h1 class="h3 col-md-6 text-right" style="margin-top: 0"><a>{{worker.worker_name}} {{ getTipCount(worker.id) }}</a></h1>
</section>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
$scope.getTipCount = (workerId) ->
WorkerTips = $resource("/workers/#{workerId}", { workerId: "@id", format: 'json' })
json = WorkerTips .get ((res) ->
$scope.workertipscount = res.worker.tips.lengh
)
Run Code Online (Sandbox Code Playgroud)
在JSON中,每个工作者对象都有一系列提示,我想要做的是获得每个工作者有多少提示的计数.要做到这一点,我需要通过ng-repeat从worker获取id,然后将其传递给一个函数,然后从JSON中获取提示计数并将其显示在页面上.
但是,当我尝试这样做时,看起来页面进入无限循环,我得到以下错误:
错误:[$ rootScope:infdig] 10 $ digest()迭代达成.中止!
所以我猜测我的方法是从ng-repeat中的元素中提取信息,然后将它发送到也被发送到ng-repeats视图的函数是不正确的?如果是这样,AngularJS的正确方法是什么?
我的应用程序在 res/xml/preferences.xml 中有以下代码:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Wi-Fi settings">
<EditTextPreference
android:key="pref_voice_threshold_top"
android:title="@string/title_pref_voicetopthreshold"
android:dialogTitle="@string/dialog_title_pref_voicetopthreshold"
android:defaultValue="20"
android:inputType="number"/>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以在代码中使用此首选项,以便我可以通过下载 xml 文件来更新它?
因此,我目前在 PreferenceActivity 中显示上述首选项,效果很好,但是我希望能够通过每周从互联网下载新设置来更新设置。
所以我的问题是如何在代码中打开此首选项并将其值设置为新下载的值?
我正在尝试一个简单的测试来了解JQuery Ajax POST方法,我在我的服务器上设置了一个小例子.但是,我无法工作.
我的JavaScript如下:
JavaScript的:
var json = {"Num String":"2","Num":3,"Num":11,"Num":2,"Num":"?"};
$.ajax({
type: "POST",
url: "sampleJSONPost.php",
data: json, //Data to POST to the server
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (jqXHR, status, err) {
console.log("Error " + err + " " + status + " " + JSON.stringify(jqXHR)); //Log the Error
},
success: function (data, status, jqXHR) {
console.log(JSON.stringify(data)); //Log the Data returned
$("span").text(data);
}
});
};
Run Code Online (Sandbox Code Playgroud)
这是我的PHP:
PHP:
<?php
$data = $_POST["data"];
echo json_decode($data);
?>
Run Code Online (Sandbox Code Playgroud)
但是这总是给我以下错误:
Error SyntaxError: Unexpected …Run Code Online (Sandbox Code Playgroud) android ×4
iphone ×2
objective-c ×2
angularjs ×1
animation ×1
c++ ×1
coffeescript ×1
handler ×1
http-post ×1
ios ×1
javascript ×1
jquery ×1
json ×1
linux ×1
options-menu ×1
php ×1
porting ×1
preference ×1
rssi ×1
sockets ×1
view ×1
wifimanager ×1
xml ×1