<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFD3D7DF" android:orientation="vertical" > <LinearLayout android:id="@+id/location" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dip" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:layout_marginTop="20dip" android:background="@drawable/bg_frame" android:gravity="center_vertical" android:orientation="vertical" android:paddingBottom="2dip" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="10dip" > <TextView android:id="@+id/providerTitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="获取经纬度:" android:textColor="#007979" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioGroup android:id="@+id/providerGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/gpsProvide" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="gps" android:textColor="#005AB5" /> <RadioButton android:id="@+id/networkProvide" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="基站" android:textColor="#005AB5" /> </RadioGroup> <ImageButton android:id="@+id/bestLocationProId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/loction" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="最佳选择方式:" android:textColor="#005AB5" /> <TextView android:id="@+id/locationProId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#8F4586" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="经度:" android:textColor="#005AB5" /> <EditText android:id="@+id/latEditTextId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:enabled="false" android:textColor="#8F4586" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="纬度:" android:textColor="#005AB5" /> <EditText android:id="@+id/lonEditTextId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:enabled="false" android:textColor="#8F4586" /> </LinearLayout> </LinearLayout> </LinearLayout>
package com.talkweb.mobileapp; import java.text.DecimalFormat; import android.app.Activity; import android.content.Context; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.ImageButton; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.RadioGroup.OnCheckedChangeListener; /** * * @author Mr.Z * @time 2012-5-16 * */ public class LocationappActivity extends Activity { private ImageButton btnGetBestLocationPro; private EditText txtLat; private EditText txtLon; private TextView txtLocationPro; private LocationManager locationManager; private DecimalFormat format; private String provider; private RadioGroup providerGroup; private RadioButton radGps; private RadioButton radNetwork; private String latStr; private String lonStr; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.main); btnGetBestLocationPro = (ImageButton) findViewById(R.id.bestLocationProId); btnGetBestLocationPro.setOnClickListener(new GetBestLocationProListener()); txtLat = (EditText) findViewById(R.id.latEditTextId); txtLon = (EditText) findViewById(R.id.lonEditTextId); txtLocationPro = (TextView) findViewById(R.id.locationProId); format = new DecimalFormat("#.000000"); locationManager = (LocationManager) LocationappActivity.this.getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setPowerRequirement(Criteria.POWER_LOW); criteria.setAltitudeRequired(false); criteria.setSpeedRequired(false); criteria.setCostAllowed(false); provider = locationManager.getBestProvider(criteria, false); txtLocationPro.setText(provider); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new TestLocationListener()); providerGroup = (RadioGroup) findViewById(R.id.providerGroup); radGps = (RadioButton) findViewById(R.id.gpsProvide); radNetwork = (RadioButton) findViewById(R.id.networkProvide); providerGroup.setOnCheckedChangeListener(new LocationProvideCheckedlistener()); if (provider.equals(LocationManager.GPS_PROVIDER)) { System.out.println("gps"); radGps.setSelected(true); radGps.setChecked(true); } else if (provider.equals(LocationManager.NETWORK_PROVIDER)) { System.out.println("network"); radNetwork.setSelected(true); radNetwork.setChecked(true); } } private class GetBestLocationProListener implements OnClickListener { @Override public void onClick(View v) { Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setPowerRequirement(Criteria.POWER_LOW); criteria.setAltitudeRequired(false); criteria.setSpeedRequired(false); criteria.setCostAllowed(false); String provider = locationManager.getBestProvider(criteria, false); txtLocationPro.setText(provider); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new TestLocationListener()); } } private class TestLocationListener implements LocationListener { @Override public void onLocationChanged(Location location) { double lat = location.getLatitude(); double lon = location.getLongitude(); latStr = format.format(lat); lonStr = format.format(lon); txtLat.setText(latStr); txtLon.setText(lonStr); } @Override public void onProviderDisabled(String provider) { } @Override public void onProviderEnabled(String provider) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } } private class LocationProvideCheckedlistener implements OnCheckedChangeListener { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (checkedId == radGps.getId()) { locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new TestLocationListener()); } else if (checkedId == radNetwork.getId()) { locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new TestLocationListener()); } } } }
權限:
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.BLUETOOTH" />
更多 android手機取得gps和基地台的經中文緯度位址實現代碼相關文章請關注PHP網更多 android手機取得gps和基地台的經中文等級位址實現代碼相關文章請關注PHP網更多 android手機取得gps與基地台的經中文緯度位址實現代碼相關文章請關注PHP網更多 android手機取得gps與基地台的經中文緯度位址實現代碼相關文章請關注PHP網更多 android手機取得gps與基地台的經中文緯度位址實現代碼相關文章請關注PHP網更多 android手機取得gps與基地台的經中文緯度位址實現代碼相關網!

JVMmanagesgarbagecollectionacrossplatformseffectivelybyusingagenerationalapproachandadaptingtoOSandhardwaredifferences.ItemploysvariouscollectorslikeSerial,Parallel,CMS,andG1,eachsuitedfordifferentscenarios.Performancecanbetunedwithflagslike-XX:NewRa

Java代碼可以在不同操作系統上無需修改即可運行,這是因為Java的“一次編寫,到處運行”哲學,由Java虛擬機(JVM)實現。 JVM作為編譯後的Java字節碼與操作系統之間的中介,將字節碼翻譯成特定機器指令,確保程序在任何安裝了JVM的平台上都能獨立運行。

Java程序的編譯和執行通過字節碼和JVM實現平台獨立性。 1)編寫Java源碼並編譯成字節碼。 2)使用JVM在任何平台上執行字節碼,確保代碼的跨平台運行。

Java性能与硬件架构密切相关,理解这种关系可以显著提升编程能力。1)JVM通过JIT编译将Java字节码转换为机器指令,受CPU架构影响。2)内存管理和垃圾回收受RAM和内存总线速度影响。3)缓存和分支预测优化Java代码执行。4)多线程和并行处理在多核系统上提升性能。

使用原生庫會破壞Java的平台獨立性,因為這些庫需要為每個操作系統單獨編譯。 1)原生庫通過JNI與Java交互,提供Java無法直接實現的功能。 2)使用原生庫增加了項目複雜性,需要為不同平台管理庫文件。 3)雖然原生庫能提高性能,但應謹慎使用並進行跨平台測試。

JVM通過JavaNativeInterface(JNI)和Java標準庫處理操作系統API差異:1.JNI允許Java代碼調用本地代碼,直接與操作系統API交互。 2.Java標準庫提供統一API,內部映射到不同操作系統API,確保代碼跨平台運行。

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器