마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

json parsing error 입니다.

0 추천
로그인 부분이구요 json parsing 해서 id pass nick 을 가져와 비교하고 로그인 하는 부분입니다.
php Mysql 로 디비 저장되있고 일단 로그상으론 정상적으로 데이터를 parsing 해줍니다. 
근데 아래와 같은 에러가 나고 있고 이유를 찾아보았지만 잘 모르겠습니다. 
초보입니다.,,,, 의심스러운건 스레드 도는동안 변수에 값이 저장되지도 않았는데 바로 변수값을읽어와 그런게 아닌가 싶은데 ...  에러부분은
public void checkId() {
try {
JSONArray ja = new JSONArray(checked);  
이 부분입니다.
-----------------------------------------------------------------------------------------------------------------------------
public class Login extends Activity {
CheckId ckId;
Intent intent;
Boolean flag=false; 
 
EditText txId;
EditText txPass;
String checked;
String nickName;
String id,pass;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
txId = (EditText) findViewById(R.id.txId);
txPass = (EditText) findViewById(R.id.txPass);
}
public void OnClickMethod(View v)
{
switch(v.getId())
{
case R.id.btLogin: 
id = txId.getText().toString();
pass = txPass.getText().toString();
 
 
try {
String b = "";
if (id.equals("")){
Toast.makeText(Login.this, "Check your units",
Toast.LENGTH_LONG).show();
}else if(pass.equals("")){
Toast.makeText(Login.this, "Check your units",
Toast.LENGTH_LONG).show();
}
 
} catch (Exception e) {
e.printStackTrace();
}
 
 
 
ckId = new CheckId();
ckId.start();
checkId();
break;
 
case R.id.btGoRegist :
intent = new Intent(Login.this,Regist.class);
startActivity(intent);
finish();
break;
}
}
public void checkLogin()
{
if (flag) {
intent = new Intent(Login.this, Friend.class);
intent.putExtra("id", id);
startActivity(intent);
finish();
}
else  {
Toast.makeText(Login.this, "Wrong ID or PassWord",
Toast.LENGTH_SHORT).show();
}
}
 
 
class CheckId extends Thread {
public void run() {
StringBuilder html = new StringBuilder();
try {
HttpURLConnection conn = (HttpURLConnection) new URL(
"http://ip/allMemberSelect.php?"+"&id="+id +"&pass="+pass).openConnection();
if (conn != null) {
conn.setConnectTimeout(10000);
conn.setUseCaches(false);
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line = br.readLine();
if (line == null) {
return;
}
html.append(line + '\n');
while (true) {
line = br.readLine();
if (line == null) {
break;
}
html.append(line + '\n');
}
br.close();
}
conn.disconnect();
checked = html.toString();
Log.e("id,pass",checked);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void checkId() {
try {
JSONArray ja = new JSONArray(checked);
for (int i = 0; i < ja.length(); i++) {
JSONObject order = ja.getJSONObject(i);
if (order.getString("id").equals(id)) {
Log.e("id",id);
if(order.getString("pass").equals(pass)){
Log.e("pass",pass);
intent = new Intent(Login.this, Friend.class);
intent.putExtra("id", nickName);
startActivity(intent);
finish();
}
}else{
Toast.makeText(Login.this, "Wrong ID or PassWord",
Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
---------------------------------------------------------------------------------------------------
02-10 19:14:46.571: W/System.err(27522): java.lang.NullPointerException
02-10 19:14:46.576: W/System.err(27522):  at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
02-10 19:14:46.576: W/System.err(27522):  at org.json.JSONTokener.nextValue(JSONTokener.java:94)
02-10 19:14:46.576: W/System.err(27522):  at org.json.JSONArray.<init>(JSONArray.java:87)
02-10 19:14:46.576: W/System.err(27522):  at org.json.JSONArray.<init>(JSONArray.java:103)
02-10 19:14:46.576: W/System.err(27522):  at com.example.chatting_client.Login.checkId(Login.java:130)
02-10 19:14:46.576: W/System.err(27522):  at com.example.chatting_client.Login.OnClickMethod(Login.java:68)
02-10 19:14:46.636: E/id,pass(27522): [{"id":"ch","pass":"un","nickName":"shon"},{"id":"aaa","pass":"ass","nickName":"ccc"},{"id":"eunc","pass":"ddd","nickName":"hhh"},{"id":"id","pass":"pass","nickName":"nick"},{"id":"fff","pass":"gfg","nickName":"vbb"}]

 

숀화이트 (3,310 포인트) 님이 2014년 2월 10일 질문

1개의 답변

0 추천

checked 값이 null 인지 확인하세요

aucd29 (218,390 포인트) 님이 2014년 2월 10일 답변
...