我看到很多关于写入SD卡的帖子,但我相信我的问题是不同的.在构建AVD的过程中,我无法创建SD卡.
我最初尝试使用Android SDK和AVD Manager来执行此操作,选择
名称:my_avd
目标:Android 2.2 - API级别8
SD卡:大小:1024 MiB
皮肤:内置:默认(HVGA)
硬件:属性:抽象LCD密度,值:160
这会弹出一个窗口,其中显示消息:
"创建AVD'my_avd'的结果:
错误:无法创建SD卡."
我试图从命令行重复该过程,收到类似的错误:
alex@alex-desktop:~$ android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.
Run Code Online (Sandbox Code Playgroud)
试图遵循使用mksdcard的说明同样没有效果; 我认为我基本缺乏linux经验可能会让我在这里遇到问题.当我尝试使用mksdcard时,它只是报告它找不到文件或目录.mksdcard工具是否可以在linux中以这种方式使用?
alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M …Run Code Online (Sandbox Code Playgroud) 我讨厌问这么模糊的问题,但我很难找到一个简单的例子.这是我到目前为止所拥有的:
public class JettyWebSocketServlet extends WebSocketServlet{
@Override
public void configure(WebSocketServletFactory factory) {
factory.register(MyEchoSocket.class);
}
}
@WebSocket
public class MyEchoSocket {
@OnWebSocketMessage
public void onText(WebSocketConnection conn, String message) {
System.out.println("text: " + message);
try {
conn.write(null, new FutureCallback(), "got: " + message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以找到的嵌入式Jetty示例总是显示如下所示,以启动Server实例运行,但我不知道如何实例化我的WebSocketServlet.
Server server = new Server(8080);
server.start();
server.join();
Run Code Online (Sandbox Code Playgroud)
如何创建可以处理WebSocket连接请求的嵌入式服务器?
我正在调查zeromq作为java项目中的消息传递解决方案,但我发现有关java绑定的说明有点难以理解. http://www.zeromq.org/bindings:java
我不熟悉java绑定,所以这些可能是愚蠢的问题,但有人可以帮助我理解:
我觉得zeromq上提供的说明需要熟悉构建我缺乏的C项目,所以也许我只是在密集,但这似乎很多工作.
我的目标是简单地将诸如"1.2"的字符串转换为科学记数法而不增加额外的精度.问题是我总是在输出结束时得到多余的0.
>>> input = "1.2"
>>> print '{:e}'.format(float(input))
1.200000e+00
Run Code Online (Sandbox Code Playgroud)
我正在试图找出如何获得公正1.2e+00.我意识到我可以在我的格式语句中指定精度,但我不想不必要地截断更长的字符串.我只是想压制训练0.
我尝试过使用Decimal.normalize(),它适用于所有情况,除了e <2.
>>> print Decimal("1.2000e+4").normalize()
1.2E+4
>>> print Decimal("1.2000e+1").normalize()
12
Run Code Online (Sandbox Code Playgroud)
所以这更好,除了我不想要12,我想要1.2e + 1.:P
任何建议将不胜感激!
编辑: 为了澄清,输入值已经适当地舍入到预定长度,现在是未知的.我试图避免重新计算适当的格式精度.
基本上,我可以输入值"1.23"和"1234.56",它应该是"1.23e + 0"和"1.23456e + 3".
我可能只需要检查输入字符串的长度并使用它来手动指定精度,但我想检查并确保我没有遗漏可以阻止指数格式任意添加0的东西.
这可能是显而易见的,但我对这个范例不熟悉.我创建一个Jetty服务器并注册我的websocket类,如下所示:
Server server = new Server(8080);
WebSocketHandler wsHandler = new WebSocketHandler()
{
@Override
public void configure(WebSocketServletFactory factory)
{
factory.register(MyEchoSocket.class);
}
};
server.setHandler(wsHandler);
Run Code Online (Sandbox Code Playgroud)
websocket接收消息很好.我还希望能够在没有首先收到客户端消息的情况下从服务器发送消息.如何访问连接打开时创建的MyEchoSocket实例?或者,更一般地说,如何在MyEchoSocket中的onText方法之外的套接字上发送消息?
我确信在lisp中这是一个非常初学的问题,因为我只是学习语言.
我在clisp中有一个名为count的函数.它计算给定原子在列表中出现的次数.我想做的是能够使用不同的参数多次调用count,但是要搜索相同的列表.
例如,我想算的次数'A,'B以及'C在列表中,假设.我希望我能做到这样的事情:
(mapcar 'count '(A B C) myList)
Run Code Online (Sandbox Code Playgroud)
我发现这不起作用,因为每个元素'(A B C)只与myList中的一个元素配对.将具有附加输入参数的函数应用于列表中的每个项目的适当惯用方法是什么?
为了进一步澄清,我希望能采取'(A B C)和'(A A B C C C)输入而产生(2 1 3).
我有一个简单的分支定界算法,适用于旅行商问题的变体,我认为尝试将其转换为使用Java 8 Stream API会很有趣.然而,我很难在不依赖副作用的情况下弄清楚如何做到这一点.
初始代码
int bound = Integer.MAX_VALUE;
List<Location> bestPath = null;
while(!queue.isEmpty()) {
Node curr = queue.poll();
//bound exceeds best, bail
if (curr.getBound() >= bound) {
return bestPath;
}
//have a complete path, save it
if(curr.getPath().size() == locations.size()) {
bestPath = curr.getPath();
bound = curr.getBound();
continue;
}
//incomplete path - add all possible next steps
Set<Location> unvisited = new HashSet<>(locations);
unvisited.removeAll(curr.getPath());
for (Location l : unvisited) {
List<Location> newPath = new ArrayList<>(curr.getPath());
newPath.add(l);
Node newNode = new Node(newPath, …Run Code Online (Sandbox Code Playgroud) 我正在使用yamlbeans将yaml文件反序列化为Java对象.只要我只有一个类,这个工作正常.问题是当我想嵌套一个字段时,我被迫在yaml描述中指定嵌套类.
单类示例:
Java的:
public class MessageField {
public String name;
public String type;
public int length;
public String comment;
}
Run Code Online (Sandbox Code Playgroud)
YAML:
name: field1
type: int
length: 4
comment: first field
---
name: field2
type: string
length: 16
comment: second field
---
Run Code Online (Sandbox Code Playgroud)
多个类(需要在yaml文件中使用!com.mylib.VariableField)
Java的:
public class MessageField {
public String name;
public String type;
public int length;
public String comment;
public List<VariableField> variableFields;
}
public class VariableField extends MessageField{
public int id;
}
Run Code Online (Sandbox Code Playgroud)
YAML:
name: field3
type: short
length: 2
comment: …Run Code Online (Sandbox Code Playgroud) 我正在使用此stackOverflow帖子中的代码,它完成了我的期望:
Enumeration<Object> keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof FontUIResource) {
FontUIResource orig = (FontUIResource) value;
Font font = new Font(orig.getFontName(), orig.getStyle(), orig.getSize());
UIManager.put(key, new FontUIResource(font));
}
}
Run Code Online (Sandbox Code Playgroud)
我试图将它重构为以下代码,它只循环遍历javax.swing.plaf中的几个类而不是完整的组件集.我试过挖掘swing API和HashTable API,但我觉得我仍然缺少一些明显的东西.
for(Object key : UIManager.getDefaults().keySet()){
Object value = UIManager.get(key);
if(value instanceof FontUIResource){
FontUIResource orig = (FontUIResource) value;
Font font = new Font(orig.getFontName(), orig.getStyle(), orig.getSize());
UIManager.put(key, new FontUIResource(font));
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么第一个代码块循环并更改所有字体资源,而第二个代码只循环几个项目?
我正在尝试做这样的事情:
public String evaluateString(String s){
Pattern p = Pattern.compile("someregex");
Matcher m = p.matcher(s);
while(m.find()){
m.replaceCurrent(methodFoo(m.group()));
}
}
Run Code Online (Sandbox Code Playgroud)
问题是没有replaceCurrent方法.也许有一个我忽略的等价物.基本上我想用匹配调用的方法的返回值替换每个匹配.任何提示将不胜感激!
我正在尝试转换此格式的数据:
Map<Foo, List<Bar>> mapFooToBars; //start Map
Map<Integer, List<Foo>> mapListSizeToFoos //destination Map
Run Code Online (Sandbox Code Playgroud)
我想基于List<Bar>每个条目的大小创建一个分组,这样在我的输出映射中,我将有一个列表,其中所有Foos一起有0个条,所有Foos一起有1个条,依此类推.
我试图这样做:
Map<Foo, List<Bar>> fooBarMap = whatever();
fooBarMap.entrySet().stream()
.collect(Collectors.groupingBy(entry -> entry.getValue().size()));
//expected Map<Integer,Entry<Foo, List<Bar>> which
//could be transformed into Map<Integer,Foo> pretty easily
Run Code Online (Sandbox Code Playgroud)
我显然不清楚groupingBy是如何工作的,因为这给了我一个"getValue()未定义类型Object"错误.沿着这条线的某个地方,我正在丢失关于entrySet的类型信息,我猜?这让我想知道这不是最好的解决方法.任何帮助赞赏!
这个问题可能掩盖了缺乏 Swing 知识的根本原因,但我似乎无法确定我做错了什么。本质上,我想检测一个组件中的 mousePressed,然后在鼠标下的任何组件被释放时接收 mouseReleased,而不是原始组件。
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.event.MouseInputAdapter;
import net.miginfocom.swing.MigLayout;
public class TestMouseListener extends MouseInputAdapter {
public void mouseEntered(MouseEvent arg0) {System.out.println("Entered " + arg0.getComponent());}
public void mouseExited(MouseEvent arg0) {System.out.println("Exited " + arg0.getComponent());}
public void mousePressed(MouseEvent arg0) {System.out.println("Pressed " + arg0.getComponent());}
public void mouseReleased(MouseEvent arg0) {System.out.println("Released " + arg0.getComponent());}
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setLayout(new MigLayout());
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TestPanel panel1 = new TestPanel("Panel 1");
TestPanel panel2 = new …Run Code Online (Sandbox Code Playgroud)