我正在开发项目,我使用带有蓝牙模块的Arduino和带有Android OS的手机Samsung Galaxy S II.该项目的想法是通过蓝牙将一些命令从我的手机发送到Arduino.我想在Arduino中包含一个数据库,以便当我从手机发送登录信息时,Arduino将检查数据库,如果登录信息匹配,它会从数据库中检索一些数据并将其发送到我的手机.
如何在Arduino中存储数据库?我应该购买外部EEPROM还是RAM?我该如何处理该数据库(添加,删除和操作数据)?
我的Ardunio属于UNO,BTW.
在处理赋值时,我遇到了从ArrayList中删除对象的问题如果我使用"normal"for循环,它的工作原理如下
public void returnBook(String isbn){
for (int i = 0; i < booksBorrowed.size(); i++){
if (booksBorrowed.get(i).getISBN() == isbn){
booksBorrowed.get(i).returnBook();
booksBorrowed.remove(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用增强的for循环来简化代码时,这不起作用并显示java.util.ConcurrentModificationException错误:
public void returnBook(String isbn){
for (Book book: booksBorrowed){
if (book.getISBN() == isbn){
book.returnBook();
booksBorrowed.remove(book);
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望你们能帮我一点......
从AbstractAction使用TextAction的目的是什么?以及如何将其用于以下内容:
插入符号
键绑定
我一直在努力寻找解决问题的方法,但我没有运气.这是一个示例代码:
import java.awt.BorderLayout;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
public class Example extends JFrame
{
private static final long serialVersionUID = 1L;
public Example()
{
JPanel contentPane = (JPanel) getContentPane();
contentPane.setLayout(new BorderLayout());
JPanel panTop = new JPanel(new BorderLayout());
//JPanel panBottom = new JPanel(new BorderLayout());
JPanel panTopCenter = new JPanel();
//JPanel panTopLeft = new JPanel();
//JPanel panTopRight = new JPanel();
panTop.add(panTopCenter, BorderLayout.CENTER);
//panTop.add(panTopLeft, BorderLayout.WEST);
//panTop.add(panTopRight, BorderLayout.EAST);
contentPane.add(panTop, BorderLayout.CENTER);
//contentPane.add(panBottom, BorderLayout.SOUTH);
JPanel pan = new JPanel(); …Run Code Online (Sandbox Code Playgroud) 在我的Android应用程序中,我希望能够将一个字符串值添加到我在主要的android活动中声明的静态arraylist.逻辑是这样的:
1)单击按钮并启动活动时.在oncreate方法上,我想将当前活动的类的名称保存到字符串值.例如:
String className = "com.lunchlist.demo";
Run Code Online (Sandbox Code Playgroud)
分配此值后,我想立即将此字符串值添加到我在主要的android活动中声明的静态ArrayList(意味着首先启动的android活动)添加值之后
我做了这样的事情:
static String List<String> members = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
这是在我的主要活动中宣布的.现在当我单击一个按钮来启动另一个活动时,我使用它在我的oncreate方法中将当前活动的字符串classname添加到我的arraylist:
String className = "com.lunchlist.demo"
members.add(className);
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,这会将字符串值添加到我的arraylist并保存以供以后使用吗?例如,如果我单击三个不同的按钮,这将向arraylist添加三个不同的className值.这会存储一个字符串值,该值将为我的成员arraylist保存三个不同的字符串值吗?如何检查我的arraylist中的每个项目,以查看在新活动开始时是否添加了值?
我问这个是因为我需要检索它并使用共享首选项存储这些值,然后检索它们并使用字符串值启动一个intent,这是启动活动的类.我让活动以类名的字符串值开头,我只是在存储它们时遇到了麻烦.
我的JButton ActionListener有问题.我有一个在另一个类中定义的doTheCleaning()方法,在调用时会对我的GUI进行一系列更改.
public void doTheCleaning(){
//change image icon
//had thread.sleep here
//insert to text area
//had thread.sleep here
//etc
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个类,我实例包含我doTheCleaning()方法的类和有我的ActionListener与我的JButton这样写我的actionPerformed()方法写的:
public void actionPerformed(ActionEvent e){
//some code
//newClass.doTheCleaning();
}
Run Code Online (Sandbox Code Playgroud)
我知道如何像addActionListener()和东西那样做其余的事情,所以不需要对此提出质疑.我担心的是,调用doTheCleaning()方法时执行的GUI中的所有更改仅在单击按钮后才适用.发生这种情况时,我的标签和textarea中发生的更改之间的连续性未显示.如果我直接在我的测试器类中调用它,但在actionperformed方法中调用它只显示我的GUI的最终状态,代码工作正常.我需要先显示哪个元素已更改,然后是下一个元素,依此类推.
当我需要在单击JButton时才发生这些更改时,我怎么能实现它?
**我在java中用GUI做的不太好.我希望你们在没有我提供代码的情况下理解我的观点.但如果有必要,我可以.谢谢.
我正在开展一个学校项目,我们必须创建一个虚拟智能手机,在计算机上运行.
我的问题是我需要在屏幕上创建一个键盘(就像在智能手机上一样),然后您可以通过单击鼠标来使用它.我可以创造每一个JButton,但这需要很长时间.所以我跳了起来,有人知道某种算法可以创建所有按钮并将它们正确地放在屏幕上.
先感谢您 :)
在Android示例类中,这个方法是:
static {
addItem(...);
}
Run Code Online (Sandbox Code Playgroud)
当我引用该类时,确实添加了这些项.我从未见过像这样的方法,a.怎么称呼和b.我想只要引用类(或第一次引用类),就会调用此方法?
我正在研究我的第一个基于桌面的Java项目.我实际上有两个问题
1)如何对JOptionPane.showMessageDialog的OK按钮执行操作.我想在单击确定时导航到新的Jframe说x.java.
2)我有一个名为user的表.此表有8列userid(主键),名称,密码,emailid,dob,mobileno,city,date.必须从Jframe x中获取四个列条目,而从其他Jframe y中获取四个列条目.
我写了以下代码
对于第X帧
PreparedStatement stm = con.prepareStatement("insert into user
(userrid,name,password,emailid))values (?,?,?,?) ");
stm.setString(1,id); // id is a public variable
stm.setString(2,name);
stm.setString(3,ps);
stm.setString(4,email);
stm.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
对于帧Y.(userid是主键)
public class Y extends javax.swing.JFrame
{
X o = new X(); // to access id variable from frame X
}
PreparedStatement stm = con.prepareStatement(" update user set dob ='? ', mobileno
='?' ,city='?', date='?' where userid= 'o.id' ");
Run Code Online (Sandbox Code Playgroud)
它不断抛出上述sql查询的异常
java.sql.SQLException:参数索引超出范围(1>参数个数,为0).
尝试运行一个简单的 hello world 示例,但出现以下错误,我不明白:
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
Run Code Online (Sandbox Code Playgroud)
如何解决?我是否需要一些尚未包含的库、插件、配置?
这是我的 pom:尝试使用 Java 9,10,11,12 和 JavaFX 12 & 13 并得到相同的错误。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>mavenproject3</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>11</maven.compiler.release>
<javafx.version>13</javafx.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>${maven.compiler.release}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<mainClass>com.mycompany.mavenproject3.MainApp</mainClass>
<executable>C:\Program Files\Java\jdk-12\bin\java</executable>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency> …Run Code Online (Sandbox Code Playgroud)