【so easy~】 GPS的那点儿事儿~!
http://androiddada.iteye.com/
最近发现微信等应用都有找附近的人 的新功能。
遍开始想看看gps
?
于是找了些网上的代码,自己试了试:
?
?
public class GPS_testActivity extends Activity {/** Called when the activity is first created. */ private LinearLayout mainView=null; private TextView infoView=null; private TextView locationView=null; private LocationManager locationManager=null; private LocationListener locationListener=null; @Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mainView=new LinearLayout(this); mainView.setOrientation(LinearLayout.VERTICAL); infoView=new TextView(this); mainView.addView(infoView); locationView=new TextView(this); mainView.addView(locationView); setContentView(mainView); locationManager_init(); } /*locationManager初始化*/ void locationManager_init(){ locationManager =(LocationManager)this.getSystemService(GPS_testActivity.LOCATION_SERVICE); locationListener_init(); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000,0, locationListener); } /*locatonListener初始化*/ void locationListener_init(){ locationListener=new LocationListener(){ //位置变化时触发 public void onLocationChanged(Location location) { System.out.println("onLocationChanged"); locationView.setText("时间:"+location.getTime()+"\n"); locationView.append("经度:"+location.getLongitude()+"\n"); locationView.append("纬度:"+location.getLatitude()+"\n"); locationView.append("海拔:"+location.getAltitude()+"\n"); } //gps禁用时触发 public void onProviderDisabled(String provider) { System.out.println("onProviderDisabled"); Toast.makeText(GPS_testActivity.this, "请开启GPS!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS); startActivityForResult(intent, 0); // 此为设置完成后返回到获取界面 } //gps开启时触发 public void onProviderEnabled(String provider) { Toast.makeText(GPS_testActivity.this, "GPS正常", Toast.LENGTH_SHORT).show(); } //gps状态变化时触发 public void onStatusChanged(String provider, int status,Bundle extras) { System.out.println("onStatusChanged"); if(status==LocationProvider.AVAILABLE){ infoView.setText("当前GPS状态:可见的\n"); }else if(status==LocationProvider.OUT_OF_SERVICE){ infoView.setText("当前GPS状态:服务区外\n"); }else if(status==LocationProvider.TEMPORARILY_UNAVAILABLE){ infoView.setText("当前GPS状态:暂停服务\n"); } } }; } }
?布局很简单几个textView显示而已,就不上了
?
客户端得到gps数据传给服务处理。。最后显示出服务返回的数据 搞定!用户看起来很神奇的功能,在代码里并不复杂。
不过服务器端处理数据稍微麻烦写,需要根据经纬度找出你附近的人儿~
http://androiddada.iteye.com/
好了,希望对朋友们有用~