ユーザーが表示できる動画のリストを作成しようとしています。これは動的である必要があります。これは、ビデオを描画しているデータベースに追加された新しいエントリに基づいてリストが更新されるためです。
私のプロジェクトでは、シンプルな API を介して vimeo からビデオのリストにアクセスします。すべての情報を表示するために私が使用している現在のアプローチは、StringBuilder オブジェクトである htmlString から情報を取得する webview オブジェクトを使用することです。
ビューの私の XML は次のとおりです。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/videoMenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
リストを動的に作成するために使用するコードのスニペットは次のとおりです。forループから作成されたhtmlでwebviewを表示する関数「onPostExecute(String result)」に戻ります。
for (VideoDataParser.Entry video : videos)
{
htmlString.append("<p>");
htmlString.append("<a href=\"" + video.url + "\">");
htmlString.append("<img align=\"left\" src=\"" + video.thumbnail_url + "\">");
htmlString.append(video.title + "<br>");
htmlString.append(video.description);
htmlString.append("</p>");
}
return htmlString.toString();
私が今抱えている主な問題は、画像が読み込まれないことです。これは、画像を取得するために別の HTTP リクエストが必要だからだと思います。それを修正する別の方法はありますか?
また、このメニューの作成方法が最適ではないのではないかと感じています。ユーザーがリンクをクリックすると、制御フローはアクティビティの外に出て、ビデオを再生する Web ブラウザーに移動します。オプションの 1 つをクリックすると、インターネットを使用する代わりに、アクティビティが自分のビデオ プレーヤーに移動するようにします。これを行うためのより良い方法がある可能性が最も高いですが、私にはわかりません。
どんな入力でも素晴らしいでしょう。