3

我正在开发一个 Android 应用程序,其中媒体(音频/视频/图像)可以在内部/外部存储。我将面临以下情况

案例一 从应用程序广播的随机值动态设置图像。现在,我将其管理为

if(rowData.strName.equals("football")){
                imageView.setImageResource(R.drawable.football);

            }else if(rowData.strName.equals("chess")){
                imageView.setImageResource(R.drawable.chess); 

问题截至目前,我的记录很少,因此管理else if循环并不是很头疼,但后来它可能会变成一个。

案例二 从 Internet 下载媒体,将其保存在外部存储中,并imageview在需要时将其加载到

问题万一,图像已经下载(应用程序跟踪下载的图像),用户弹出卡,然后我打算使用

try{
}catch(FileNotFoundException e){

                imageView.setImageResource(R.drawable.no_media);//media from the app
}

案例 III 我将有listView一个类别。每个类别包含某些子类别名称、它们的图像(内置和外部下载)及其描述。每个子类别都有子记录,每个记录都有自己的一个或图像(内置和外部下载),描述和媒体文件(音频和视频)。

我对这种情况应该使用什么Collection类以及如何开始感到困惑?对于要从​​服务器(在线)检索的数据,我计划使用XMLParsing. 请建议我解决问题的最佳方法。

4

1 回答 1

0

哇!这真的是三个问题。如果我能得到三倍的代表就好了:)

案例一

使用地图来存储和检索东西。节省您编写大量if/else语句。

Map<String,Integer> drawableMap = new HashMap<String,Integer>();
drawableMap.put("football", R.drawable.football);
// Then later to retrieve...
imageView.setImageResource(drawableMap.get("football"));

案例二

好的,这看起来不错。虽然对于我的大部分图像加载,我使用现有的库,如Universal Image LoaderVolley。这些可能会满足您的需求,我不确定。

案例三

我会采用面向对象的方法并对数据进行适当的建模。您不必选择Collection要使用的“a”类。创建一个Category类。创建一个SubCategory类。让Category班级“拥有”子类别等。从那里拿走它。

XML 解析很好,我不确定您期望得到什么建议。您可能还想考虑 JSON,一种流行的数据格式。

于 2013-07-26T09:27:21.877 回答