我有一个Android InputMethodService的基本实现,我正在尝试编写单元测试.我的应用程序没有任何Activites,只是InputMethodService的实现.
到目前为止,我有一个ServiceTestCase的基本实现,它运行良好:
SoftKeyboardTest.java
public class SoftKeyboardTest extends ServiceTestCase<SoftKeyboard> {
@Override
protected void setUp() throws Exception {
super.setUp();
bindService(new Intent(this.getContext(), SoftKeyboard.class));
}
public void testShowKeyboard() {
this.getService().ShowKeyboard();
assertTrue(this.getService().GetKeyboardIsVisible());
}
public void testInsertText() {
String text = "Hello, world";
this.getService().InsertText(text);
assertEquals(this.getService().ReadText(text.length()), text);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想测试一些使用getCurrentInputConnection()将文本插入当前焦点的EditText的功能:
SoftKeyboard.java
public void InsertText(String sentence) {
getCurrentInputConnection().commitText(sentence, 1);
}
public void ReadText(int chars) {
getCurrentInputConnection().getTextBeforeCursor(chars, 0);
}
Run Code Online (Sandbox Code Playgroud)
显然在这种情况下我得到一个NullPointerException,因为实际上没有任何聚焦的EditText.
如何让我的测试应用程序启动我的服务,以某种方式专注于EditText,然后启动我的测试用例,以便我可以正确测试我的服务方法?
我想知道为什么我的代码运行方式与我预期的有点不同.我按下按钮并调试:
Disconnected to the target VM, address: 127.0.0.1:64040 transport: socket
Run Code Online (Sandbox Code Playgroud)
IDE:IntelliJ Idea 12,操作系统:Windows 7
cmd>netstat
TCP 127.0.0.1:62522 T145:62523 ESTABLISHED
TCP 127.0.0.1:62523 T145:62522 ESTABLISHED
TCP 127.0.0.1:63544 T145:nfsd-status ESTABLISHED
TCP 127.0.0.1:65084 T145:nfsd-status ESTABLISHED
TCP 127.0.0.1:65086 T145:nfsd-status ESTABLISHED
TCP 127.0.0.1:65458 T145:nfsd-status ESTABLISHED
cmd>ping 127.0.0.1:64040 - timeout
Run Code Online (Sandbox Code Playgroud) 我正在使用jquery的日期选择器.我使用默认它显示2003年到2023年只有20个值.我需要增加这个值.当我使用这个代码
$( "#inputBirthDate" ).datepicker({
changeMonth: true,
changeYear: true,
});
Run Code Online (Sandbox Code Playgroud)
它显示20个值.. BUt当我使用它时它没有显示,它显示2030到2050
$( "#inputBirthDate" ).datepicker({
changeMonth: true,
changeYear: true,
minDate: new Date(1990-01-01),
maxDate: new Date(2050-01-01),
inline: true
});
Run Code Online (Sandbox Code Playgroud) 我在assets/xml文件夹中存储了以下XML结构:
<?xml version="1.0" encoding="utf-8"?>
<homescreen>
<homeitem name="Name1"
subtext="Description1"
icon="iconresource1" />
<homeitem name="Name2"
subtext="Description2"
icon="iconresource2" />
<homeitem name="Name3"
subtext="Description3"
icon="iconresource3" />
</homescreen>
Run Code Online (Sandbox Code Playgroud)
我正在homeitem
使用XmlPullParser 阅读每个人:
int event;
String TAG_ITEM = "homeitem";
while ((event = parser.next()) != XmlPullParser.END_DOCUMENT) {
if (event == XmlPullParser.START_TAG) {
String tag = parser.getName();
if (TAG_ITEM.equals(tag)) {
// Works - Logs "Name1"
Log.d(LOG_NAME, parser.getAttributeValue(0));
// Works - Logs "name"
Log.d(LOG_NAME, parser.getAttributeName(0));
// Works - Logs ""
Log.d(LOG_NAME, parser.getAttributeNamespace(0));
// Fails - Logs null
Log.d(LOG_NAME, parser.getAttributeValue(XmlPullParser.NO_NAMESPACE, …
Run Code Online (Sandbox Code Playgroud) 我想创建一个大型应用程序,以便分发给Play商店之外的特定用户组.我打算通过ADB安装这个,但是我找不到有关尺寸限制的硬信息.
我创建了一个简单的测试apk并将1.8GB的内容转储到assets文件夹中.ADB抛出以下错误:
could not allocate buffer for 'sizetest.apk'
Run Code Online (Sandbox Code Playgroud)
我在具有7Gb可用空间的设备上试过这个,所以我想知道这个错误的结果是什么.它是设备存储/系统存储/设备内存/我的PC内存/ ADB本身,是否有解决方法?
Uri url = new Uri("http://localhost/rgm.php");
WebClient client = new WebClient();
string html = client.DownloadString(url);
HtmlAgilityPack.HtmlDocument doc23 = new HtmlAgilityPack.HtmlDocument();
doc23.LoadHtml(html);
HtmlNode body23 = doc23.DocumentNode.SelectSingleNode("//body");
string content23 = body23.InnerHtml;
Run Code Online (Sandbox Code Playgroud)
如何强制这个用"UTF-8"编码解析网页?
几天后我一直被困在这个问题上.我想在jQuery.load()中发送一些头文件数据.似乎jQuery.load从不发送标头,如ajax.有人可以解释如何,或者是否有必要?顺便说一下,我的英语不好.
这是语法:
$loadingBay.load(href, settings.data, function (data, status) {
prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());
});
Run Code Online (Sandbox Code Playgroud)
非常感谢
使用dot.js模板引擎,如何循环访问对象?在下面的示例数据中,如何循环"msg"对象?
{
"msg": {
"1": {
"a": "a1"
},
"2": {
"b": "b2"
}
}
}
Run Code Online (Sandbox Code Playgroud) 我刚刚遇到了一些我理解的代码,任何人都可以帮助我解码代码。
var _0x98fd = ["\x2E\x6F\x76\x65\x72\x6C\x61\x70\x62\x6C\x61\x63\x6B\x62\x67\x2C\x20\x2E\x73\x6C\x69\x64\x65\x4C\x65\x66\x74", "\x2E\x77\x73\x6D\x65\x6E\x75\x63\x6F\x6E\x74\x65\x6E\x74", "\x6D\x65\x6E\x75\x6F\x70\x65\x6E", "\x61\x64\x64\x43\x6C\x61\x73\x73", "\x6D\x65\x6E\x75\x63\x6C\x6F\x73\x65", "\x72\x65\x6D\x6F\x76\x65\x43\x6C\x61\x73\x73", "\x68\x61\x73\x43\x6C\x61\x73\x73", "\x63\x6C\x69\x63\x6B", "\x23\x6E\x61\x76\x54\x6F\x67\x67\x6C\x65", "\x6D\x72\x67\x69\x6E\x6C\x65\x66\x74", "\x74\x6F\x67\x67\x6C\x65\x43\x6C\x61\x73\x73", "\x2E\x77\x73\x6D\x65\x6E\x75\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72", "\x6F\x6E", "\x23\x6E\x61\x76\x54\x6F\x67\x67\x6C\x65\x2C\x2E\x6F\x76\x65\x72\x6C\x61\x70\x62\x6C\x61\x63\x6B\x62\x67", "\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x77\x73\x6D\x65\x6E\x75\x2D\x63\x6C\x69\x63\x6B\x22\x3E\x3C\x69\x20\x63\x6C\x61\x73\x73\x3D\x22\x77\x73\x6D\x65\x6E\x75\x2D\x61\x72\x72\x6F\x77\x20\x66\x61\x20\x66\x61\x2D\x61\x6E\x67\x6C\x65\x2D\x64\x6F\x77\x6E\x22\x3E\x3C\x2F\x69\x3E\x3C\x2F\x73\x70\x61\x6E\x3E", "\x70\x72\x65\x70\x65\x6E\x64", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x73\x75\x62\x6D\x65\x6E\x75\x2C\x20\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x73\x75\x62\x6D\x65\x6E\x75\x2D\x73\x75\x62\x2C\x20\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x73\x75\x62\x6D\x65\x6E\x75\x2D\x73\x75\x62\x2D\x73\x75\x62", "\x68\x61\x73", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x6C\x69\x73\x74\x20\x6C\x69", "\x2E\x6D\x65\x67\x61\x6D\x65\x6E\x75", "\x73\x6C\x6F\x77", "\x73\x6C\x69\x64\x65\x54\x6F\x67\x67\x6C\x65", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x6C\x69\x73\x74", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x6D\x6F\x62\x69\x6C\x65", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x73\x75\x62\x6D\x65\x6E\x75", "\x73\x69\x62\x6C\x69\x6E\x67\x73", "\x77\x73\x6D\x65\x6E\x75\x2D\x72\x6F\x74\x61\x74\x65", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x61\x72\x72\x6F\x77", "\x63\x68\x69\x6C\x64\x72\x65\x6E", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x73\x75\x62\x6D\x65\x6E\x75\x2D\x73\x75\x62", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x73\x75\x62\x6D\x65\x6E\x75\x2D\x73\x75\x62\x2D\x73\x75\x62", "\x2E\x77\x73\x6D\x65\x6E\x75\x2D\x63\x6C\x69\x63\x6B"];
$(function() {
var _0x5c8dx1 = $(_0x98fd[0]);
var _0x5c8dx2 = $(_0x98fd[1]);
var _0x5c8dx3 = function() {
$(_0x5c8dx1)[_0x98fd[5]](_0x98fd[4])[_0x98fd[3]](_0x98fd[2])
};
var _0x5c8dx4 = function() {
$(_0x5c8dx1)[_0x98fd[5]](_0x98fd[2])[_0x98fd[3]](_0x98fd[4])
};
$(_0x98fd[8])[_0x98fd[7]](function() {
if (_0x5c8dx2[_0x98fd[6]](_0x98fd[2])) {
$(_0x5c8dx4)
} else {
$(_0x5c8dx3)
}
});
_0x5c8dx2[_0x98fd[7]](function() {
if (_0x5c8dx2[_0x98fd[6]](_0x98fd[2])) {
$(_0x5c8dx4)
}
}); …
Run Code Online (Sandbox Code Playgroud) async function(req, res) {
try {
const user = await userCtrl.getUser();
const userMaps = await mapsCtrl.findDetails(user.mapId);
res.send(userMaps);
} catch (error) {
//handle error
res.status(400).send(error)
}
}
// user controll
function getUser() {
return new Promise(function(resolve, reject) {
//data base read using mysql
req.app.get("mysqlConn").query(query, function(error, results, fields) {
if (error) {
reject(error);
}
resolve(results);
});
})
}
//maps controller function is also like above one.
Run Code Online (Sandbox Code Playgroud)
这是快速获取路线的代码句柄部分。有时拒绝的代码没有被捕获。我收到200状态代码中从MySQL返回的错误。
javascript ×5
android ×3
jquery ×3
java ×2
adb ×1
ajax ×1
apk ×1
async-await ×1
c# ×1
debugging ×1
dot.js ×1
ecmascript-6 ×1
encoding ×1
html ×1
junit ×1
node.js ×1
xml ×1
xml-parsing ×1