首先,我想知道是否有与 Android 应用程序编程一起使用的 HTML 解析器,或者我是否只能访问 Android 开发人员网站上列出的 html 命令。原因是我正在制作一个允许您访问 Zelda Wikia 的应用程序,而不是硬编码所有内容,例如我想继续使用 MediaWiki API 提取名称的视频游戏的标题,我发现的命令是这个:
http://zelda.wikia.com/api.php?action=query&list=categorymembers&cmtitle=Category:Games&cmlimit=500
这将返回 HTML 格式的所有标题,我能想到从返回的内容中提取所需内容的唯一方法是使用 HTML 解析器,但我不确定是否有一个适用于 Android 编程的方法,如果是这样,如何我什至会从中提取我需要的东西。从这里获取数据后,我想将其显示在 ListView 中,当单击标题时,它会将用户带到 Wikia 以获取 WebView 中的特定标题。这是我应该这样做的方式还是有人有任何其他建议,我真的需要帮助。其余的代码如下,以防有人想看看我有什么:
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);
}
});
感谢您抽出时间来阅读。