궁금한게 있어서 하나 올려 봅니다.
mainActivity 있고 subActivity 있는데
mainActivity 에 a라는 method를 정의 해놓고
subActivity에서 a라는 method를 사용가능한건가요?
사용가능하다면 어떤방법을 써야하는지;;;
저는 그냥 단순 자바처럼 mainActivity main = new mainActivity() 불러서
main.a() 라는 메소드를 사용했는데 알수 없는 에러라고 계속 떠서 물어봅니다
실제로 이 메소드을 불러드렸는데;;;계속 알수없는 에러라고 뜹니다...원인이 먼지 아시는분은 좀 가르쳐주세요;;
public void xmlAllparser(){
ViewFromUrl("http://iphonerain.m.howweather.com/x1.php?c=11380000000000&sc=gkdndnpej");
fileinput();
get_xml_data();
}
private void get_xml_data()
{
try {
str += xmlparser();
} catch (IOException e){
e.printStackTrace();
}
catch (XmlPullParserException e) {
e.printStackTrace();
}
}
public String xmlparser() throws IOException, XmlPullParserException, IndexOutOfBoundsException
{
String sTag = null;
XmlPullParser xpp = null;
String xml = null;
try
{
//String url= "http://iphonerain.m.howweather.com/x1.php?c=11380000000000&sc=gkdndnpej";
//URL url_Weather = new URL(url);
//InputStream in = url_Weather.openStream();
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
xpp = factory.newPullParser();
xpp.setInput(new StringReader(file));
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT)
{
switch (eventType)
{
case XmlPullParser.START_DOCUMENT: // 문서의 시작. 별로 할일 없으니 다음(이벤트)
break;
case XmlPullParser.END_DOCUMENT:
break;
case XmlPullParser.START_TAG:
sTag = xpp.getName();
if (sTag.equals("items")) isToday = true;
if(isToday)
{
if(sTag.equals("rain")) xml = xpp.nextText();
}
break;
case XmlPullParser.END_TAG:
sTag = xpp.getName();
if( sTag.equals("items")) isToday = false; .
break;
case XmlPullParser.TEXT:
break;
}
eventType = xpp.next();
}
}
catch(Exception e) {
Toast.makeText(this, "실패 : "+ e.toString(), 4000).show();
}
return xml;
};
private void ViewFromUrl(String urlPath){
String fileName = "sample.xml";
try{
URL url = new URL(urlPath);
URLConnection conn = url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bissave = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bissave.read()) != -1){
baf.append((byte) current);
}
FileOutputStream fos = openFileOutput(fileName, 0);
fos.write(baf.toByteArray());
fos.close();
}catch(Exception e){
}
};
private void fileinput(){
try{
FileInputStream fis = openFileInput("sample.xml");
byte[] data = new byte[fis.available()];
while(fis.read(data) != -1){}
fis.close();
file = new String(data);
}catch(Exception e){
}
};