자바부분은
package com.user2.ecobeauty;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
//추가
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class NextPage1_1 extends Activity {//추가
EditText mResult;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.nextpage1_1);
mResult = (EditText)findViewById(R.id.result);
}
public void onClick(View v) { String Json = DownloadHtml("http://210.205.60.53:8080/dbdb.php"); Log.i("Json : " , Json); try{String Result = "상품목록: \n";
JSONArray ja = new JSONArray(Json);
for(int j=0; j<ja.length(); j++){JSONObject order = ja.getJSONObject(j);
Result += "상품코드 : " + order.getInt("number") + " " + "상품명 : " + order.getString("name") + " " + "가격 : " + order.getString("pri") + " " + "\n\n";
}
mResult.setText(Result);
} catch(JSONException e) {Toast.makeText(v.getContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
;
String DownloadHtml(String addr){StringBuilder jsonHtml = new StringBuilder();
try{// 연결 url 설정
URL url = new URL("addr);// 커넥션 객체 생성
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
// 연결되었으면.
if(conn != null){conn.setConnectTimeout(10000);
conn.setUseCaches(false);
// 연결되었음 코드가 리턴되면.
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "EUC-KR"));
for(;;){// 웹상에 보여지는 텍스트를 라인단위로 읽어 저장.
String line = br.readLine();
if(line == null) break;
// 저장된 텍스트 라인을 jsonHtml에 붙여넣음
jsonHtml.append(line + "\n");
}
br.close();
}
conn.disconnect();
}
} catch(Exception ex){Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG).show();
}
return jsonHtml.toString();
}
}
주석을 여기저기 빼먹어서 죄송합니다.
========================================================================================================================
PHP구문은
<?
// 데이터베이스 접속 문자열. (db위치, 유저 이름, 비밀번호)
$connect=mysql_connect( "localhost", "root1", "1212") or
die( "SQL server에 연결할 수 없습니다.");
// 데이터베이스 선택
mysql_select_db("hwa",$connect);
// 세션 시작
session_start();
// 쿼리문 생성
$sql = "select * from list order by group_num desc, ord asc";
// 쿼리 실행 결과를 $result에 저장
$result = mysql_query($sql, $connect);
// JSONArray 형식으로 만들기 위해서...
echo "[";
// 반환된 각 레코드별로 JSONArray 형식으로 만들기.
for ($i=$start; $i<$start+$scale && $i < $total_record; $i++)
{
// 가져올 레코드로 위치(포인터) 이동
mysql_data_seek($result, $i);
// 하나의 레코드 가져오기
$row = mysql_fetch_array($result);
// 변수 설명
// $cat 상품코드
// $name 상품이름
// $pri 상품가격
// echo로 출력
echo "{\"cat\":$row[cat],\"name\":\"$row[name]\",\"pri\":\"$row[pri]\"}";
echo ",";
}
// JSONArray의 마지막 닫기
echo "]";
?>
========================================================================================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="입욕제" />
<EditText
android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="12dp"/>
</LinearLayout>
========================================================================================================================
결과창 은 파일 첨부 할께요
========================================================================================================================
과제 때문에 벌써 몇일째 맨땅에 헤딩 중인데요 ㅜㅡㅜ
맨땅에 헤딩한지 일주일째구요
도움좀 빌릴께요 정말 머리가 아프네요
서버에 있는 hwa라는 db에서 정보를 받아 와서 화면에 뿌릴려고 하는데요
그냥 화면이 먹통이네요 PHP단에서 부터 잘못 되었을까요 ㅜㅜ?
php에서 잘못 되었더라도
상품목록
상품명
가격
이런것들은 출력이 되야 되는데
힘드네요 도움좀 주세요
실행이 되나요?
에러가 나지않나요? 이상하네요 onClick메소드는 OnClickListener가 있어야 하는데..
이게 만약 실행된다면
뭘클릭해야 editText에 출력이 되는지
클릭이 되는 객체를 지정안해주신것같은데요..
그러니까 빠쿄님께서 원하시는 플로우는
1. 어떤 것을 클릭하면
2. DownloadHtml()함수가 실행되서, DB를 읽어오고
3. 읽어온 DB를 EditText에 출력한다.
이정도 인것같은데요
1번에서부터 문제가 있네요
어떤것을 클릭해야하는지 정해주시지 않았네요^^
내용이 저한테는 기네요. 근데 저 PHP코드 저런 식으로 코딩해도 전혀 문제가 되지 않나요?
// 반환된 각 레코드별로 JSONArray 형식으로 만들기. for ($i=$start; $i<$start+$scale && $i < $total_record; $i++) { // 가져올 레코드로 위치(포인터) 이동 mysql_data_seek($result, $i); // 하나의 레코드 가져오기 $row = mysql_fetch_array($result);




백짓장에서 부터 여기까지 왔습니다. 도움좀 구할께요 ㅠㅡㅠ
담배만 늘어 가네요