引起:android.system.ErrnoException:open failed:ENOENT(没有这样的文件或目录)

时间:2017-11-29 02:05:43

标签: android mysql

我想要将tomcat的注册信息请求到mysql表中,android studio发生了崩溃。我正在使用okhttp3作为请求方法。但我真的无法找到错误。你能看看它并给我一些建议吗? 我在一个活动中写了这个方法,这是对的。我想知道为什么这是错的然后我写在片段中。

public class RegisterFragment extends Fragment {
    private static final String TAG = "RegisterFragment ";
    private Button sendSMS, submit;
    private EditText usernameEdit,phoneNumberEdit, identifyingCodeEdit, loginPasswordEdit, confirmingPasswordEdit;
    private EditText  idCardNumberEdit, deviceIdEdit, birthdayEdit, addressEdit, urgentNumberEdit;
    private RadioButton maleRadioButton;
    private RadioButton femaleRadioButton;
    private EventHandler eventHandler;
    private String username;
    private String phoneNumber;
    private String loginPassword;
    private String confirmingPassword;
    private String idCardNumber;
    private String deviceId;
    private String gender;
    private String birthday;
    private String address;
    private String urgentNumber;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        MobSDK.init(getContext(), "****95ec99ff7","ba3e429bf5fa8b8d34412f****055ce5");
        super.onCreate(savedInstanceState);
    }
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                         @Nullable Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_register, container, false);


    usernameEdit = (EditText) v.findViewById(R.id.username);
    phoneNumberEdit = (EditText) v.findViewById(R.id.phone_number);
    identifyingCodeEdit = (EditText) v.findViewById(R.id.identifing_code);
    loginPasswordEdit = (EditText) v.findViewById(R.id.login_password);
    confirmingPasswordEdit = (EditText) v.findViewById(R.id.confirming_password);
    idCardNumberEdit = (EditText) v.findViewById(R.id.id_card_number);
    deviceIdEdit = (EditText)v.findViewById(R.id.device_id);
    birthdayEdit = (EditText) v.findViewById(R.id.birthday);
    addressEdit = (EditText) v.findViewById(R.id.address);
    urgentNumberEdit = (EditText) v.findViewById(R.id.urgent_number);
    maleRadioButton = (RadioButton) v.findViewById(R.id.radio_button_male);
    femaleRadioButton = (RadioButton) v.findViewById(R.id.radio_button_female);

    sendSMS = (Button) v.findViewById(R.id.send_SMS);
    sendSMS.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            phoneNumber = phoneNumberEdit.getText().toString().trim();
            SMSSDK.getVerificationCode("86",phoneNumber);
        }
    });
    submit = (Button) v.findViewById(R.id.submit);
    submit.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            username = usernameEdit.getText().toString().trim();
            loginPassword = loginPasswordEdit.getText().toString().trim();
            confirmingPassword = confirmingPasswordEdit.getText().toString().trim();
            idCardNumber = idCardNumberEdit.getText().toString().trim();
            deviceId = deviceIdEdit.getText().toString().trim();
            birthday = birthdayEdit.getText().toString().trim();
            address = addressEdit.getText().toString().trim();
            urgentNumber = urgentNumberEdit.getText().toString().trim();
            if(maleRadioButton.isChecked()){
                gender = "男";
            }else if(femaleRadioButton.isChecked()){
                gender = "女";
            }
            if(TextUtils.isEmpty(phoneNumber) || TextUtils.isEmpty(username)||TextUtils.isEmpty(loginPassword)
                    ||TextUtils.isEmpty(confirmingPassword)||TextUtils.isEmpty(idCardNumber)||TextUtils.isEmpty(deviceId)
                    ||TextUtils.isEmpty(birthday)||TextUtils.isEmpty(address)||TextUtils.isEmpty(urgentNumber)||TextUtils.isEmpty(gender)){
                Toast.makeText(getActivity(), "填写的注册信息不能为空!",Toast.LENGTH_SHORT).show();
                return;
            }

            String number = identifyingCodeEdit.getText().toString();
            SMSSDK.submitVerificationCode("86",phoneNumber,number);
        }
    });
    eventHandler = new EventHandler(){
        @Override
        public void afterEvent(int event, int result, Object data) {
            Message msg = new Message();
            msg.arg1 = event;
            msg.arg2 = result;
            msg.obj = data;
            mHandler.sendMessage(msg);
        }
    };
    SMSSDK.registerEventHandler(eventHandler);

    return v;
}


private Handler mHandler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        int event = msg.arg1;
        int result = msg.arg2;
        Object data = msg.obj;
        Log.e("event", "event=" + event);
        if (result == SMSSDK.RESULT_COMPLETE){
            //回调完成
            if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                //提交验证码成功
                Toast.makeText(getActivity(),"验证成功",Toast.LENGTH_SHORT).show();
                doRegister();

            }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
                //获取验证码成功
                Toast.makeText(getActivity(),"验证码已发送", Toast.LENGTH_SHORT).show();
            }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
            }
        }else{
            ((Throwable)data).printStackTrace();
            Throwable throwable = (Throwable) data;
            try {
                JSONObject obj = new JSONObject(throwable.getMessage());
                final String des = obj.optString("detail");
                if (!TextUtils.isEmpty(des)){
                    Toast.makeText(getActivity(),"提交错误信息",Toast.LENGTH_SHORT).show();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }

    }
};

//注册方法
private void doRegister(){
    String path = null;
    try {
        path = "http://192.168.1.105:8080/Web/registerServlet"+"?username="
                + URLEncoder.encode(username, "utf-8")+"&phoneNumber="
                +URLEncoder.encode(phoneNumber, "utf-8")+"&loginPassword="
                +URLEncoder.encode(loginPassword, "utf-8")+"&confirmingPassword="
                +URLEncoder.encode(confirmingPassword, "utf-8")+"&idCardNumber="
                +URLEncoder.encode(idCardNumber, "utf-8")+"&deviceId="
                +URLEncoder.encode(deviceId, "utf-8")+"&gender="
                +URLEncoder.encode(gender, "utf-8")+"&birthday="
                +URLEncoder.encode(birthday, "utf-8")+"&address="
                +URLEncoder.encode(address, "utf-8")+"&urgentNumber="
                +URLEncoder.encode(urgentNumber, "utf-8");
        HttpUtil.sendOkHttpRequest(path,new okhttp3.Callback(){
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
                Log.e(TAG,"error!");

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
                String responseData = response.body().string();
                if(!TextUtils.isEmpty(responseData)){
                    Toast.makeText(getActivity(), responseData, Toast.LENGTH_LONG).show();
                    Intent selectIntnet = new Intent(getActivity(), SelectionActivity.class);
                    startActivity(selectIntnet);
                }

            }
        });
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}

@Override
public void onDestroy() {
    super.onDestroy();
    SMSSDK.unregisterEventHandler(eventHandler);
}

} logcat信息是: enter image description here

0 个答案:

没有答案