일부 정보를 수신하는 데 사용하는 방법이 있습니다. 이런 방식으로 한 문자열 (서버 방향) 및 사용자 패스워드를 포함 두 문자열을 전송하고, I는 []를 모든 정보,하지만create()에서 null 포인터 예외가 발생했습니다.
values = request("http://myIp/XXX/post.php?request=1", user, password);
라인에서 NullPointerException이있는 문자열받을 . "
@SuppressWarnings("null")
public String[] request(String requesturl, String user, String password)
{
String result[] = null;
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(requesturl);
String results = "";
//Varibles POST
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("user", user));
nameValuePairs.add(new BasicNameValuePair("password", password));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
//Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
response.getAllHeaders();
response.getEntity();
result[0] = "";
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
results = EntityUtils.toString(response.getEntity());
if(!results.equals("-1"))
{
JSONObject jsonResponse = new JSONObject(results);
JSONArray jsonMainNode = jsonResponse.optJSONArray("edificios");
int lengthJsonArr =jsonMainNode.length();
for(int i = 0; i < lengthJsonArr; i++)
{
JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
result[i] = jsonChildNode.optString("nombre");
}
}
}
return result;
}
catch(Exception ex)
{
result[0] = "error";
return result;
}
}
내가"= 요청 값 ("....);"온 NullPointerException이 받았다 :
String[] values;
@SuppressLint("InlinedApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE);
setContentView(R.layout.activity_select_environment);
myBundle = getIntent().getExtras();
user = myBundle.getString("user");
password = myBundle.getString("password");
values = request("http://myIp/XXX/post.php?request=1", user, password);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, android.R.id.text1, values);
}
방법은 다음이다 : 완전한 코드 옆 라인과 나는 왜 그런지 모르겠다. 왜냐하면 사용자와 패스워드는 값을 가지고 있고 다른 값은 문자열이기 때문이다. 무엇을 할 수 있을까?
'@SuppressWarnings는 ("널 (null)")'당신이 당신의 문제에 대해 경고 컴파일러를 무시하기로 결정했습니다 나타냅니다. 그것을 제거하고 문제를 해결하십시오. 힌트 :'result'는 초기화되지 않았습니다. 적어도 로깅/재실행 없이는 예외를 잡아서는 안됩니다. – laalto
logcat 로그 게시 – kiruwka
고양이 로그 편집 –