我如何从java类中读取?

时间:2014-10-13 09:02:07

标签: java android

我真正开始使用Android开发和目标编程,所以这个问题对你来说太愚蠢了......我知道,但是我想问一下,我怎么能从java类中读取?

这是我的情况:我来自C和C ++,我必须保留XML文件中的数据。数据是关于地点的,因此项目是:"姓名","地址","电话号码"等等。现在,如果我在C中,我可能会做一个数组或一个List,但是,我想学习Java和Objective编程,所以我创建了一个名为" PointOfInterest"在所有的领域,但我不知道我是否写得很好,而且我不知道如何从课堂上读书。如果我是在C或C ++中为我做的话我当标题等于字段时,它可以水平移动" 0"例如。但是用Java类??

我该怎么办?这是我的代码:

package com.example.findmyclients;

public class PointOfInterest {
    private String title;
    private String address;
    private String telephone;
    private String email;
    private String description;
    private String facebook;
    private String twitter;
    private String website;

    public void AnyPoint(String nome, String indirizzo, String telefono, String email, String description, String facebook, String twitter, String website){
        //super();
        this.title = nome;
        this.address = indirizzo;
        this.telephone = telefono;
        this.email = email;
        this.description = description;
        this.facebook = facebook;
        this.twitter = twitter;
        this.website = website;
    }

    public String prova(String nome){
        if(title.contains(nome)){
            return this.address;
        }
        return nome;
    }
}

这是我的"尝试"从xml:

保留到类数据中
for (int i = 0; i < markers.getLength(); i++) {

    //PointOfInterest p = point.get(i+1);

    Element item = (Element) markers.item(i);
    String name = item.getAttribute("name");
    String address = item.getAttribute("address");
    String stringLat = item.getAttribute("lat");
    String stringLong = item.getAttribute("long");
    String icon = item.getAttribute("icon"); //assigned variable for the XML icon attribute

    String desc = item.getAttribute("descrizione");
    String tel = item.getAttribute("tel");
    String email = item.getAttribute("email");
    String facebook = item.getAttribute("facebook");
    String twitter = item.getAttribute("twitter");
    String web = item.getAttribute("web");

    Double lat = Double.valueOf(stringLat);
    Double lon = Double.valueOf(stringLong);

    PointOfInterest p = new PointOfInterest();
    p.AnyPoint(name,address,tel,email,desc,facebook,twitter,web);

[...]

1 个答案:

答案 0 :(得分:0)

我害怕误解你想要得到什么,正是我没有达到“如何从课堂上阅读”的含义

然而,如果我理解正确,您可能希望使用Java Collections Framework。作为HashMap或TreeMap。

如果你想用一些'key'获得PointOfInterest实例,你可以按照以下方式进行。

Map<String, PointOfInterest> nameMap = new HashMap<<String, PointOfInterest>();
nameMap.put(p.getName, p);


PointOfInterest anotherP = nameMap.get("foo");

if (anotherP != null)  {  // there is a instance with a name of "foo"
   ...
} 

顺便说一句,我强烈建议使用Immutable对象。 例如

public class PointOfInterest {
    private final String title;
    private final String address;
    private final String telephone;
    ....

    //constructure
    public PointOfInterest(String title, String address, ... ) {
        this.title = title;
        ....
    }
  ....
 }

如果这不是您想知道的,请让我理解。 我希望有一种方法可以帮助你。