1

ゼルダの伝説に基づいて Android アプリを作成しています。http: //zelda.wikia.com/wiki/Category :Games にあるゼルダのビデオ ゲームの Wikia ページにリンクしたいと考えていました。各ゲームのページ名を取得して Android アプリのリストビューにインポートする方法があるかどうか疑問に思っていました。私が現在これを行っている方法は、ゲームの名前をアプリ自体に直接コーディングすることですが、それができれば名前を取得してくれるので、新しいゲームが来るたびに更新する必要はありません。そこにこれらすべての名前をハードコーディングする手間を省くことができます。私がこれまでに持っているコードは次のとおりです。

    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);

    }
    });

これを読んでくれてありがとう。

私は MediaWiki API を調べていて、これを見つけました:

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

これによりゲームが一覧表示されますが、xml 形式になっているため、ゲーム タイトルをリストに入力する方法についてまだ混乱しています。助けてください、または私を正しい方向に向けてください。

4

1 に答える 1

0

最善の策はHTML Parser、表示する必要があるコンテンツを使用して解析することです。

これがJavaの実装ですHTML Parser

http://htmlparser.sourceforge.net/

もう一つ

http://jtidy.sourceforge.net/

すべてのゲームページで一定になる<div class="category-gallery">特定のものを探す必要があります。DIV

その中にDIV、すべてのゲームが別の中にリストされていますDIV

<div class="category-gallery-item category-gallery-item-image">

名前、URL、画像などのコンテンツがあります...

<a title="The Legend of Zelda: Skyward Sword" href="/wiki/The_Legend_of_Zelda:_Skyward_Sword">
<img alt="The Legend of Zelda: Skyward Sword" src="http://images3.wikia.nocookie.net/__cb51062/zelda/images/thumb/b/b9/Characters_%28Skyward_Sword%29.png/130px-77%2C1066%2C0%2C874-Characters_%28Skyward_Sword%29.png">
<span class="details">The Legend of Zelda: Skyward Sword</span>
</a>

ここから、必要なものを解析できます。これも十分に高速に動作するため、パフォーマンスについて心配する必要はありません。

于 2012-04-07T05:20:24.263 に答える