protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ipEditText = findViewById(R.id.ipEditText); portEditText = findViewById(R.id.portEditText); Button connectButton = findViewById(R.id.connectButton); connectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String ip = ipEditText.getText().toString(); int port = Integer.parseInt(portEditText.getText().toString()); new ConnectTask().execute(ip, String.valueOf(port)); } }); Button sendMessageButton = findViewById(R.id.sendMessageButton); sendMessageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showSendMessageDialog(); } }); }出现E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.rlswj, PID: 16184 android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1668) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116) at java.net.SocketOutputStream.write(SocketOutputStream.java:161) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:254) at java.io.PrintWriter.newLine(PrintWriter.java:482) at java.io.PrintWriter.println(PrintWriter.java:629) at java.io.PrintWriter.println(PrintWriter.java:670)
时间: 2024-02-26 08:52:23 浏览: 18
这个错误信息与你之前提到的错误信息相同,都是由于在主线程中进行了网络操作导致的。你需要将网络操作放到单独的线程或使用异步任务来执行,例如在 `ConnectTask` 中执行网络操作,而不是在主线程中执行。在 `ConnectTask` 的 `doInBackground` 方法中执行网络操作,然后在 `onPostExecute` 方法中更新 UI。
相关问题
protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); }代码解释
这是 MainActivity 类中的一个方法 onCreate,它是在 Activity 生命周期中的创建阶段被调用的。在这个方法中,首先调用了父类的 onCreate 方法,然后通过 setContentView 方法指定了当前 Activity 使用的布局文件。
接下来,调用了 initView 方法,用于初始化界面控件。其中,initView 方法的具体实现可能包含了以下内容:
1. 通过 findViewById 方法获取布局文件中的各个控件对象;
2. 给控件对象设置监听器;
3. 给控件对象设置适配器(如果是 ListView、GridView 等控件);
4. 给控件对象设置数据(如果需要在初始化时显示数据)。
需要注意的是,这里只是对 initView 方法的可能实现进行了简单的介绍,具体实现可能因为项目的不同而有所差异。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rate); RatingBar ratebar=findViewById(R.id.ratingBar); Button btun=findViewById(R.id.button5);
这段代码是一个Android应用程序的Java代码,实现了一个评分界面。在onCreate方法中,首先调用父类的onCreate方法,然后设置布局文件为activity_rate。接着通过findViewById方法获取布局文件中的RatingBar和Button控件,并分别赋值给ratebar和btun变量。其中,RatingBar是一个星级评分控件,Button是一个用于提交评分的按钮。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)