지금은 네트워크를 통해 Android 앱에 JSON 문자열을 보낼 수 있습니다. 유일한 것은 메시지가 지금은 몇 백자를 넘지 않는다는 것입니다. 곧 JSON 문자열 당 수천 자로 확장 될 것입니다. JSON 문자열을 파서로 보내기 전에 전체 JSON 문자열을 받았는지 확인하려면 어떻게해야합니까? 예를 들어JSON 문자열 스팬 다중 수신()
, 어떻게 스레드에서 데이터를 수신하고있어 기본적인 방법 :
while (true)
{
try
{
// Read from the DataInputStream
bytes = mmDataIn.read(buffer); //buffer is a 4096 size byte[]
Log.d("JSON", "dataread: " + String.valueOf(bytes)); //only prints stuff > 0
parseJSON(buffer); //will not work unless full JSON
}
catch (IOException e)
{
Log.e("JSON", "disconnected", e);
break;
}
}
내가 JSON 문자열을 조각 같이하는 모두 StringBuilder를 사용하여 계획되었다
,하지만 난 방법을 모르는 그것이 언제 끝났는지 말해.
나는이 글을 읽는했다 : How to identify end of InputStream in java
하지만이 JSON 문자열을 위해 할 수있는 가장 좋은 방법이 될 것입니다? 나는 이것이 매우 일반적이라고 가정하고 그것을 다루는 표준 방법이있다. 감사.
어찌되는 InputStream 매개 변수를 취하는 JSON 파서 API가? – EJP