안드로이드로 위도 경도 가져오는데 자꾸 오류 납니다 ㅠ.ㅠ

겔탭10.1이나 디자이어hd에서는 잘되는데 겔3에서는 오류나네요...

겔3는 4.0.3인가??

암튼 아이스크림이고

다른거는 2.3인가 되는데

겔3에서만 오류가 나네요 ㅠ.ㅠ

오류 메세지는

10-30 17:57:17.815: W/dalvikvm(13589): threadid=1: thread exiting with uncaught exception (group=0x40c6e1f8)
10-30 17:57:17.815: E/AndroidRuntime(13589): FATAL EXCEPTION: main
10-30 17:57:17.815: E/AndroidRuntime(13589): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.csctab/com.example.csctab.CSCTab}: java.lang.NullPointerException
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.ActivityThread.access$600(ActivityThread.java:128)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.os.Handler.dispatchMessage(Handler.java:99)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.os.Looper.loop(Looper.java:137)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.ActivityThread.main(ActivityThread.java:4536)
10-30 17:57:17.815: E/AndroidRuntime(13589): at java.lang.reflect.Method.invokeNative(Native Method)
10-30 17:57:17.815: E/AndroidRuntime(13589): at java.lang.reflect.Method.invoke(Method.java:511)
10-30 17:57:17.815: E/AndroidRuntime(13589): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
10-30 17:57:17.815: E/AndroidRuntime(13589): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
10-30 17:57:17.815: E/AndroidRuntime(13589): at dalvik.system.NativeStart.main(Native Method)
10-30 17:57:17.815: E/AndroidRuntime(13589): Caused by: java.lang.NullPointerException
10-30 17:57:17.815: E/AndroidRuntime(13589): at com.example.csctab.CSCTab.onCreate(CSCTab.java:78)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.Activity.performCreate(Activity.java:4533)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
10-30 17:57:17.815: E/AndroidRuntime(13589): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
10-30 17:57:17.815: E/AndroidRuntime(13589): ... 11 more

=====================================================================================

이렇게 나오구요

소스는

package com.example.csctab;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class CSCTab extends Activity {

EditText m_id, m_pass;
String mId, mPass, result;
CheckBox saveCheck;
ImageView btn_Login, btn_end;

Double latitude, longitude;

Date today = new Date();

SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");

String day = date.format(today);

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_csctab);

//위도 경도 가져오기
LocationManager locationManager;
String context = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(context);

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);// 정확도
criteria.setPowerRequirement(Criteria.POWER_LOW); // 전원 소비량
criteria.setAltitudeRequired(false); // 고도 사용여부
criteria.setBearingRequired(false); //
criteria.setSpeedRequired(false); // 속도
criteria.setCostAllowed(true); // 금전적비용

String provider = locationManager.getBestProvider(criteria, true);
Location location1 = locationManager.getLastKnownLocation(provider);

latitude = location1.getLatitude(); // 위도
longitude = location1.getLongitude(); // 경도

m_id = (EditText)findViewById(R.id.editId);
m_pass = (EditText)findViewById(R.id.editPass);
btn_Login = (ImageView)findViewById(R.id.btnLogin);
btn_end = (ImageView)findViewById(R.id.btnLoginEnd);
saveCheck = (CheckBox)findViewById(R.id.IdPassSave);

//아이디 패스 저장 여부확인
SharedPreferences pref = getSharedPreferences("LOG", MODE_PRIVATE);

m_id.setText(pref.getString("mId", ""));
m_pass.setText(pref.getString("mPass", ""));

//저장 여부 확인하여 체크박스 체크하기
if(pref.getString("mId", "").length() > 0){
saveCheck.setChecked(true);
}

//각 버튼 이벤트

//로그인
btn_Login.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub

SharedPreferences pref = getSharedPreferences("LOG", MODE_PRIVATE);
Editor editor = pref.edit();

mId = m_id.getText().toString();
mPass = m_pass.getText().toString();

