【问题标题】:Smartway to implement media in Android在 Android 中实现媒体的 Smartway
【发布时间】:2013-07-24 20:31:33
【问题描述】:

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

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

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

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

问题 到目前为止,我的记录很少,所以管理else if 循环并不令人头疼,但后来它可能会变成一个。

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

问题万一,图片已经下载了(app会跟踪下载的图片),用户弹出卡,然后我打算使用

try{
}catch(FileNotFoundException e){

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

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

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

【问题讨论】:

    标签: android performance collections android-listview android-mediaplayer


    【解决方案1】:

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

    案例一

    使用Map 来存储和检索内容。节省您编写大量 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。这些可能会满足您的需要,我不确定。

    案例三

    我会采用 OO 方法并对数据进行适当建模。您不必选择“a”Collection 类来使用。创建一个Category 类。创建一个SubCategory 类。拥有Category 类“拥有”子类别等。从那里获取。

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

    【讨论】:

      猜你喜欢
      • 2012-08-19
      • 1970-01-01
      • 2015-07-15
      • 2014-05-07
      • 2015-04-18
      • 1970-01-01
      • 2011-04-05
      • 2015-11-06
      • 2022-08-19
      相关资源
      最近更新 更多