我想制作简单的 android 应用程序,其中我只有 textview 和一个按钮。单击该按钮后,文本视图中的字符串将在 PC 上广播和接收。我是 android 编程和网络编程的新手。1.请建议在PC上使用什么工具。2.一些简单的步骤来实现这一点。3.一些健康的教程,以更好地理解事物。
对不起,如果我听起来很愚蠢:P 在此先感谢。
好吧,我不确定这是否是最好的方法,但仍然是一种方法,您可以将SMB用于 android,而对于 PC,只需一个普通的 Java 程序,因此:
1:for PC you could use Java (since you use Java as a topic i supose that you know how to do a single program with this programming language
作为实现数字 1 的建议,您可以执行一个程序,每 3-5 秒不断检查一个空文件是否有数据或仍然为空,如果有数据则显示一个包含数据的对话框,一个 showMessageDialog 就可以完成这项工作。
2:for android use what i said first, with that you could read or write a File on the PC from your android device, of course if both the PC and android device are in the same network
此时,只需在由 java 程序检查的 PC 上的文件中写入 TextView 或 EditText 的字符串,让我知道这是否对您有帮助,或者您是否需要更具体的细节,但我认为您可以这样做你要。对不起我的英语,还在学习它:)
欢迎来到 StackOverflow!
好吧,听起来您想先跳入编程世界Android
。这很好,但你应该从某个地方开始。迄今为止我见过的最好的系列教程是在The New Boston。这些视频非常容易理解,该系列由 200 个视频组成。它涵盖了从下载和安装Eclipse
(这是您可以用来开发Android
应用程序的一种工具)到一些非常高级的概念的所有内容。因此,如果您有基本的了解,则可以选择要观看的视频,如果您想要完整的速成课程,只需观看所有视频。它还有大约 3000 个关于所有编程语言的其他视频。例如,Java
如果您还不知道,您将需要它。
在 PC 端,如果您没有设置任何实时服务器来玩,我建议XAMPP
在此链接XAMPP下载。它允许您在自己的计算机上创建许多东西,所有这些都是免费的。例如SQL
带有 phpmyadmin 的数据库和其他一些东西。总而言之,如果您在 The New Boston 观看了 200 个视频中的几个,您就会更好地了解您需要做什么来实现您的目标。您还将更好地了解将来要具体要求的内容。希望这会有所帮助,如果您需要其他任何东西,请询问
听起来套接字对您想要做的事情有好处。基本上,您需要在 PC 上运行一个服务器脚本/程序,并且 android 程序可以发送一个连接请求,然后发送一个带有字符串的数据包。
您需要ServerSocket
在服务器上创建一个类似这样的东西,并让它在您选择的端口上侦听。
ServerSocket serverSocket = null;
int port = 9876;
try {
serverSocket = new ServerSocket(port);
} catch ( Exception e ) {
System.out.printf("Could not listen on port: %d", port );
System.exit(-1);
}
通常使用一个新线程来接受这样的连接。
new Thread(new ServerThread(serverSocket.accept())).start();
的run()
方法ServerThread
可以这么简单
try {
Scanner socketIn = new Scanner(this.clientSocket.getInputStream());
PrintWriter socketOut = new
PrintWriter(this.clientSocket.getOutputStream(), true);
while(socketIn.hasNext() {
System.out.println(socketIn.next());
}
} catch (Exception e) {
}
您可以使用这样的代码在客户端(在您的情况下是在 android 设备上)创建一个套接字。(请注意,android 不允许您在主线程中执行此操作,因此您必须在另一个线程中创建连接。
public void sendRequest(final String message) {
Log.d("test", "log");
new Thread() {
@Override
public void run() {
try {
Socket socket = new Socket(InetAddress.getByName(HOST), PORT);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(message);
} catch (Exception e) {
Log.d("Exception in thread", e.getStackTrace()+"");
}
}
}.start();
}
由于您只是在 wifi 上执行此操作,而不是InetAddress.getByName(HOST)
,因此您只需输入 PC 的本地 IP 地址即可。此外,如果您一直计划这项工作,而不仅仅是学习和练习,最好在您的网络上设置具有静态本地 IP 的 PC。有很多教程可以在不同的操作系统上做到这一点。
幸运的是,Java 中的套接字编程非常简单。您可以使用Scanner
andPrintwriter
来读取和写入套接字。
请注意,上面的代码我没有测试过,但是原理是合理的。
以下是一些提供一些信息的网站。
编辑。我只能发布两个链接,因为我的代表很低。