0

最初に、Android アプリのプログラミングで動作する HTML パーサーがあるかどうか、またはアクセスできるのは Android 開発者の Web サイトにリストされている html コマンドだけかどうか疑問に思っていました。その理由は、Zelda Wikia にアクセスできるアプリを作成していて、ビデオ ゲームのタイトルなどすべてをハード コーディングする代わりに、MediaWiki API を使用して名前を取得したかったためです。見つけたコマンドは次のとおりです。 :

http://zelda.wikia.com/api.php?action=query&list=categorymembers&cmtitle=Category:ゲーム&cmlimit=500

これはすべてのタイトルを HTML 形式で返します。これが返すものから必要なものを引き出す唯一の方法は、HTML パーサーを使用することですが、Android プログラミングで動作するものがあるかどうかはわかりません。これから必要なものを引き出すことさえします。これからデータを取得した後、それを ListView に表示したいと思います。タイトルをクリックすると、ユーザーは WebView の特定のタイトルの Wikia に移動します。これは私がこれについて行くべき方法ですか、それとも誰かが持っている他の推奨事項はありますか? 本当に助けが必要です. 残りのコードは、誰かが私が持っているものを見たい場合に備えて、次のとおりです。

    package com.lvlup.kikurself.zeldatest;

    import android.app.ListActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.AdapterView.OnItemClickListener;

    public class zeldaGames extends ListActivity {
        public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { "The Legend of Zelda", "Zelda II: The
         Adventure of Link", "The Legend of Zelda: Ocarina of Time",};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
        final ListView zeldaList = getListView();

        zeldaList.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long thisID)
      {
         Object o = (zeldaList.getItemAtPosition(position));
         String gameName_temp = (o.toString());

         Intent newIntent = new Intent(v.getContext(), gameDisp.class);
         newIntent.putExtra("tempG", gameName_temp);
         startActivity(newIntent);

    }
    });

これを読んでいただきありがとうございます。

4

2 に答える 2

2

私は電話でパーサーを使用しません。いつの間にか、ページの所有者が新しいレイアウトを考え出し、アプリを台無しにしてしまう可能性があります。

代わりに、指定されたサイトを解析し、XML、JSON、またはその他の形式でファイルを返す Web サービス (DomXML を使用した PHP が優れた選択肢です) を構築します。次に、パーサー Web サービスをデータソースとして使用するアプリを作成します。

このようにして、より多くのコンピューターパワーを手に入れることができます。アプリをダウンロードした任意のデバイスで動作することがわかっている場合は、パーサーのインスタンスを 1 つだけ維持する必要があります。

大変な作業のように聞こえるかもしれませんが、これを信じてください。個人的および専門的な経験

于 2012-05-10T20:03:54.053 に答える
1

&format=xml を URL に追加して、機械可読データを取得します。https://www.mediawiki.org/wiki/API:Data_formatsで API 形式に関する MW ヘルプを参照し、https ://www.mediawiki.org/wiki/APIで一般的な API ヘルプを参照してください。

于 2012-05-11T08:52:30.103 に答える