안드로이드 개발 질문/답변
(글 수 45,052)
package com.ast;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class daebudo01 extends Activity
{
boolean cDaebudo = true;
String wIntent; // 인텐트 값을 저장하는 변수
String wTel; // 전화번호를 저장하는 변수
String myId;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.daebudo01);
// 각각의 위젯을 불러온다
ImageView ciHome = (ImageView)findViewById(R.id.btn_home);
ImageView ciDaebudo = (ImageView)findViewById(R.id.btn_1);
ImageView ciSangtae = (ImageView)findViewById(R.id.btn_2);
ImageView ciMuse = (ImageView)findViewById(R.id.btn_3);
ImageView back = (ImageView)findViewById(R.id.back);
ImageView stop = (ImageView)findViewById(R.id.stop);
ImageView iDaebudo = (ImageView)findViewById(R.id.daebudo01s);
WebView browser = (WebView)findViewById(R.id.webkit);
ImageView bmenu = (ImageView)findViewById(R.id.bmenu);
Button bb = (Button)findViewById(R.id.bb);
//------------------------------
// button Click
//------------------------------
bb.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
// 사용자가 입력한 내용을 전역변수에 저장한다
myId = ((EditText)(findViewById(R.id.et))).getText().toString();
HttpPostData(); // 서버와 자료 주고받기
}
});
// 하단 메뉴 버튼 이벤트
ciHome.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
Intent intent = new Intent(daebudo01.this, ast.class);
startActivity(intent);
return false;
}
});
ciDaebudo.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
Intent intent = new Intent(daebudo01.this, daebudo.class);
startActivity(intent);
return false;
}
});
ciSangtae.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
Intent intent = new Intent(daebudo01.this, sangtae.class);
startActivity(intent);
return false;
}
});
ciMuse.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
Intent intent = new Intent(daebudo01.this, muse.class);
startActivity(intent);
return false;
}
});
// 대부도 하단 이미지 변경
if (cDaebudo)
{
ciDaebudo.setImageResource(R.drawable.btn_1_on);
}
// 뒤로가기
back.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
finish(); // 액티비티를 종료합니다.
}
});
// Intent 값을 받는다,전달된 Intent 에 따라 이미지가 다르게 나타난다.
Intent intent = getIntent();
wIntent = intent.getStringExtra("daebudo");
if (wIntent.equals("daebudo01"))
{
iDaebudo.setImageResource(R.drawable.daebudo01s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo02"))
{
iDaebudo.setImageResource(R.drawable.daebudo02s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo03"))
{
iDaebudo.setImageResource(R.drawable.daebudo03s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo04"))
{
iDaebudo.setImageResource(R.drawable.daebudo04s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo05"))
{
iDaebudo.setImageResource(R.drawable.daebudo05s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo06"))
{
iDaebudo.setImageResource(R.drawable.daebudo06s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo07"))
{
iDaebudo.setImageResource(R.drawable.daebudo07s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo08"))
{
iDaebudo.setImageResource(R.drawable.daebudo08s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo09"))
{
iDaebudo.setImageResource(R.drawable.daebudo09s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo10"))
{
iDaebudo.setImageResource(R.drawable.daebudo10s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo11"))
{
iDaebudo.setImageResource(R.drawable.daebudo12s);
wTel = "0314813059";
} else if (wIntent.equals("daebudo12"))
{
iDaebudo.setImageResource(R.drawable.daebudo12s);
wTel = "0314813059";
} else
{
iDaebudo.setImageResource(R.drawable.daebudo13s);
wTel = "0314813059";
}
// 다이렉트로 전화걸기
bmenu.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+wTel)));
}
});
// 3G, WIFI 연결 여부 확인
ConnectivityManager manager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
// 3G WIFI 연결여부 Toast로 확인
//Toast.makeText(this,"mobile[" + mobile.isConnected() + "]wifi["+ wifi.isConnected() + "]", 1).show();
if (mobile.isConnected() ||wifi.isConnected())
{
// WIFI, 3G 어느곳에도 연결되지 않았을때
//Log.d("showLoginDialog", "@@Network connect success");
} else
{
//Log.d("showLoginDialog", "@@Network connect fail");
stop.setVisibility(ImageView.VISIBLE);
browser.setVisibility(WebView.GONE);
}
// 웹킷 브라우저
browser.loadUrl("http://http://test.digitaldrama.co.kr/test/daebudo02s.php");
browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
browser.getSettings().setJavaScriptEnabled(true);
}
//------------------------------
// Http Post로 주고 받기
//------------------------------
public void HttpPostData() {
try {
//--------------------------
// URL 설정하고 접속하기
//--------------------------
URL url = new URL("http://http://test.digitaldrama.co.kr/test/daebudo02s.php"); // URL 설정
HttpURLConnection http = (HttpURLConnection) url.openConnection(); // 접속
//--------------------------
// 전송 모드 설정 - 기본적인 설정이다
//--------------------------
http.setDefaultUseCaches(false);
http.setDoInput(true); // 서버에서 읽기 모드 지정
http.setDoOutput(true); // 서버로 쓰기 모드 지정
http.setRequestMethod("POST"); // 전송 방식은 POST
// 서버에게 웹에서 <Form>으로 값이 넘어온 것과 같은 방식으로 처리하라는 걸 알려준다
http.setRequestProperty("content-type", "application/x-www-form-urlencoded");
//--------------------------
// 서버로 값 전송
//--------------------------
StringBuffer buffer = new StringBuffer();
buffer.append("id").append("=").append(myId); // php 변수에 값 대입
OutputStreamWriter outStream = new OutputStreamWriter(http.getOutputStream(), "EUC-KR");
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer.toString());
writer.flush();
//--------------------------
// 서버에서 전송받기
//--------------------------
InputStreamReader tmp = new InputStreamReader(http.getInputStream(), "EUC-KR");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) { // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
builder.append(str + "\n"); // View에 표시하기 위해 라인 구분자 추가
}
Toast.makeText(daebudo01.this, "전송 후 결과 받음", 0).show();
} catch (MalformedURLException e) {
//
} catch (IOException e) {
//
} // try
} // HttpPostData
}
이거인데 엑티비티가 죽어버립니다..
로그캣에는 아무것도 뜨지가 않구요..