반응형
'JAVA > Android' 카테고리의 다른 글
[Android] alert Dialog 예제 (0) | 2014.11.18 |
---|---|
[Android] keyboard 예제 (0) | 2014.11.18 |
[Android] 이벤트 시간 예제 (0) | 2014.11.18 |
[Android] 이벤트 처리 예제 (0) | 2014.11.18 |
[Android] socket 예제 통신하기 (0) | 2014.11.18 |
[Android] alert Dialog 예제 (0) | 2014.11.18 |
---|---|
[Android] keyboard 예제 (0) | 2014.11.18 |
[Android] 이벤트 시간 예제 (0) | 2014.11.18 |
[Android] 이벤트 처리 예제 (0) | 2014.11.18 |
[Android] socket 예제 통신하기 (0) | 2014.11.18 |
[Android] alert Dialog 예제 (0) | 2014.11.18 |
---|---|
[Android] keyboard 예제 (0) | 2014.11.18 |
[Android] 이벤트 예제2 (0) | 2014.11.18 |
[Android] 이벤트 처리 예제 (0) | 2014.11.18 |
[Android] socket 예제 통신하기 (0) | 2014.11.18 |
[Android] alert Dialog 예제 (0) | 2014.11.18 |
---|---|
[Android] keyboard 예제 (0) | 2014.11.18 |
[Android] 이벤트 예제2 (0) | 2014.11.18 |
[Android] 이벤트 시간 예제 (0) | 2014.11.18 |
[Android] socket 예제 통신하기 (0) | 2014.11.18 |
mainActivity.java
package com.example.socket; import java.io.*; import java.net.*; import android.app.Activity; import android.os.*; import android.view.*; import android.view.View.OnClickListener; import android.widget.*; public class MainActivity extends Activity { EditText input; // 서버에서 전송된 메시지를 저장할 변수 String mes = ""; // 서버에서 메시지가 전송되었을 때 호출될 핸들러 Handler handler = new Handler() { public void handleMessage(Message msg) { Toast.makeText(MainActivity.this, mes, Toast.LENGTH_LONG).show(); } }; //실제 서버에서 접속해서 데이터를 전송하고 전송받을 스레드 class ConnectThread extends Thread{ String hostname; public ConnectThread(String addr){ hostname = addr; } public void run(){ try{ int port = 11001; //소켓 생성 Socket socket = new Socket(hostname,port); //데이터를 전송하귀 위한 스트림 생성 ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); oos.writeObject("클라이언트가 전송하는 메시지"); oos.flush(); //서버로부터 하나의 객체를 전송받기 위한 스트림 ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); mes = ois.readObject().toString(); handler.sendEmptyMessage(0); socket.close(); }catch(Exception e){ } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); input = (EditText)findViewById(R.id.input01); Button btn = (Button)findViewById(R.id.button01); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ConnectThread th = new ConnectThread("127.0.0.1"); th.start(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
[Android] alert Dialog 예제 (0) | 2014.11.18 |
---|---|
[Android] keyboard 예제 (0) | 2014.11.18 |
[Android] 이벤트 예제2 (0) | 2014.11.18 |
[Android] 이벤트 시간 예제 (0) | 2014.11.18 |
[Android] 이벤트 처리 예제 (0) | 2014.11.18 |
import java.io.*; import java.net.*; public class SocketServer { public static void main(String[] args) { try { // 서버에서 사용할 포트 번호 int portNumber = 11001; ServerSocket aServersocket = new ServerSocket(portNumber); System.out.println("서버 소켓 준비 완료"); while (true) { // 클라이언트의 요청이 올때까지 대기하다가 // 클라이언트의 요청이 오면 그 정보를 저장 Socket aSocket = aServersocket.accept(); // 접속한 클라이언트의 주소 정보를 저장 InetAddress client = aSocket.getInetAddress(); // 클라이언트의 주소 정보 출력 System.out.println(client); // 클라이언트가 보낸 객체를 확인하기 위한 스트림 생성 ObjectInputStream ois = new ObjectInputStream( aSocket.getInputStream()); // 데이터 1개 읽기 Object obj = ois.readObject(); // 데이터 출력 System.out.println("보낸 데이터 : " + obj); // 클라이언트에게 객체를 전송하기 위한 스트림을 생성 ObjectOutputStream oos = new ObjectOutputStream( aSocket.getOutputStream()); oos.writeObject("서버에서 전송한 메시지"); oos.flush(); //클라이언트와 연결된 소켓 닫기 aSocket.close(); } } catch (Exception e) { } } }
AES, SHA256 암 복호화 (0) | 2016.03.02 |
---|---|
java String Calss (0) | 2015.03.18 |
[JAVA] JFrame 이용하여 Mysql 접속 후 프로그램 생성 (0) | 2014.11.18 |
[JAVA] Mysql DB 접속하기(Connect) (0) | 2014.11.18 |
[JAVA] Oracle DB 접속 후 Insert,select 하기 (0) | 2014.11.18 |
JFrame을 이용하여 폼을 만든 후 Mysql DB에 접속하여 select, insert, delete 을 해보자!!
CustomerDBUse.java
package CustomerDB; import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; import javax.print.attribute.standard.*; import javax.swing.*; import javax.swing.table.*; public class CustomerDBUse extends JFrame implements ActionListener { JPanel panWest; JPanel panSouth; // 레이블과 텍스트 필드를 묶어서 panWest에 배치될 패널 JPanel p1, p2, p3, p4; // 텍스트 필드 JTextField txtName, txtEmail, txtTel; // 아래쪽의 버튼 JButton btnTotal, btnAdd, btnDel, btnSearch, btnCancel; // 데이터를 출력할 테이블 JTable table; // 누른 버튼의 이름을 기억하기 위한 상수 선언 및 변수 선언 private static final int NONE = 0; private static final int ADD = 1; private static final int DELETE = 2; private static final int SEARCH = 3; private static final int TOTAL = 4; int cmd = NONE; // 데이터베이스 연결을 저장할 변수 Connection con; // sql 수행을 위한 변수 Statement stmt; PreparedStatement pstmtInsert; PreparedStatement pstmtDelete; // 데이터베이스 연결 클래스 이름과 위치 및 아이디와 패스워드 저장 private String driver = "oracle.jdbc.driver.OracleDriver"; private String url = "jdbc:oracle:thin:@211.183.0.100:1521:orcl"; private String user = "user12"; private String pwd = "user12"; // 데이터베이스 접속하는 메서드 private void dbConnect() { try { Class.forName(driver); con = DriverManager.getConnection(url, user, pwd); stmt = con.createStatement(); JOptionPane.showMessageDialog(this, "접속 성공"); } catch (Exception e) { JOptionPane.showMessageDialog(this, e.getMessage()); } } private String sqlInsert = "insert into customer2 values(id_sequence.nextval,?,?,?,sysdate)"; private String sqlDelete = "delete from customer2 where name = ?"; PreparedStatement pstmtTotal; private String sqlTotal = "select * from customer2"; PreparedStatement pstmtSearch; private String sqlSearch = "select * from customer2 where name =?"; // 생성자 - 화면 구성과 이벤트 연결 public CustomerDBUse() { dbConnect(); panWest = new JPanel(new GridLayout(5, 0)); p1 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); p1.add(new JLabel("이 름")); p1.add(txtName = new JTextField(12)); panWest.add(p1); p2 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); p2.add(new JLabel("이 메 일")); p2.add(txtEmail = new JTextField(12)); panWest.add(p2); p3 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); p3.add(new JLabel("전화번호")); p3.add(txtTel = new JTextField(12)); panWest.add(p3); p4 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); p4.add(new JLabel(" ")); panWest.add(p4); add(panWest, "West"); panSouth = new JPanel(); panSouth.add(btnTotal = new JButton("전체보기")); panSouth.add(btnAdd = new JButton("추 가")); panSouth.add(btnDel = new JButton("삭 제")); panSouth.add(btnSearch = new JButton("검 색")); panSouth.add(btnCancel = new JButton("취 소")); add(panSouth, "South"); // 테이블을 생성해서 부착 add(new JScrollPane(table = new JTable()), "Center"); // 텍스트 필드를 사용할 수 없도록 설정 txtEmail.setEditable(false); txtName.setEditable(false); txtTel.setEditable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle("데이터베이스 연동"); setBounds(100, 100, 500, 250); setVisible(true); btnAdd.addActionListener(this); btnTotal.addActionListener(this); btnDel.addActionListener(this); btnSearch.addActionListener(this); btnCancel.addActionListener(this); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { try { if (con != null) { con.close(); } } catch (Exception e1) { } } }); } // 사용자가 작업을 위해서 버튼을 처음 눌렀을 때 호출되서 // 버튼의 활성화 여부를 설정하는 사용자 정의 메서드 private void setButton(int command) { // 취소 버튼을 제외한 버튼 비 활성화 btnTotal.setEnabled(false); btnAdd.setEnabled(false); btnCancel.setEnabled(false); btnDel.setEnabled(false); btnSearch.setEnabled(false); switch (command) { case ADD: { btnAdd.setEnabled(true); cmd = ADD; break; } case DELETE: { btnDel.setEnabled(true); cmd = DELETE; break; } case TOTAL: { btnTotal.setEnabled(true); cmd = TOTAL; break; } case SEARCH: { btnSearch.setEnabled(true); cmd = SEARCH; break; } case NONE: { btnTotal.setEnabled(true); btnAdd.setEnabled(true); btnCancel.setEnabled(true); btnDel.setEnabled(true); btnSearch.setEnabled(true); cmd = NONE; break; } default: break; } } private void setText(int command) { switch (command) { case ADD: { txtName.setEditable(true); txtEmail.setEditable(true); txtTel.setEditable(true); break; } case DELETE: { txtName.setEditable(true); txtEmail.setEditable(false); txtTel.setEditable(false); break; } case SEARCH: { txtName.setEditable(true); txtEmail.setEditable(false); txtTel.setEditable(false); break; } default: break; } setButton(command); } // 액션 리스너 @Override public void actionPerformed(ActionEvent e) { // TODO 자동 생성된 메소드 스텁 Object obj = e.getSource(); if (obj == btnTotal) { System.out.println("전체보기를 눌렀습니다."); setTitle("전체보기"); totel(); } else if (obj == btnAdd) { System.out.println("추가를 눌렀습니다."); if (cmd != ADD) { setText(ADD); return; } setTitle("데이터 추가"); add(); } else if (obj == btnCancel) { System.out.println("닫기를 눌렀습니다."); } else if (obj == btnSearch) { System.out.println("찾기를 눌렀습니다."); search(); } else if (obj == btnDel) { System.out.println("삭제를 눌렀습니다."); if (cmd != DELETE) { setText(DELETE); return; } setTitle("데이터 삭제"); delete(); } setText(NONE); } private void search() { // TODO 자동 생성된 메소드 스텁 try { // txtname에 이름이 없으면 메시지 박스를 출력하고 return String Strname = txtName.getText(); if (Strname.trim().length() < 1) { JOptionPane.showMessageDialog(null, "이름 적어"); return; } pstmtSearch = con.prepareStatement(sqlSearch); pstmtSearch.setString(1, Strname); String[] columnNames = { "번호", "이름", "이메일", "전화번호", "가입일" }; // select 구문실행 ResultSet rs = pstmtSearch.executeQuery(); ArrayList> data_arr = new ArrayList >(); if (rs.next()) { do { ArrayList imsi = new ArrayList (); imsi.add(rs.getString("CUSTOMER_ID")); imsi.add(rs.getString("NAME")); imsi.add(rs.getString("EMAIL")); imsi.add(rs.getString("TAL")); imsi.add(rs.getString("JOIDATE")); data_arr.add(imsi); } while (rs.next()); String[][] data = new String[data_arr.size()][5]; for (int i = 0; i < data_arr.size(); i++) { ArrayList al = data_arr.get(i); for (int j = 0; j < 5; j++) { data[i][j] = al.get(j); } } // 테이블에 출력하기 위한 데이터 모델 생성 DefaultTableModel model = new DefaultTableModel(data, columnNames); // 테이블 모델 적용 table.setModel(model); // 테이블 갱신 table.updateUI(); } else { JOptionPane.showMessageDialog(null, "데이터 없음"); } rs.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); } finally { try { if (pstmtSearch != null) pstmtSearch.close(); } catch (SQLException e) { // TODO 자동 생성된 catch 블록 e.printStackTrace(); } } } // 모든 데이터를 보여주는 정의 메서드 private void totel() { try { pstmtTotal = con.prepareStatement(sqlTotal); // select 구문 실행 ResultSet rs = pstmtTotal.executeQuery(); String[] columnNames = { "번호", "이름", "이메일", "전화번호", "가입일" }; ArrayList > imsiData = new ArrayList >(); if (rs.next()) { do { // 하나의 행 데이터를 저장할 가변 배열 생성 ArrayList imsi = new ArrayList (); imsi.add(rs.getString("CUSTOMER_ID")); imsi.add(rs.getString("NAME")); imsi.add(rs.getString("EMAIL")); imsi.add(rs.getString("TAL")); imsi.add(rs.getString("JOIDATE")); imsiData.add(imsi); } while (rs.next()); // 테이블에 데이터를 출력하기 위해서 // 테이버베이스에서 읽어온 데이터를 2차원 배열로 반환 String[][] data = new String[imsiData.size()][5]; for (int i = 0; i < imsiData.size(); i++) { ArrayList al = imsiData.get(i); for (int j = 0; j < 5; j++) { data[i][j] = al.get(j); } } // 테이블에 출력하기 위한 데이터 모델 생성 DefaultTableModel model = new DefaultTableModel(data, columnNames); // 테이블 모델 적용 table.setModel(model); // 테이블 갱신 table.updateUI(); } else { JOptionPane.showMessageDialog(null, "데이터가 없다"); } } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); } finally { try { if (pstmtTotal != null) pstmtTotal.close(); } catch (Exception e) { } } } // 데이터를 삭제하는 사용자 정의 메서드 private void delete() { try { String strname = txtName.getText(); if (strname.trim().length() < 1) { JOptionPane.showMessageDialog(null, "이름 필수 입력"); return; } pstmtDelete = con.prepareStatement(sqlDelete); pstmtDelete.setString(1, strname); int result = pstmtDelete.executeUpdate(); if (result > 0) { JOptionPane.showMessageDialog(null, "삭제 성공"); } else { JOptionPane.showMessageDialog(null, "삭제할 이름 없음"); } } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); } finally { try { if (pstmtDelete != null) pstmtDelete.close(); } catch (Exception e) { } } } // 데이터를 추가하는 사용자 정의 메서드 private void add() { try { // 유호성 검사 - txtname에 텍스트 확인 String strname = txtName.getText(); String strEmail = txtEmail.getText(); String strTel = txtTel.getText(); if (strname.trim().length() < 1) { JOptionPane.showMessageDialog(null, "이름 필수 입력"); return; } // 삽입하는 sql 문장을 수행해 줄 Statement 생성 pstmtInsert = con.prepareStatement(sqlInsert); pstmtInsert.setString(1, strname); pstmtInsert.setString(2, strEmail); pstmtInsert.setString(3, strTel); int result = pstmtInsert.executeUpdate(); if (result > 0) { JOptionPane.showMessageDialog(null, "삽입 성공"); } else { JOptionPane.showMessageDialog(null, "삽입 실패"); } } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); } finally { try { if (pstmtInsert != null) pstmtInsert.close(); } catch (Exception e) { } } } }
Customer.java
package CustomerDB; //customer 테이블의 데이터를 표현할 클래스 public class Customer { //변수명은 특별한 경우가 아니면 테이블의 컬럼 이름을 그래도 사용 private String customer_id; private String name; private String email; private String tel; private String joidate; public Customer() { super(); // TODO 자동 생성된 생성자 스텁 } public Customer(String customer_id, String name, String email, String tel, String joidate) { super(); this.customer_id = customer_id; this.name = name; this.email = email; this.tel = tel; this.joidate = joidate; } public String getCustomer_id() { return customer_id; } public void setCustomer_id(String customer_id) { this.customer_id = customer_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getJoidate() { return joidate; } public void setJoidate(String joidate) { this.joidate = joidate; } @Override public String toString() { return "Customer [customer_id=" + customer_id + ", name=" + name + ", email=" + email + ", tel=" + tel + ", joidate=" + joidate + "]"; } //디버깅을 위한 메서드 }
Main.java
package CustomerDB; public class Main { public static void main(String[] args) { // TODO 자동 생성된 메소드 스텁 //new CustomerDBUse(); //new CopyOfCustomerDBUse_1(); new CopyOfCustomerDBUse_hachmap(); } }
java String Calss (0) | 2015.03.18 |
---|---|
[JAVA] SocketServer (0) | 2014.11.18 |
[JAVA] Mysql DB 접속하기(Connect) (0) | 2014.11.18 |
[JAVA] Oracle DB 접속 후 Insert,select 하기 (0) | 2014.11.18 |
[JAVA] oracle DB 접속하기 (0) | 2014.11.18 |
package mysql_DB; import java.sql.*; public class MySQLconnect { public static void main(String[] args) { // TODO 자동 생성된 메소드 스텁 try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("클래스 로드 성공"); Connection con = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/db", "id", "password"); System.out.println("접속 성공"); con.close(); } catch (Exception e) { System.out.println(e.getMessage()); } finally { } } }
[JAVA] SocketServer (0) | 2014.11.18 |
---|---|
[JAVA] JFrame 이용하여 Mysql 접속 후 프로그램 생성 (0) | 2014.11.18 |
[JAVA] Oracle DB 접속 후 Insert,select 하기 (0) | 2014.11.18 |
[JAVA] oracle DB 접속하기 (0) | 2014.11.18 |
[JAVA] xml 파싱(Parsing) 하기 (0) | 2014.11.18 |
import java.sql.*; public class OracleDB { public static void main(String[] args) { // 1. 데이터베이스 연동 클래스 로드 try{ Class.forName("oracle.jdbc.driver.OracleDriver"); } catch(Exception e){ System.out.println(e.getMessage()); //프로그램 정상 종료 System.exit(0); } //2. 데이터베이스에 접속해서 test1 테이블의 데이터 읽기 //데이터베이스에 접속하기 위한 변수 Connection con = null; //SQL 구문을 실행하기 위한 변수 Statement stmt = null; //Select 구문 실행했을 때 결과를 저장하기 위한 변수 ResultSet rs = null; //삽입을 위한 Statement 변수 선언 PreparedStatement pstmt = null; try{ con = DriverManager.getConnection( "jdbc:oracle:thin:@127.0.0.1:1521:orcl", "id","password"); //sql 문장을 가지고 PreparedStatement 객체 생성 pstmt = con.prepareStatement( "insert into test1 values(id_sequence.nextval, ?)"); //?에 데이터를 바인딩 pstmt.setString(1, "이순신"); //실행 int result = pstmt.executeUpdate(); System.out.println("영향 받은 행의 개수:" + result); //sql 구문을 실행할 수 있는 객체 생성 stmt = con.createStatement(); //select 구문을 실행 rs = stmt.executeQuery("select * from test1"); //데이터가 있을 때 if(rs.next()){ do{ System.out.println(rs.getInt(1) + ":" + rs.getString(2)); }while(rs.next()); } else{ System.out.println("읽은 데이터가 없습니다."); } } catch(Exception e){ System.out.println(e.getMessage()); } finally{ try{ if(rs != null)rs.close(); if(stmt != null)stmt.close(); if(con != null)con.close(); } catch(Exception e){} } } }
[JAVA] JFrame 이용하여 Mysql 접속 후 프로그램 생성 (0) | 2014.11.18 |
---|---|
[JAVA] Mysql DB 접속하기(Connect) (0) | 2014.11.18 |
[JAVA] oracle DB 접속하기 (0) | 2014.11.18 |
[JAVA] xml 파싱(Parsing) 하기 (0) | 2014.11.18 |
[JAVA] 간단한 UDP server, client (0) | 2014.11.18 |
import java.sql.*; import java.util.*; public class RunProc { public static void main(String arg[]) { Common.loadDrover(); Connection con = null; CallableStatement cstmt = null; try { con = DriverManager.getConnection( "jdbc::oracle:thin:@127.0.0.1:1521:orcl", "사용자아이디", "사용자 패스워드"); System.out.print("저장할 메시지: "); Scanner sc = new Scanner(System.in); String msg = sc.nextLine(); sc.close(); cstmt = con.prepareCall("{call myproc(?)}"); cstmt.setString(1, msg); cstmt.executeQuery(); } catch (Exception e) { System.out.println(e.getMessage()); } finally { try { if (cstmt != null) cstmt.close(); if (con != null) con.close(); } catch (Exception e) { } } } }
[JAVA] Mysql DB 접속하기(Connect) (0) | 2014.11.18 |
---|---|
[JAVA] Oracle DB 접속 후 Insert,select 하기 (0) | 2014.11.18 |
[JAVA] xml 파싱(Parsing) 하기 (0) | 2014.11.18 |
[JAVA] 간단한 UDP server, client (0) | 2014.11.18 |
[JAVA] Thread 를 사용하여 URL 웹 파일 다운로드 (0) | 2014.11.18 |
DomThread.java
package xml_pasing; import java.io.*; import java.net.*; import java.util.*; import javax.xml.parsers.*; import org.w3c.dom.*; public class DomThread extends Thread { // 다운로드 받은 문자열을 저장할 변수 String xml; // 파싱한 결과를 저정할 ArrayList //첫번째 방법 ArrayListdata = new ArrayList (); //두번째 방법 ArrayList > data_1 = new ArrayList >(); // 스레드로 동작할 메서드 public void run() { // 다운로드 받는 도중 데이터를 저장할 변수 StringBuilder sBuffer = new StringBuilder(); // 다운로드 처리 try { // 다운로드 받을 변수 String urlAddr = "http://www.kma.go.kr/weather/forecast/mid-term-xml.jsp?stnId=109"; URL url = new URL(urlAddr); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); if (conn != null) { // 연결에 대한 설정 conn.setConnectTimeout(10000); conn.setUseCaches(false); // 정상적으로 연결에 성명하면 if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { // 줄 단위로 읽어오기 위한 BufferedReader 객체 생성 InputStreamReader isr = new InputStreamReader( conn.getInputStream()); BufferedReader br = new BufferedReader(isr); while (true) { String line = br.readLine(); if (line == null) break; sBuffer.append(line); } br.close(); conn.disconnect(); xml = sBuffer.toString(); } } } catch (Exception e) { System.out.println(e.getMessage()); } // xml이 가진 문자열을 파싱 try { if (xml != null) { // xml을 파싱해주는 객체를 생성 DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder documentBuilder = factory.newDocumentBuilder(); // xml 문자열은 InputStream으로 변환 InputStream is = new ByteArrayInputStream(xml.getBytes()); // 파싱 시작 Document doc = documentBuilder.parse(is); // 최상위 노드 찾기 Element element = doc.getDocumentElement(); // 원하는 태그 데이터 찾아오기 NodeList items = element.getElementsByTagName("tmx"); NodeList items1 = element.getElementsByTagName("tmn"); NodeList items2 = element.getElementsByTagName("reliability"); // 데이터 개수 찾이오기 int n = items.getLength(); for (int i = 0; i < n; i++) { HashMap map = new HashMap (); Node item = items.item(i); Node text = item.getFirstChild(); String itemValue = text.getNodeValue(); map.put("최고온도", itemValue); Node item1 = items1.item(i); Node text1 = item1.getFirstChild(); String itemValue1 = text1.getNodeValue(); map.put("최저온도", itemValue1); Node item2 = items2.item(i); Node text2 = item2.getFirstChild(); String itemValue2 = text2.getNodeValue(); map.put("신뢰도", itemValue2); // 찾은 데이터 datadp 추가 data_1.add(map); data.add(new Data_tansfer(itemValue,itemValue1,itemValue2)); } } } catch (Exception e) { System.out.println(e.getMessage()); } System.out.println(data); System.out.println(data_1); } }
Data_tansfer.java
package xml_pasing; import java.io.*; public class Data_tansfer implements Serializable{ private String tmx; private String tmn; private String reliability; public Data_tansfer() { super(); // TODO 자동 생성된 생성자 스텁 } public String getTmx() { return tmx; } public void setTmx(String tmx) { this.tmx = tmx; } public String getTmn() { return tmn; } public void setTmn(String tmn) { this.tmn = tmn; } public String getReliability() { return reliability; } public void setReliability(String reliability) { this.reliability = reliability; } @Override public String toString() { return "Data_tansfer [tmx=" + tmx + ", tmn=" + tmn + ", reliability=" + reliability + "]"; } public Data_tansfer(String tmx, String tmn, String reliability) { this.tmx = tmx; this.tmn = tmn; this.reliability = reliability; } }
Dom_main.java
package xml_pasing; public class Dom_main { public static void main(String[] args) { // TODO 자동 생성된 메소드 스텁 DomThread th = new DomThread(); th.start(); } }
[JAVA] Oracle DB 접속 후 Insert,select 하기 (0) | 2014.11.18 |
---|---|
[JAVA] oracle DB 접속하기 (0) | 2014.11.18 |
[JAVA] 간단한 UDP server, client (0) | 2014.11.18 |
[JAVA] Thread 를 사용하여 URL 웹 파일 다운로드 (0) | 2014.11.18 |
[JAVA] UDP 를 사용한 파일 전송 (0) | 2014.11.18 |