从xml文件中获取随机项

时间:2015-09-06 18:02:02

标签: android xml random

我创建了2个xml文件:

RES / XML / comedy.xml

<comedy>
<item title="Grown Ups" length="90min"/>
<item title="Grown Ups 2" length="90min"/>
<item title="Scary Movie" length="90min"/>
<item title="Superbad" length="90min"/>
<item title="Zoolander" length="90min"/>
<item title="Groundhog Day" length="90min"/>
<item title="Beverly Hills Cop" length="90min"/>
<item title="Beverly Hills Cop II" length="90min"/>
<item title="Hangover" length="90min"/>
<item title="Anchorman" length="90min"/>
<item title="Pineapple Express" length="90min"/>
<item title="Happy Gilmore" length="90min"/>
<item title="We're the Millers" length="90min"/>
<item title="Horrible Bosses" length="90min"/>
<item title="Horrible Bosses 2" length="90min"/>
<item title="Meet the Parents" length="90min"/>

RES / XML / action.xml

<action>
<item title="Man in Black" length="90min"/>
<item title="Man in Black II" length="90min"/>
<item title="Man in Black III" length="90min"/>
<item title="Mission: Impossible" length="90min"/>
<item title="Mission: Impossible II" length="90min"/>
<item title="Mission: Impossible - The Phantom Pain" length="90min"/>
<item title="Terminator" length="90min"/>
<item title="Die Hard" length="90min"/>
<item title="Back to the Future" length="90min"/>
<item title="The Bourne Identity" length="90min"/>
<item title="Marvel's The Avengers" length="90min"/>
<item title="Jurassic Park" length="90min"/>
<item title="Jurassic World" length="90min"/>
<item title="The Dark Night" length="90min"/>
<item title="The Matrix" length="90min"/>
<item title="Kill Bill - Volume 2" length="90min"/>
<item title="Apocalypto" length="90min"/>
<item title="Apocalypse Now" length="90min"/>
<item title="Aliens" length="90min"/>

现在我想从每个文件中提取一部随机电影。

我有办法直接做到吗?或者我是否必须使用XmlPullParser(例如here)拉出所有项目,然后使用随机生成器?

附注

1:我不完全确定我制作这些xml文件的方式是否理想。我只是将自己定位于链接中的示例。如果您有更好的想法,请告诉我。

2:最终目标是在用户选择一个或多个流派后在应用中显示随机电影。

2 个答案:

答案 0 :(得分:0)

您可以使用sqlite DataBse,因此您可以使用它执行所有操作。例如保存名称和类型,然后像这样查询: SELECT * FROM movieWHERE movie.genre =&#39; drama&#39; ORDERBY RANDOM()

答案 1 :(得分:0)

我通过创建一个包含字符串数组的xml文件来进行替代路径:

<resources>
    <string-array name="comedy">
    <item>Grown Ups</item>
    <item>Grown Ups 2</item>
    <item>Scary Movie</item>
    <item>Superbad</item>
    <item>Zoolander</item>
    <item>Groundhog Day</item>
    <item>Beverly Hills Cop</item>
    <item>Beverly Hills Cop II</item>
    <item>Hangover</item>
    <item>Anchorman</item>
    <item>Pineapple Express</item>
    <item>Happy Gilmore</item>
    <item>We are the Millers</item>
    <item>Horrible Bosses</item>
    <item>Horrible Bosses 2</item>
    <item>Meet the Parents</item>
    </string-array>

    <string-array name="action">
    <item>Man in Black</item>
    <item>Man in Black II</item>
    <item>Man in Black III</item>
    <item>Terminator</item>
    <item>Die Hard</item>
    <item>Back to the Future</item>
    <item>The Bourne Identity</item>
    <item>The Avengers</item>
    <item>Jurassic Park</item>
    <item>Jurassic World</item>
    <item>The Dark Night</item>
    <item>The Matrix</item>
    <item>Mission: Impossible</item>
    <item>Mission: Impossible II</item>
    <item>Mission: Impossible - The Phantom Pain</item>
    <item>Kill Bill - Volume 2</item>
    <item>Apocalypto</item>
    <item>Aliens</item>
    <item>Apocalypse Now</item>
    <item>Logans Run</item>
</string-array>
</resources>

现在我可以轻松获得一个数组,然后使用随机生成器。

到目前为止还不够。

但是在制作应用程序的过程中,我不仅要按类型过滤,还要按长度过滤。 这就是我尝试使用第一次溃败的原因,如我最初的问题所示。 如果有人有建议让这项工作,那就太好了!