2017-03-22 9 views
0

Android 앱을 개발 중이며이 모든 것을 처음 접했습니다. 내 데이터는 웹 서버의 MySQL에 저장되며 PHP 스크립트를 사용하여 MySQL의 데이터를 읽고 JSON 문자열로 변환 한 다음 내 모바일 앱에서 Android JSON 객체를 통해 액세스합니다. MySQL 데이터베이스에 여러 단락이있을 때까지 모두 잘 작동했습니다. PHP를 사용하여 MySQL 데이터를 읽고이를 JSON 문자열로 변환하면 모든 단락이 하나의 큰 단락이됩니다. 안드로이드 애플 리케이션은 데이터를 올바르게 읽었지만 문제는 여전히 MySQL 데이터베이스에 저장된 여러 단락을 읽어야한다는 것입니다. 누구든지 나를 올바른 방향으로 안내하거나 이것을 분류 할 수 있습니까? 도움을 주시면 감사하겠습니다.JSON/PHP/Android에서 단락 읽기

다음은 MySQL 데이터를 읽고 JSON 문자열로 변환하는 데 사용하는 PHP의 스크립트 파일입니다.

연결 파일 :

<?php 
$db_name = "myDbName"; 
$mysql_username = "db_user"; 
$mysql_password = "db_password"; 
$server_name = "serverName"; 

$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name); 


$sSQL= 'SET CHARACTER SET utf8'; 

mysqli_query($conn, $sSQL) or die ('Can\'t charset in DataBase'); 

if(!$conn) 
{ 
    die("Connection failed:" . mysqli_error($conn)); 
} 

?> 

JSON의 coversion 파일 :

<?php 
require "conn.php"; 

$sql_qry = "SELECT * FROM tabITArticles;"; 

$result = mysqli_query($conn, $sql_qry); 

$response = array(); 

while($row = mysqli_fetch_array($result)){ 

array_push($response, array("id"=>$row[0],"title"=>$row[1],"author"=>$row[2],"content"=>$row[3],"image"=>$row[4],"date"=>$row[5])); 
} 

echo json_encode(array("server_response"=>$response)); 

mysqli_close($conn); 
?> 

답변

1

당신이 단락을 유지하기 위해 할 수있는 몇 가지가 있습니다.

은 당신이 할 수있는 데이터베이스에서 정보를 검색 할 때 :

$arr = explode(PHP_EOL, $row[3]); 

이 배열에 문자열을 분할합니다, 그리고 당신은 그것을 전달할 수 있습니다. 그럼 당신은 배열로 안드로이드에서 검색 할 수 있습니다.

또 다른 옵션은 \n\r 같은 조합을 사용하여 PHP에서 새 줄을 인코딩하는 것입니다.

$str= str_replace(PHP_EOL, '\n', $row[3]); 

그리고 안드로이드에서 당신은 문자열을 분할 할 수 있습니다 및 배열에 저장합니다.

String[] str= stringfromjson.split("\n");