-1

我想制作简单的 android 应用程序,其中我只有 textview 和一个按钮。单击该按钮后,文本视图中的字符串将在 PC 上广播和接收。我是 android 编程和网络编程的新手。1.请建议在PC上使用什么工具。2.一些简单的步骤来实现这一点。3.一些健康的教程,以更好地理解事物。

对不起,如果我听起来很愚蠢:P 在此先感谢。

4

3 回答 3

0

好吧,我不确定这是否是最好的方法,但仍然是一种方法,您可以将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 的字符串,让我知道这是否对您有帮助,或者您是否需要更具体的细节,但我认为您可以这样做你要。对不起我的英语,还在学习它:)

于 2013-06-22T20:32:39.357 回答
0

欢迎来到 StackOverflow!

好吧,听起来您想先跳入编程世界Android。这很好,但你应该从某个地方开始。迄今为止我见过的最好的系列教程是在The New Boston。这些视频非常容易理解,该系列由 200 个视频组成。它涵盖了从下载和安装Eclipse(这是您可以用来开发Android应用程序的一种工具)到一些非常高级的概念的所有内容。因此,如果您有基本的了解,则可以选择要观看的视频,如果您想要完整的速成课程,只需观看所有视频。它还有大约 3000 个关于所有编程语言的其他视频。例如,Java如果您还不知道,您将需要它。

在 PC 端,如果您没有设置任何实时服务器来玩,我建议XAMPP在此链接XAMPP下载。它允许您在自己的计算机上创建许多东西,所有这些都是免费的。例如SQL带有 phpmyadmin 的数据库和其他一些东西。总而言之,如果您在 The New Boston 观看了 200 个视频中的几个,您就会更好地了解您需要做什么来实现您的目标。您还将更好地了解将来要具体要求的内容。希望这会有所帮助,如果您需要其他任何东西,请询问

于 2013-06-22T20:23:09.640 回答
0

听起来套接字对您想要做的事情有好处。基本上,您需要在 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 中的套接字编程非常简单。您可以使用ScannerandPrintwriter来读取和写入套接字。

请注意,上面的代码我没有测试过,但是原理是合理的。

以下是一些提供一些信息的网站。

  1. http://cs.lmu.edu/~ray/notes/javanetexamples/
  2. http://docs.oracle.com/javase/tutorial/networking/sockets/ 我喜欢这个

编辑。我只能发布两个链接,因为我的代表很低。

于 2013-06-22T21:05:51.150 回答