Я создал класс Project_info и создаю его экземпляр (статический public Project_info m_Project) в Appfunc.class, который расширяет Application. Когда я обращаюсь к этому экземпляру в XMLparserclass, тогда он работает нормально, но когда я получаю доступ к одному экземпляру в другой активности, тогда он недоступен.Глобальная переменная недоступна
Мой Appfunc класс
public class AppFuncs extends Application
{
public static Project_info m_Project;
public AppFuncs()
{
m_Project=new Project_info();
}
}
Мой Project_info класс
public class Project_info {
ArrayList<Layer> newlayer=new ArrayList<Layer>();
float m_Xmin;
float m_Ymin;
float m_Xmax;
float m_Ymax;
String m_ExtendBound;
int m_ProjectID;
String m_ProjectName;
String m_Description;
String m_StartDate;
String m_Ownership;
String m_LastModified;
String m_Datum;
String m_Projection;
int m_NoSignificantDecimals;
int m_ZoomCurrent;
int m_RasterHeight;
int m_Background;
}
XmlParser класс
public class XMLparser extends Activity {
String OGLpath="/sdcard/OGLDataTest/Feedlot";
File file= new File(OGLpath);
File[] files=file.listFiles();
private String name;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getIntent().getExtras()!=null)
{
if (getIntent().getExtras().containsKey(FileChooser.Gis_path))
{
name=getIntent().getExtras().getString(FileChooser.Gis_path);
}
}
Document doc=null;
try{
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
//doc = dBuilder.parse(assManager.open("e.xml"));
File f= new File(name);
doc = dBuilder.parse((f));
}
catch (Exception e) {
e.printStackTrace();
}
AppFuncs f=(AppFuncs) getApplicationContext();
// Document doc = parser.getDomElement(xml); // getting DOM element
NodeList pjj=doc.getElementsByTagName("ProjectInformation");
NodeList pj=pjj.item(0).getChildNodes();
//NodeList pj=child.item(0).getChildNodes();
for (int p=0;p<pj.getLength();p++)
{
if (pj.item(p).getNodeName().equals("Details"))
{
Element attribute=(Element)pj.item(p);
if(attribute.hasAttribute("ProjectID"))
f.m_Project.m_ProjectID=Integer.parseInt(((Element) pj.item(p)).getAttributes().getNamedItem("ProjectID").getNodeValue());
if(attribute.hasAttribute("ProjectName"))
f.m_Project.m_ProjectName=(((Element) pj.item(p)).getAttributes().getNamedItem("ProjectName").getNodeValue());
if(attribute.hasAttribute("Description"))
f.m_Project.m_Description=(((Element) pj.item(p)).getAttributes().getNamedItem("Description").getNodeValue());
if(attribute.hasAttribute("StartDate"))
f.m_Project.m_StartDate=(((Element) pj.item(p)).getAttributes().getNamedItem("StartDate").getNodeValue());
if(attribute.hasAttribute("OwnerShip"))
f.m_Project.m_Ownership=(((Element) pj.item(p)).getAttributes().getNamedItem("OwnerShip").getNodeValue());
if(attribute.hasAttribute("LastModified"))
f.m_Project.m_LastModified=(((Element) pj.item(p)).getAttributes().getNamedItem("LastModified").getNodeValue());
}
Но я не в состоянии получить доступ к m_project объекта в любой другой деятельности. Что я хочу, что m_project экземпляр получает все его описательной информации из XML-файла в XMLparser.Java, а затем этот экземпляр используется в Map.class деятельности