package com.mytestapp;
|
|
import android.app.AlertDialog;
|
import android.content.Context;
|
import android.os.Bundle;
|
import android.util.Log;
|
import android.view.View;
|
import android.view.WindowManager;
|
import android.widget.Button;
|
import android.widget.EditText;
|
import android.widget.Toast;
|
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
public class ServerInfoDialog extends AlertDialog implements View.OnClickListener{
|
private static String TAG = "ServerInfoDialog";
|
|
private Context context;
|
private Button btn_cancel;
|
private Button btn_confirm;
|
private ServerInfo serverInfo;
|
|
private EditText tv_server_ip;
|
private EditText tv_server_port;
|
|
public ServerInfoDialog(Context context){
|
super(context);
|
this.context = context;
|
}
|
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.dialog_layout);
|
|
btn_cancel = (Button)findViewById(R.id.btn_cancel);
|
btn_confirm = (Button)findViewById(R.id.btn_confirrm);
|
|
this.tv_server_ip = (EditText) findViewById(R.id.et_server_ip);
|
this.tv_server_port = (EditText)findViewById(R.id.et_server_port);
|
this.serverInfo = ServerInfo.readServerInfo(this.context);
|
Log.e(TAG, "onCreate: "+this.tv_server_ip );
|
|
if(this.serverInfo != null){
|
tv_server_ip.setText(this.serverInfo.getServer_ip());
|
tv_server_port.setText(this.serverInfo.getServer_port()+"");
|
}else{
|
tv_server_ip.setText("");
|
tv_server_port.setText("");
|
}
|
this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
|
this.setCancelable(false);
|
btn_cancel.setOnClickListener(this);
|
btn_confirm.setOnClickListener(this);
|
|
|
}
|
|
@Override
|
public void onClick(View view){
|
Log.e(TAG, "onClick: "+"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+view.getId());
|
switch (view.getId()){
|
case R.id.btn_cancel:{
|
this.dismiss();
|
}break;
|
case R.id.btn_confirrm:{
|
String server_ip = tv_server_ip.getText().toString();
|
int server_port = Integer.parseInt(tv_server_port.getText().toString());
|
|
Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");
|
|
Matcher matcher = pattern.matcher(server_ip); //验证IP地址有效性
|
|
if(!matcher.matches()){
|
Toast.makeText(this.context, "IP地址格式错误", Toast.LENGTH_SHORT).show();
|
}else if(server_port<1){
|
Toast.makeText(this.context, "端口号必须大于0", Toast.LENGTH_SHORT).show();
|
}else{
|
this.serverInfo.setServer_ip(server_ip);
|
this.serverInfo.setServer_port(server_port);
|
ServerInfo.WriteServerInfo(this.context,this.serverInfo);
|
}
|
|
}break;
|
}
|
}
|
|
}
|