YOUNG_0
20
2018-10-12 19:33:24
1
82

안드로이드 스튜디오 jsp통신 관련 질문입니다


안드로이드 스튜디오 가상머신을 실행시키면  밑에 보이는것처럼 저런 오류가 뜹니다.

해결방법 아시는분 계신가요?

2018-10-12 19:22:40.463 1666-1685/system_process E/BatteryExternalStatsWorker: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0}
2018-10-12 19:22:44.488 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:22:51.122 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:22:51.151 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:22:51.169 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:22:55.403 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:23:04.943 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:23:15.313 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:23:15.354 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:23:15.364 1666-1681/system_process E/memtrack: Couldn't load memtrack module
2018-10-12 19:23:19.243 1666-1681/system_process E/memtrack: Couldn't load memtrack module


안드로이드

MainActivity.java

package com.example.admin.test2;

import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.*;
import java.net.*;

public class MainActivity extends Activity {
    EditText userId, userPwd;
    Button loginBtn, joinBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        userId = (EditText) findViewById(R.id.userId);
        userPwd = (EditText) findViewById(R.id.userPwd);
        loginBtn = (Button) findViewById(R.id.loginBtn);
        joinBtn = (Button) findViewById(R.id.joinBtn);
        loginBtn.setOnClickListener(btnListener);
        joinBtn.setOnClickListener(btnListener);
    }
    class CustomTask extends AsyncTask<String, Void, String> {
        String sendMsg, receiveMsg;
        @Override
        protected String doInBackground(String... strings) {
            try {
                String str;
                URL url = new URL("http://121.181.80.92:8181/Test/data.jsp");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                conn.setRequestMethod("POST");
                OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());
                sendMsg = "id="+strings[0]+"&pw="+strings[1]+"&type="+strings[2];
                osw.write(sendMsg);
                osw.flush();
                if(conn.getResponseCode() == conn.HTTP_OK) {
                    InputStreamReader tmp = new InputStreamReader(conn.getInputStream(), "UTF-8");
                    BufferedReader reader = new BufferedReader(tmp);
                    StringBuffer buffer = new StringBuffer();
                    while ((str = reader.readLine()) != null) {
                        buffer.append(str);
                    }
                    receiveMsg = buffer.toString();

                } else {
                    Log.i("통신 결과", conn.getResponseCode()+"에러");
                }

            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return receiveMsg;
        }
    }

    View.OnClickListener btnListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.loginBtn : // 로그인 버튼 눌렀을 경우
                    String loginid = userId.getText().toString();
                    String loginpw = userPwd.getText().toString();
                    try {
                        String result  = new CustomTask().execute(loginid,loginpw,"login").get();
                        if(result.equals("true")) {
                            Toast.makeText(MainActivity.this,"로그인",Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent(MainActivity.this, SubActivity.class);
                            //현재액티비티 , 전환할액티비티
                            startActivity(intent);
                            intent.putExtra("loginid_key",loginid);
                            intent.putExtra("loginpw_key",loginpw);
                            finish();
                        } else if(result.equals("false")) {
                            Toast.makeText(MainActivity.this,"아이디 or 비밀번호가 다름",Toast.LENGTH_SHORT).show();
                            userId.setText("");
                            userPwd.setText("");
                        } else if(result.equals("noId")) {
                            Toast.makeText(MainActivity.this,"존재하지 않는 아이디",Toast.LENGTH_SHORT).show();
                            userId.setText("");
                            userPwd.setText("");
                        }
                    }catch (Exception e) {}
                    break;
                case R.id.joinBtn : // 회원가입
                    String joinid = userId.getText().toString();
                    String joinpw = userPwd.getText().toString();
                    try {
                        String result  = new CustomTask().execute(joinid,joinpw,"join").get();
                        if(result.equals("id")) {
                            Toast.makeText(MainActivity.this,"존재하는 아이디입니다.",Toast.LENGTH_SHORT).show();
                            userId.setText("");
                            userPwd.setText("");
                        } else if(result.equals("ok")) {
                            userId.setText("");
                            userPwd.setText("");
                            Toast.makeText(MainActivity.this,"회원가입을 축하합니다.",Toast.LENGTH_SHORT).show();
                        }
                    }catch (Exception e) {}
                    break;
            }
        }
    };
}


SubActivity.java

package com.example.admin.test2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class SubActivity extends Activity
{
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sub);

        TextView intentId = (TextView) findViewById(R.id.intentId);
        TextView intentPw = (TextView) findViewById(R.id.intentPw);

        Intent intent = getIntent(); //이 액티비티를 부른 인텐트를 받는다.
        String getIntentId = intent.getStringExtra("loginid_key");
        String getIntentPw = intent.getStringExtra("loginpw_key");

        intentId.setText(getIntentId);
        intentPw.setText(getIntentPw);
    }
}


이클립스

data.jsp 


<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="ex.ConnectDB"%>
<%@ page import="java.sql.*"%>

<%
	request.setCharacterEncoding("UTF-8");
	String id = request.getParameter("id");
	String pw = request.getParameter("pw");
	String type = request.getParameter("type");
	//로그인 요청인지 회원가입 요청인지를 구분하여 메서드를 실행하도록합니다.
	//싱글톤 방식으로 자바 클래스를 불러옵니다.
	ConnectDB connectDB = ConnectDB.getInstance();
	if(type.equals("login")) {
		String returns = connectDB.logindb(id, pw);
		out.print(returns);
	} else if(type.equals("join")) {
		String returns = connectDB.joindb(id, pw);
		out.print(returns);
	}
%>


0
0
  • 답변 1

  • Mommoo
    183
    2018-10-13 02:36:13

    지금 보여주시는 로그는 해당 코드 에러 로그가 아닙니다.

    어느 부분이 안되는건지 ( 아예 에러가 나는건지, 되는데 캐치를 못하시는건지, 아니면 잘못 실행되고 있는건지 )를 아셔야 할 거 같습니다.

    앞으로도 이렇게 질문 올려주시면 원큐에 해결될 수 없구여, 본인 성장에도 도움 안됩니다.

    공부하시는 입장이시면 책 하나 사서, 안드로이드 개발을 해보시면서 공부하신 후에 다시 통신쪽으로 도전해보셔야 할거 같습니다.

    만약 급하시면, 차라리 과외를 구하시는게 나을 거 같습니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.