Android开发-为什么该应用程序崩溃?

蓝光101

我已经制作了一个小型的Android应用程序,该应用程序在您打开它后即会发送UDP数据包。

问题是,当您打开它而不是发送数据包时,它崩溃了。

我的意思是,我尝试在Eclipse的Android虚拟设备上运行它,然后在那崩溃。

这是代码:

package com.example.messagesender;

import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;

import java.io.*;
import java.net.*;

public class Message_Sender extends Activity {
    DatagramSocket clientSocket;
    InetAddress IPAddressx;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_message__sender);
        try {
            clientSocket = new DatagramSocket();
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
          try {
            IPAddressx = InetAddress.getByName("127.0.0.1");
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
          byte[] sendData = new byte[1024];
          String sentence = "Hello World!";
          sendData = sentence.getBytes();
          DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddressx, 12345);
          try {
            clientSocket.send(sendPacket);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.message__sender, menu);
        return true;
    }

}

Logcat输出:

01-31 19:00:58.420: W/System.err(810): java.net.SocketException: socket failed: EACCES (Permission denied)
01-31 19:00:58.420: W/System.err(810):  at libcore.io.IoBridge.socket(IoBridge.java:576)
01-31 19:00:58.420: W/System.err(810):  at java.net.PlainDatagramSocketImpl.create(PlainDatagramSocketImpl.java:91)
01-31 19:00:58.420: W/System.err(810):  at java.net.DatagramSocket.createSocket(DatagramSocket.java:133)
01-31 19:00:58.540: W/System.err(810):  at java.net.DatagramSocket.<init>(DatagramSocket.java:80)
01-31 19:00:58.540: W/System.err(810):  at java.net.DatagramSocket.<init>(DatagramSocket.java:65)
01-31 19:00:58.540: W/System.err(810):  at com.example.messagesender.Message_Sender.onCreate(Message_Sender.java:23)
01-31 19:00:58.540: W/System.err(810):  at android.app.Activity.performCreate(Activity.java:5231)
01-31 19:00:58.540: W/System.err(810):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-31 19:00:58.540: W/System.err(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
01-31 19:00:58.540: W/System.err(810):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
01-31 19:00:58.540: W/System.err(810):  at android.app.ActivityThread.access$800(ActivityThread.java:135)
01-31 19:00:58.540: W/System.err(810):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
01-31 19:00:58.540: W/System.err(810):  at android.os.Handler.dispatchMessage(Handler.java:102)
01-31 19:00:58.540: W/System.err(810):  at android.os.Looper.loop(Looper.java:136)
01-31 19:00:58.590: W/System.err(810):  at android.app.ActivityThread.main(ActivityThread.java:5017)
01-31 19:00:58.590: W/System.err(810):  at java.lang.reflect.Method.invokeNative(Native Method)
01-31 19:00:58.590: W/System.err(810):  at java.lang.reflect.Method.invoke(Method.java:515)
01-31 19:00:58.590: W/System.err(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
01-31 19:00:58.590: W/System.err(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
01-31 19:00:58.590: W/System.err(810):  at dalvik.system.NativeStart.main(Native Method)
01-31 19:00:58.590: W/System.err(810): Caused by: libcore.io.ErrnoException: socket failed: EACCES (Permission denied)
01-31 19:00:58.610: W/System.err(810):  at libcore.io.Posix.socket(Native Method)
01-31 19:00:58.610: W/System.err(810):  at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:181)
01-31 19:00:58.610: W/System.err(810):  at libcore.io.IoBridge.socket(IoBridge.java:561)
01-31 19:00:58.610: W/System.err(810):  ... 19 more
01-31 19:00:58.630: D/AndroidRuntime(810): Shutting down VM
01-31 19:00:58.630: W/dalvikvm(810): threadid=1: thread exiting with uncaught exception (group=0xb1a86ba8)
01-31 19:00:58.640: E/AndroidRuntime(810): FATAL EXCEPTION: main
01-31 19:00:58.640: E/AndroidRuntime(810): Process: com.example.messagesender, PID: 810
01-31 19:00:58.640: E/AndroidRuntime(810): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.messagesender/com.example.messagesender.Message_Sender}: java.lang.NullPointerException
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.ActivityThread.access$800(ActivityThread.java:135)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.os.Handler.dispatchMessage(Handler.java:102)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.os.Looper.loop(Looper.java:136)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.ActivityThread.main(ActivityThread.java:5017)
01-31 19:00:58.640: E/AndroidRuntime(810):  at java.lang.reflect.Method.invokeNative(Native Method)
01-31 19:00:58.640: E/AndroidRuntime(810):  at java.lang.reflect.Method.invoke(Method.java:515)
01-31 19:00:58.640: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
01-31 19:00:58.640: E/AndroidRuntime(810):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
01-31 19:00:58.640: E/AndroidRuntime(810):  at dalvik.system.NativeStart.main(Native Method)
01-31 19:00:58.640: E/AndroidRuntime(810): Caused by: java.lang.NullPointerException
01-31 19:00:58.640: E/AndroidRuntime(810):  at com.example.messagesender.Message_Sender.onCreate(Message_Sender.java:38)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.Activity.performCreate(Activity.java:5231)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
01-31 19:00:58.640: E/AndroidRuntime(810):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
01-31 19:00:58.640: E/AndroidRuntime(810):  ... 11 more

那为什么会崩溃呢?代码对我来说看起来不错,这很奇怪。

或酒吧

看来您正在尝试在UI线程上进行网络调用,这是很大的不。

看一下如何使用后台线程来实现网络操作,特别ASyncTask是关于这个问题和示例的字面上有1000个字。

这里是一个教程让你开始

同时向清单添加必要的权限

<uses-permission android:name="android.permission.INTERNET" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Intent使我的应用程序崩溃,为什么?

来自分类Dev

从Google Play下载时,Android应用程序崩溃,但在本地开发人员中运行良好-为什么?

来自分类Dev

分配该onClickListener时Android应用程序崩溃

来自分类Dev

为什么您不能为低于android 5.0的版本开发android TV应用程序?

来自分类Dev

为什么我的Android应用程序显示为空白然后崩溃?

来自分类Dev

为什么我的线程退出时我的Android应用程序崩溃?

来自分类Dev

Android:Kotlin:MVVM:为什么viewModel.onButtonClicked()导致应用程序崩溃?

来自分类Dev

代码Socket clientSocket = new Socket(); 在Android应用程序中崩溃。为什么?

来自分类Dev

为什么网格布局会导致 android studio 应用程序崩溃?

来自分类Dev

为什么双击自定义按钮会导致 Android 应用程序崩溃

来自分类Dev

为什么我开发的Android应用程序无法通过Google Play自动更新?

来自分类Dev

当我在android中按回时为什么不退出该应用程序?

来自分类Dev

当我在android中按回时为什么不退出该应用程序?

来自分类Dev

当我使用开发版本时调用webView.load时,为什么Xcode Swift应用程序崩溃?

来自分类Dev

在android中开发预定的应用程序

来自分类Dev

离线地图应用程序开发Android

来自分类Dev

Android应用程序开发获取resourceNotFoundException

来自分类Dev

关于Android应用程序开发的建议

来自分类Dev

使用Android的移动应用程序开发

来自分类Dev

为什么当我将图像设置为 ImageView 并在 android 7.1.1 上运行它时应用程序崩溃

来自分类Dev

如果以apk形式安装,则Android应用程序崩溃;如果通过Android Studio运行,则该应用程序可以工作

来自分类Dev

开发android应用

来自分类Dev

使用Xamarin Vs Native android开发android应用程序

来自分类Dev

当我使用TabLayout时,我的Android Studio应用程序崩溃,该如何解决?

来自分类Dev

Android Studio是用于Android应用程序开发的“官方” IDE是什么意思?

来自分类Dev

用ArcGIS SDK for Android开发的Android应用程序中地图后面的网格是什么?

来自分类Dev

Android应用程序在简单应用程序中崩溃

来自分类Dev

为什么在Android应用程序中使用jdbc是错误的?

来自分类Dev

为什么这个简单的android应用程序是递归的?

Related 相关文章

  1. 1

    Android Intent使我的应用程序崩溃,为什么?

  2. 2

    从Google Play下载时,Android应用程序崩溃,但在本地开发人员中运行良好-为什么?

  3. 3

    分配该onClickListener时Android应用程序崩溃

  4. 4

    为什么您不能为低于android 5.0的版本开发android TV应用程序?

  5. 5

    为什么我的Android应用程序显示为空白然后崩溃?

  6. 6

    为什么我的线程退出时我的Android应用程序崩溃?

  7. 7

    Android:Kotlin:MVVM:为什么viewModel.onButtonClicked()导致应用程序崩溃?

  8. 8

    代码Socket clientSocket = new Socket(); 在Android应用程序中崩溃。为什么?

  9. 9

    为什么网格布局会导致 android studio 应用程序崩溃?

  10. 10

    为什么双击自定义按钮会导致 Android 应用程序崩溃

  11. 11

    为什么我开发的Android应用程序无法通过Google Play自动更新?

  12. 12

    当我在android中按回时为什么不退出该应用程序?

  13. 13

    当我在android中按回时为什么不退出该应用程序?

  14. 14

    当我使用开发版本时调用webView.load时,为什么Xcode Swift应用程序崩溃?

  15. 15

    在android中开发预定的应用程序

  16. 16

    离线地图应用程序开发Android

  17. 17

    Android应用程序开发获取resourceNotFoundException

  18. 18

    关于Android应用程序开发的建议

  19. 19

    使用Android的移动应用程序开发

  20. 20

    为什么当我将图像设置为 ImageView 并在 android 7.1.1 上运行它时应用程序崩溃

  21. 21

    如果以apk形式安装,则Android应用程序崩溃;如果通过Android Studio运行,则该应用程序可以工作

  22. 22

    开发android应用

  23. 23

    使用Xamarin Vs Native android开发android应用程序

  24. 24

    当我使用TabLayout时,我的Android Studio应用程序崩溃,该如何解决?

  25. 25

    Android Studio是用于Android应用程序开发的“官方” IDE是什么意思?

  26. 26

    用ArcGIS SDK for Android开发的Android应用程序中地图后面的网格是什么?

  27. 27

    Android应用程序在简单应用程序中崩溃

  28. 28

    为什么在Android应用程序中使用jdbc是错误的?

  29. 29

    为什么这个简单的android应用程序是递归的?

热门标签

归档