2016-12-24 5 views
0

私はアンドロイド用の壁紙アプリを作成しています。私のプライベートサーバー上にAPIを構築します。 私の問題は、必要な画像のJSONだけが送信されるように、サーバー側で行うべきことです。つまり、アプリ画面で10グリッドが利用可能な場合、10画像だけが取得され、ユーザーがスクロールすると残りの画像が読み込まれます。ユーザーがアプリケーション内でスクロールしてサーバーからJSONを送信する

+0

あなたは何をしたいのですか...詳しく説明できますか? –

+0

@ JitendraKumar.Balla私は自分のサーバー上に10000の壁紙を持っているので、私はすべての壁紙のJSONを送信しません(または私はすべきですか?)。私はちょうどそのアプリのグリッドビューでユーザーに表示されるアプリから壁紙をサーバーに送信したいと思う。ユーザーがスクロールすると、より多くの壁紙が読み込まれます。 –

答えて

1

page = {{pageNumber}}のような追加パラメータを渡して、サーバー側で処理できます。

たとえば、apiがexample.com/apiの場合、デフォルトではpage = 0とみなす必要があります。ページあたりのデータのしきい値を選択する必要があります。たとえば、しきい値を10に設定した場合、上記のapi呼び出しで最初の10個の画像が返されます。

アプリでは、スクロールイベントを聴いて、最後に表示されたアイテムがデータの最後に達した場合は、page = {{lastPageNumber + 1}}でAPIを呼び出してください。そのページ番号の対応するデータを返す。

これは、mysqlとphpを使用する場合、サーバー側のようなものの大まかな実装です。

<?php 
$page = 0; 
if (isset($_GET['page'])) { 
    $page=$_GET['page']; 
} 

$threshold = 10; 
$offset = $threshold + ($threshold * $page); 

mysql_connect("domain", "username", "password") 
      or die('Could not connect: ' . mysql_error()); 
    mysql_select_db("dbName") or die('Could not select database'); 


$sql=" SELECT COLUMN_NAMES from TABLE_NAME limit $threshold offset $offset"; 

$result = mysql_query($sql) or die('Query failed: ' . mysql_error()); 

//process the $result 
?> 
+0

PHPで関数のコードを追加できますか? –

+1

例を使って答えを更新しました:) @AnkurGupta – muthuraj

関連する問題