Het serverside gedeelte
Om te beginnen gaan we het serverside gedeelte maken. Dit zullen een bootstrap- en een indexbestand worden. Ze zien er als volgt uit:
Code (bootstrap.php) (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
header('Content-Type: application/json');
@ob_start();
set_exception_handler(function($exception) {
showError($exception->getMessage());
exit();
});
function showError($message) {
@ob_end_clean();
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
echo json_encode(array('error' => $message));
}
$dbh = new PDO('mysql:host=localhost;dbname=android_tut', 'android_tut', 'android_tut');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
header('Content-Type: application/json');
@ob_start();
set_exception_handler(function($exception) {
showError($exception->getMessage());
exit();
});
function showError($message) {
@ob_end_clean();
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
echo json_encode(array('error' => $message));
}
$dbh = new PDO('mysql:host=localhost;dbname=android_tut', 'android_tut', 'android_tut');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
Code (index.php) (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
require_once 'bootstrap.php';
$query = $dbh->query('SELECT id,title,content,slug FROM articles ORDER BY id desc');
$data = array();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$data[] = $row;
}
echo json_encode($data);
?>
require_once 'bootstrap.php';
$query = $dbh->query('SELECT id,title,content,slug FROM articles ORDER BY id desc');
$data = array();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$data[] = $row;
}
echo json_encode($data);
?>
De SQL die hierbij hoort is:
Code (sql)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
CREATE TABLE IF NOT EXISTS `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) CHARACTER SET utf8 NOT NULL,
`content` text CHARACTER SET utf8 NOT NULL,
`slug` varchar(20) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `articles` (`id`, `title`, `content`, `slug`) VALUES
(1, 'Lorem ipsum', 'Lorem ipsum dolor sir amet ', 'lorem-ipsum'),
(2, 'Welkom op mijn blog!', 'Beetje laat, eigenlijk was het vorige artikel te vroeg...', 'welkom');
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) CHARACTER SET utf8 NOT NULL,
`content` text CHARACTER SET utf8 NOT NULL,
`slug` varchar(20) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `articles` (`id`, `title`, `content`, `slug`) VALUES
(1, 'Lorem ipsum', 'Lorem ipsum dolor sir amet ', 'lorem-ipsum'),
(2, 'Welkom op mijn blog!', 'Beetje laat, eigenlijk was het vorige artikel te vroeg...', 'welkom');
Inhoudsopgave
- Het serverside gedeelte
- Installatie Android SDK
- Een eerste start
- De layout
- Zorgen voor een lijstvuller
- De lijst vullen
- Verbinding met internet
- Dat was het