Android strings.xml에 HTML 코드 넣기
Android의 strings.xml에 HTML 코드를 그대로 넣으면 컴파일 단계에서 에러가 발생한다.
<string name="HtmlCSS">
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Meditab Results</title>
<style type="text/css">
body {
font-family: Arial, Verdana, sans-serif;
font-size: 90%;
color: #666;
background-color: #f8f8f8;}
table {
border-spacing: 0px; }
... 이하 생략 ...
이 문제를 해결할려면 다음과 같이 바꿔 주어야 된다.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...이하 생략...
보통 번거로운일이 아니다. ;;;
이런 문제를 한방에 해결할수 있는 방법이 있다. 다음과 같이
<![CDATA[
이 안에 HTML 코드를 있는 그대로 넣어주면 해결된다.
]]>
이때 string 항목에 속성을 하나 추가해 주어야 하는데 formatted="false"이다.
아래는 전체 예제이다.
<string name="HtmlCSS" formatted="false">
<![CDATA[
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Meditab Results</title>
<style type="text/css">
body {
font-family: Arial, Verdana, sans-serif;
font-size: 90%;
color: #666;
background-color: #f8f8f8;}
table {
border-spacing: 0px; }
th, td {
padding: 5px 30px 5px 10px;
border-spacing: 0px;
font-size: 90%;
margin: 0px;
}
th, td {
text-align: left;
background-color: #e0e9f0;
border-top: 1px solid #f1f8fe;
border-bottom: 1px solid #cbd2d8;
border-right: 1px solid #cbd2d8;}
tr.head th {
color: #fff;
background-color: #90b4d6;
border-bottom: 2px solid #547ca0;
border-right: 1px solid #749abe;
border-top: 1px solid #90b4d6;
text-align: center;
text-shadow: -1px -1px 1px #666666;
letter-spacing: 0.15em;}
td {
text-shadow: 1px 1px 1px #ffffff;
}
tr.even td, tr.even th {
background-color: #e8eff5;}
tr.head th:first-child {
-webkit-border-top-left-radius: 8px;
-moz-border-radius-topleft: 8px;
border-top-left-radius: 8px;}
tr.head th:last-child {
-webkit-border-top-right-radius: 8px;
-moz-border-radius-topright: 8px;
border-top-right-radius: 8px;}
fieldset {
width: 310px;
margin-top: 20px;
border: 1px solid #d6d6d6;
background-color: #ffffff;
line-height: 1.6em;}
legend {
font-style: italic;
color: #666666;}
.title {
float: left;
width: 160px;
clear: left;}
.submit {
width: 310px;
text-align: right;}
.results {
float: left;
}
</style>
</head>
<body>
<h1>Meditab Test Results</h1>
<h2> </h2>
<h2>개인정보 </h2>
<table>
<tr class="head">
<th>이름</th>
<th>측정일시</th>
<th>생년월일</th>
<th>성별</th>
<th>E-mail</th>
<th>진료담당</th>
</tr>
<tr>
<th>홍길동</th>
<td>2016. 3. 5</td>
<td>1978. 5. 17</td>
<td>남</td>
<td>aslsd@naver.com</td>
<td>Dr. Park</td>
</tr>
</table>
<p />
<h2> </h2>
<h2>측정결과</h2>
<div >
<table class="results">
<tr class="head">
<th>ECG(심전도)</th>
<th>측정결과</th>
</tr>
<tr>
<td>Heart Rate</td>
<td>84</td>
</tr>
<tr>
<td>Respiratory Rate</td>
<td>19</td>
</tr>
<tr>
<td>ST Level(mV)</td>
<td>18</td>
</tr>
<tr>
<td>Arrythmia</td>
<td>Normal</td>
</tr>
</table>
<p />
<table class="results differ" >
<tr class="head">
<th>NIBP(혈압)</th>
<th>측정결과</th>
</tr>
<tr>
<td>Systolic</td>
<td>120</td>
</tr>
<tr>
<td>Diastolic</td>
<td>84</td>
</tr>
<tr>
<td>Mean</td>
<td>96</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<p />
<table class="results"> <!-- SPO2 -->
<tr class="head">
<th>SPO2(혈중 산소포화도)</th>
<th>측정결과</th>
</tr>
<tr>
<td>Saturation Value</td>
<td>100</td>
</tr>
<tr>
<td>Pulse Rate</td>
<td>84</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<p />
<table class="results differ"> <!-- Temp -->
<tr class="head">
<th>Temp(체온)</th>
<th>측정결과</th>
</tr>
<tr>
<td>Temperature</td>
<td>36.3</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</div>
<p/>
</body>
</html>
]]>
</string>