if(saveCheck.isChecked()){
//아이디&비번 값 저장
editor.putString("mId", mId);
editor.putString("mPass", mPass);
}else{
//아이디&비번 값 삭제
editor.remove("mId");
editor.remove("mPass");

}
editor.commit();

//로그인 정보 확인하기
if(mId.equals("") || mPass.equals("")){
Toast.makeText(CSCTab.this, "아이디나 패스워드를 입력하세요", Toast.LENGTH_SHORT).show();
return;
}else{

//post 전송을 위해 HttpConnect 클래스 호출
HttpConnect com = new HttpConnect( ) ;

Map<String, Object> params = new HashMap<String, Object>( ) ;
try {
mId = URLEncoder.encode(mId, "EUC-KR");
mPass = URLEncoder.encode(mPass, "EUC-KR");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

params.put( "mId", mId ) ;
params.put( "mPass", mPass ) ;
params.put("lat", latitude);
params.put("lng", longitude);

try
{
String rec = com.request( new URL(" "http://www.st2000.co.kr/android/login.php" ), "POST", params ) ;
Log.d( "=====", rec ) ;
}
catch (MalformedURLException e) { e.printStackTrace( ) ; }
catch (IOException e) { e.printStackTrace( ) ; }

String html;
html = com.DownloadHtml("http://www.st2000.co.kr/android/"+day+"/"+mId+".xml");

try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder1 = factory.newDocumentBuilder();
InputStream isteram = new ByteArrayInputStream(html.getBytes("utf-8"));
Document doc = builder1.parse(isteram);

Element order = doc.getDocumentElement();
NodeList items = order.getElementsByTagName("result");



Node item = items.item(0);
Node text = item.getFirstChild();
String ItemName = text.getNodeValue();

result = ItemName;

}catch(Exception e){
Toast.makeText(CSCTab.this, e.getMessage(), 0).show();

}

if(result.equals("1")){
Toast.makeText(CSCTab.this, "로그인 되었습니다.", 0).show();
/* 로그인 유지하기
SharedPreferences pref = getSharedPreferences("LOG", MODE_PRIVATE);
Editor editor = pref.edit();
editor.putString("LoginCheck", "YES");
editor.commit();
*/

//id 정보 저장
SharedPreferences pref1 = getSharedPreferences("Login", MODE_PRIVATE);
Editor editor1 = pref1.edit();
editor1.putString("LoginId", mId);
editor1.commit();
Intent intent = new Intent(CSCTab.this, TabMenu.class);
startActivity(intent);
finish();
}else if(result.equals("2")){
Toast.makeText(CSCTab.this, "비밀번호를 확인해 주세요", 0).show();

}else{
Toast.makeText(CSCTab.this, "가입 된 아이디가 아닙니다", 0).show();
}
}

}
});

//나가기
btn_end.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub

SharedPreferences pref = getSharedPreferences("LOG", MODE_PRIVATE);
Editor editor = pref.edit();

mId = m_id.getText().toString();
mPass = m_pass.getText().toString();

if(saveCheck.isChecked()){
//아이디&비번 값 저장
editor.putString("mId", mId);
editor.putString("mPass", mPass);
}else{
//아이디&비번 값 삭제
editor.remove("mId");
editor.remove("mPass");

}
editor.commit();

Intent intent = new Intent(CSCTab.this, StartPage.class);
startActivity(intent);
finish();
//android.os.Process.killProcess(android.os.Process.myPid());
}
});

}

// 백 버튼을 클릭했을 때 호출되는 메소드
public void onBackPressed() {
confirmExit();
}

// 어플리케이션 종료를 확인하는 메소드
public void confirmExit() {
new AlertDialog.Builder(this).setTitle("This Place")
.setMessage("종료하시겠습니까?")
.setPositiveButton("예", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
android.os.Process.killProcess(android.os.Process.myPid());
}
}).setNegativeButton("아니오", null).show();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_csctab, menu);
return true;
}

}
요거인데 오류나네요...

해결방법좀 알려주세요 ㅠ.ㅠ