代码之家  ›  专栏  ›  技术社区  ›  FlyingStreudel

Android编程问题

  •  3
  • FlyingStreudel  · 技术社区  · 14 年前

    你好,我是一个程序员,几乎只使用过c++/c#/vbs,刚刚进入Android开发的世界。我遇到了一些问题,我似乎找不到答案/不想看冗长的教程视频找到答案,所以我想我会问这里,得到一个快速的答案。

    我不知道这是不是最好的办法,所以我愿意接受任何建议。

    现在在C#我会做一些

    public class Achievment  
    {
        bool locked;
        string achName;
        string achSubName;
    
        public Achievement(string name, string subname)
        {
            //ctor code goes here
        }
    }
    

    这不是我所需要的一切,但这是我想要的数据布局的想法。然而,当我试图在Eclipse中创建一个定制类时,我的问题是“Public类型必须在它自己的文件中定义吗?”我在应用程序的.java文件中写这个。。。还有别的地方应该放这个吗?我很困惑。基本上java对我来说就像斯瓦希里语一样。。。我喜欢我直观的c#布局!

    本质上,我希望将数据与UI分开存储,当我生成一个“成就列表”时,它会查看当前用户的成就数组并从中填充。好的,坏的?

    4 回复  |  直到 14 年前
        1
  •  4
  •   Konstantin Burov    14 年前

    您要么必须从类中删除public修饰符(因此它的可见性将是默认级别——仅从应用程序类所在的包中可见),要么需要将类移动到成就.java文件。

        2
  •  5
  •   Matt Ball    14 年前

    你应该定义 Achievement 在单独的文件中初始化,称为 Achievement.java

    ...
    public Achievement(String name, String subname)
    {
        //ctor code goes here
    }
    ...
    

    String string

        3
  •  4
  •   Mike K    14 年前

        4
  •  1
  •   ra9r    14 年前

    创建一个名为成就.java在eclipsejava项目的源文件夹中。您可能还希望该类存在于包中,因此假定您的包名为“com.acme公司,然后你的成就.java文件将存在于以下目录结构中:

    <project-folder>/src/com/acme/Achievement.java
    

    现在,假设您已经完成了上述步骤,您还需要对发布的代码进行以下更正:

    package com.acme // NOTE: This maps to the directory structure
    
    public class Achievement {
        private boolean locked;
        private String achName;
        private String achSubName;
    
        public Achievement(String name, String subname) {
            this.achName = name;
            this.achSubName = subname;
        }
    
        public boolean isLocked() {
            return this.locked;
        }
    
        public void setLocked(boolean locked) {
            this.locked = locked;
        }
    
        public String getName() {
            return this.achName;
        }
    
        public void setName(String name) {
            this.achName = name;
        }
    
        // etc ...
    }