0714
android的学习接近尾声?
然后是总结和复习,利用思维导图把我们android所有的东西总结下来,理出一条线
组件,API,等。3天,下周三,IMindMap,
--------------
通过Web Service进行网络编程,是在互联网上可调其他的远程,跟语言、平台无关,
传输协议【SOAP】,Simple Object Access Protocol简单对象访问协议,请求的是HTTP,发送和接收的是SOAP协议,
Web服务器描述语言【WSDL】,Web Service Description Language,XML文件(⊙o⊙)
城市天气,服务,电子书上。
---------------
十六章Android中的GPS应用
copy【TestLocationActivity】代码
--------【记住导自己的过程】,有道笔记是什么?云储存?
明天,传感器
个很怀念的名词呢~
/** * 测试location界面 * * @author Administrator * */ public class TestLocationActivity extends Activity implements OnClickListener, LocationListener { private TextView showProviderView; private LocationManager locationManager; private Location location; private Button getProviderBtn,addProviderBtn; private TextView showEditText; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_location_); getProviderBtn = (Button) findViewById(R.id.test_loaction_main_btn_getprovider); addProviderBtn=(Button) findViewById(R.id.test_loaction_main_btn_addPoint); showProviderView = (TextView) findViewById(R.id.test_loaction_main_tv_showlocation); showEditText=(TextView) findViewById(R.id.test_loaction_main_tv_show); // 获取定位管理器 locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); getProviderBtn.setOnClickListener(this); addProviderBtn.setOnClickListener(this); // //注册跟踪位置的监听器 // locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 1, new LocationListener() { // public void onStatusChanged(String provider, int status, Bundle extras) { // } // //当provider能够使用的时候调用 // public void onProviderEnabled(String provider) { // getLocationInfo(locationManager.getLastKnownLocation(provider)); // } // public void onProviderDisabled(String provider) { // } // //当位置发生改变时调用 // public void onLocationChanged(Location location) { // getLocationInfo(location); // } // }); } @Override protected void onResume() { super.onResume(); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 1, this); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); locationManager.removeUpdates(this); } @Override public void onClick(View v) { if (v == getProviderBtn) { // 获取所有的定位方式 List providerList = locationManager.getAllProviders(); StringBuffer sb = new StringBuffer(); sb.append("获取所有的定位方式:" + providerList + "\n"); // 获取可用的定位方式 List enableProviderList = locationManager.getProviders(true); sb.append("获取可用的定位方式:" + enableProviderList + "\n"); // 根据条件或定位方式 Criteria criteria = new Criteria(); criteria.setCostAllowed(true);// 获取免费的定位方式 criteria.setAltitudeRequired(true);// 获取能够提供高度的定位方式 criteria.setBearingRequired(true);// 获取能够提供方向的定位方式 List criteriaProviderList = locationManager.getProviders(criteria, true); sb.append("获取根据条件过滤的定位方式:" + criteriaProviderList + "\n"); // 通过获取的定位方式来得到定位信息 if (criteriaProviderList.contains(LocationManager.GPS_PROVIDER)) { location = locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER); } else if (criteriaProviderList .contains(LocationManager.NETWORK_PROVIDER)) { location = locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); } String locationStr = getLocationInfo(location); sb.append("位置信息:\n" + locationStr); } if (v==addProviderBtn) { double latitude=40;//纬度 double longitude=50;//经度 float radius=10000;//半径10km long expiration=-1l;//警告的频率 Intent intent =new Intent(this,AlertReceiver.class);//"com.lovo.an0714.location.alert" PendingIntent pi=PendingIntent.getBroadcast(this, 0, intent, 0); locationManager.addProximityAlert(latitude, longitude, radius, expiration, pi); Toast.makeText(this, "添加临近点成功", 3000).show(); } } /** * 获取定位信息 * * @param location */ private String getLocationInfo(Location location2) { StringBuffer sb = new StringBuffer(); if (location != null) { // 得到精度 sb.append("经度:" + location.getLongitude()); sb.append("纬度:" + location.getLatitude()); sb.append("高度:" + location.getAltitude()); sb.append("方向:" + location.getBearing()); sb.append("速度:" + location.getSpeed()); sb.append("精确度:" + location.getAccuracy()); // showEditText.setText(sb.toString()); } else { // sb.append("");// 没有获取则清空 sb.append("没有获取位置信息"); // showEditText.setText(sb.toString()); } showProviderView.setText(sb); return sb.toString(); } @Override public void onLocationChanged(Location location) { this.location = location; Log.i("onLocationChanged", location+""); } @Override public void onProviderDisabled(String provider) { } @Override public void onProviderEnabled(String provider) { if(location == null){ location = locationManager.getLastKnownLocation(provider); } } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } }
好多服务,看起来很方便呢,关键是要多去用,比如若定位自己手机,或亲友的~做什么圣光和暗牧的事就能多个保障了哈哈~
小平板重力感应坏了,我去啊,这才几天...泪奔..别说我躺着看横屏很方便了.但是这是bug啊bug懂么亲?该治!!
妈妈昨天在吐槽我的恋爱问题...额..