2

我的 Android 应用程序有问题。我目前有一个CatDownloadService假设在后台做两件事:

  1. 从服务器以 JSON 格式下载猫的信息(id、name、imageid 等)
  2. 将 JSON 解析为 Cat 对象
  3. 通过 CatDatabaseAccessObject 将 Cat 对象插入数据库
  4. 下载猫的图像
  5. 将图像保存到外部存储。

我似乎无法在实现这一目标的各种方式之间做出决定。有人可以指出我正确的方向吗?我对每种方法的理解都在()中。

解析 JSON

  1. CatDownloadService 中的方法(因为我的 JSON 解析只需要在这个类中)

    parseCatJSON(jsonString);
    
  2. CatJSONParser.java 中的方法(更整洁,因为 JSON 解析的逻辑本身就在一个类中)

    CatJSONParser catJsonParser = new CatJSONParser();
    catJsonParser.parseCatJSON(jsonString);
    
  3. CatJSONParser.java 中的静态方法(同 2。不需要创建对象)

    CatJSONParser.parseCatJSON(jsonString);
    

通过 DatabaseAccessObject 添加到数据库

  1. CatDatabaseAccessObject.java 中的方法(使用 DBHelper 的每个上下文都不同)

    CatDatabaseAccessObject catDAO = new CatDatabaseAccessObject(this);
    catDAO.addCat(cat);
    
  2. CatDatabaseAccessObject.java 中的静态方法(确保只有 1 个与 DB 的连接)

    CatDatabaseAccessObject.addCat(cat);
    

将 Cat 图像保存到外部存储

  1. CatStorageManager.java 中的方法

    CatStorageManager catStorageManager = new CatStorageManager();
    catStorageManager.writeCatImage(catInputStream);
    
  2. CatStorageManager.java 中的静态方法

    CatStorageManager.writeCatImage(catInputStream);
    

我真的迷路了。

4

1 回答 1

0

我以两种方式对静态方法进行分类 -

  • 如果他们保留一些误导性和不必要的参考资料,那将是有害的。

    public static InputStream is = null;
    public static void harfulStaticMethod(InputStream is) {
    BatteryManagerC.is = is;
    /* Read Content */
    /* Leave open or is have used at multiple places */
    }
    
  • Non Harmful 仅用于访问方法变量

    public static void unharmFullStaticMethod(int a, int b) {
    int c = a + b;
    Log.e("Some Is=", String.valueOf(c));
    }
    

由于您的问题很广泛并导致很多问题。所以它只是反映一种观点。希望对你有帮助

于 2013-10-03T13:29:29.973 回答