fork download
  1. package com.show.main;
  2.  
  3. import com.yju.socket.SocketTransceiver;
  4. import com.yju.socket.TcpClient;
  5.  
  6. import android.app.Activity;
  7. import android.app.AlertDialog;
  8. import android.content.DialogInterface;
  9. import android.os.Bundle;
  10. import android.os.Handler;
  11. import android.os.Looper;
  12. import android.view.View;
  13. import android.view.View.OnClickListener;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.TextView;
  17. import android.widget.Toast;
  18.  
  19. public class MainActivity extends Activity implements OnClickListener {
  20.  
  21. private Button bnConnect;
  22. private TextView txReceive;
  23. private EditText edIP, edPort, edData;
  24.  
  25. private Handler handler = new Handler(Looper.getMainLooper());
  26.  
  27. private TcpClient client = new TcpClient() {
  28.  
  29. @Override
  30. public void onConnect(SocketTransceiver transceiver) {
  31. refreshUI(true);
  32. }
  33.  
  34. @Override
  35. public void onDisconnect(SocketTransceiver transceiver) {
  36. refreshUI(false);
  37. }
  38.  
  39. @Override
  40. public void onConnectFailed() {
  41. handler.post(new Runnable() {
  42. @Override
  43. public void run() {
  44. Toast.makeText(MainActivity.this, "連接失敗",
  45. Toast.LENGTH_SHORT).show();
  46. }
  47. });
  48. }
  49.  
  50. @Override
  51. public void onReceive(SocketTransceiver transceiver, final String s) {
  52. handler.post(new Runnable() {
  53. @Override
  54. public void run() {
  55. txReceive.append(s);
  56. }
  57. });
  58. }
  59. };
  60.  
  61. @Override
  62. public void onCreate(Bundle savedInstanceState) {
  63. super.onCreate(savedInstanceState);
  64. setContentView(R.layout.activity_main);
  65.  
  66. this.findViewById(R.id.bn_send).setOnClickListener(this);
  67. bnConnect = (Button) this.findViewById(R.id.bn_connect);
  68. bnConnect.setOnClickListener(this);
  69.  
  70. edIP = (EditText) this.findViewById(R.id.ed_ip);
  71. edPort = (EditText) this.findViewById(R.id.ed_port);
  72. edData = (EditText) this.findViewById(R.id.ed_dat);
  73. txReceive = (TextView) this.findViewById(R.id.tx_receive);
  74. txReceive.setOnClickListener(this);
  75.  
  76. refreshUI(false);
  77. }
  78.  
  79. @Override
  80. public void onStop() {
  81. client.disconnect();
  82. super.onStop();
  83. }
  84.  
  85. @Override
  86. public void onClick(View v) {
  87. switch (v.getId()) {
  88. case R.id.bn_connect:
  89. connect();
  90. break;
  91. case R.id.bn_send:
  92. sendStr();
  93. break;
  94. case R.id.tx_receive:
  95. clear();
  96. break;
  97. }
  98. }
  99.  
  100.  
  101. private void refreshUI(final boolean isConnected) {
  102. handler.post(new Runnable() {
  103. @Override
  104. public void run() {
  105. edPort.setEnabled(!isConnected);
  106. edIP.setEnabled(!isConnected);
  107. bnConnect.setText(isConnected ? "斷開" : "連接");
  108. }
  109. });
  110. }
  111.  
  112.  
  113. private void connect() {
  114. if (client.isConnected()) {
  115.  
  116. client.disconnect();
  117. } else {
  118. try {
  119. String hostIP = edIP.getText().toString();
  120. int port = Integer.parseInt(edPort.getText().toString());
  121. client.connect(hostIP, port);
  122. } catch (NumberFormatException e) {
  123. Toast.makeText(this, "port錯誤", Toast.LENGTH_SHORT).show();
  124. e.printStackTrace();
  125. }
  126. }
  127. }
  128.  
  129.  
  130. private void sendStr() {
  131. try {
  132. String data = edData.getText().toString();
  133. client.getTransceiver().send(data);
  134. } catch (Exception e) {
  135. e.printStackTrace();
  136. }
  137. }
  138.  
  139.  
  140. private void clear() {
  141. new AlertDialog.Builder(this).setTitle("確認清除?")
  142. .setNegativeButton("取消", null)
  143. .setPositiveButton("確認", new DialogInterface.OnClickListener() {
  144. @Override
  145. public void onClick(DialogInterface dialog, int which) {
  146. txReceive.setText("");
  147. }
  148. }).show();
  149. }
  150. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:19: error: class MainActivity is public, should be declared in a file named MainActivity.java
public class MainActivity extends Activity implements OnClickListener {
       ^
Main.java:3: error: package com.yju.socket does not exist
import com.yju.socket.SocketTransceiver;
                     ^
Main.java:4: error: package com.yju.socket does not exist
import com.yju.socket.TcpClient;
                     ^
Main.java:6: error: package android.app does not exist
import android.app.Activity;
                  ^
Main.java:7: error: package android.app does not exist
import android.app.AlertDialog;
                  ^
Main.java:8: error: package android.content does not exist
import android.content.DialogInterface;
                      ^
Main.java:9: error: package android.os does not exist
import android.os.Bundle;
                 ^
Main.java:10: error: package android.os does not exist
import android.os.Handler;
                 ^
Main.java:11: error: package android.os does not exist
import android.os.Looper;
                 ^
Main.java:12: error: package android.view does not exist
import android.view.View;
                   ^
Main.java:13: error: package android.view.View does not exist
import android.view.View.OnClickListener;
                        ^
Main.java:14: error: package android.widget does not exist
import android.widget.Button;
                     ^
Main.java:15: error: package android.widget does not exist
import android.widget.EditText;
                     ^
Main.java:16: error: package android.widget does not exist
import android.widget.TextView;
                     ^
Main.java:17: error: package android.widget does not exist
import android.widget.Toast;
                     ^
Main.java:19: error: cannot find symbol
public class MainActivity extends Activity implements OnClickListener {
                                  ^
  symbol: class Activity
Main.java:19: error: cannot find symbol
public class MainActivity extends Activity implements OnClickListener {
                                                      ^
  symbol: class OnClickListener
Main.java:21: error: cannot find symbol
	private Button bnConnect;
	        ^
  symbol:   class Button
  location: class MainActivity
Main.java:22: error: cannot find symbol
	private TextView txReceive;
	        ^
  symbol:   class TextView
  location: class MainActivity
Main.java:23: error: cannot find symbol
	private EditText edIP, edPort, edData;
	        ^
  symbol:   class EditText
  location: class MainActivity
Main.java:25: error: cannot find symbol
	private Handler handler = new Handler(Looper.getMainLooper());
	        ^
  symbol:   class Handler
  location: class MainActivity
Main.java:27: error: cannot find symbol
	private TcpClient client = new TcpClient() {
	        ^
  symbol:   class TcpClient
  location: class MainActivity
Main.java:62: error: cannot find symbol
	public void onCreate(Bundle savedInstanceState) {
	                     ^
  symbol:   class Bundle
  location: class MainActivity
Main.java:86: error: cannot find symbol
	public void onClick(View v) {
	                    ^
  symbol:   class View
  location: class MainActivity
Main.java:25: error: cannot find symbol
	private Handler handler = new Handler(Looper.getMainLooper());
	                              ^
  symbol:   class Handler
  location: class MainActivity
Main.java:25: error: cannot find symbol
	private Handler handler = new Handler(Looper.getMainLooper());
	                                      ^
  symbol:   variable Looper
  location: class MainActivity
Main.java:27: error: cannot find symbol
	private TcpClient client = new TcpClient() {
	                               ^
  symbol:   class TcpClient
  location: class MainActivity
Main.java:61: error: method does not override or implement a method from a supertype
	@Override
	^
Main.java:63: error: cannot find symbol
		super.onCreate(savedInstanceState);
		^
  symbol:   variable super
  location: class MainActivity
Main.java:64: error: package R does not exist
		setContentView(R.layout.activity_main);
		                ^
Main.java:66: error: package R does not exist
		this.findViewById(R.id.bn_send).setOnClickListener(this);
		                   ^
Main.java:67: error: cannot find symbol
		bnConnect = (Button) this.findViewById(R.id.bn_connect);
		             ^
  symbol:   class Button
  location: class MainActivity
Main.java:67: error: package R does not exist
		bnConnect = (Button) this.findViewById(R.id.bn_connect);
		                                        ^
Main.java:70: error: cannot find symbol
		edIP = (EditText) this.findViewById(R.id.ed_ip);
		        ^
  symbol:   class EditText
  location: class MainActivity
Main.java:70: error: package R does not exist
		edIP = (EditText) this.findViewById(R.id.ed_ip);
		                                     ^
Main.java:71: error: cannot find symbol
		edPort = (EditText) this.findViewById(R.id.ed_port);
		          ^
  symbol:   class EditText
  location: class MainActivity
Main.java:71: error: package R does not exist
		edPort = (EditText) this.findViewById(R.id.ed_port);
		                                       ^
Main.java:72: error: cannot find symbol
		edData = (EditText) this.findViewById(R.id.ed_dat);
		          ^
  symbol:   class EditText
  location: class MainActivity
Main.java:72: error: package R does not exist
		edData = (EditText) this.findViewById(R.id.ed_dat);
		                                       ^
Main.java:73: error: cannot find symbol
		txReceive = (TextView) this.findViewById(R.id.tx_receive);
		             ^
  symbol:   class TextView
  location: class MainActivity
Main.java:73: error: package R does not exist
		txReceive = (TextView) this.findViewById(R.id.tx_receive);
		                                          ^
Main.java:79: error: method does not override or implement a method from a supertype
	@Override
	^
Main.java:82: error: cannot find symbol
		super.onStop();
		^
  symbol:   variable super
  location: class MainActivity
Main.java:85: error: method does not override or implement a method from a supertype
	@Override
	^
Main.java:88: error: package R does not exist
		case R.id.bn_connect:
		      ^
Main.java:91: error: package R does not exist
		case R.id.bn_send:
		      ^
Main.java:94: error: package R does not exist
		case R.id.tx_receive:
		      ^
Main.java:123: error: cannot find symbol
				Toast.makeText(this, "port??", Toast.LENGTH_SHORT).show();
				                               ^
  symbol:   variable Toast
  location: class MainActivity
Main.java:123: error: cannot find symbol
				Toast.makeText(this, "port??", Toast.LENGTH_SHORT).show();
				^
  symbol:   variable Toast
  location: class MainActivity
Main.java:143: error: package DialogInterface does not exist
				.setPositiveButton("??", new DialogInterface.OnClickListener() {
				                                            ^
Main.java:141: error: package AlertDialog does not exist
		new AlertDialog.Builder(this).setTitle("?????")
		               ^
51 errors
stdout
Standard output is empty