package com.example.location import android.annotation.SuppressLint import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.Button import com.google.android.gms.common.ConnectionResult import com.google.android.gms.common.api.GoogleApiClient import com.google.android.gms.location.LocationServices import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity(), GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { // 宣告 private lateinit var aGoogleApiClient: GoogleApiClient @SuppressLint("MissingPermission") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 按下按鈕(Locate)時執行 val getLocation = findViewById<Button>(R.id.Locate) getLocation.setOnClickListener{ // 取得權限,是一個 sub-function getPermission() // 建立 GoogleApiClient 物件(服務?) aGoogleApiClient = GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(LocationServices.API) .build() // 得到 Location 結果 val aLocation = LocationServices.getFusedLocationProviderClient(this) aLocation.lastLocation.addOnCompleteListener(this){ task -> if(task.isSuccessful && task.result != null){ val aLatitude = task.result.latitude val aLongitude = task.result.longitude Latitude.text = aLatitude.toString() // Here get latitude. Longitude.text = aLongitude.toString() // Here get longitude. } } } } // ---------------------------------------- // // 取得權限,所有權限都可以寫進來,不確定是不是這樣就開啟。 private fun getPermission() { /* 正式寫法 if(android.support.v4.app.ActivityCompat.checkSelfPermission(this,android.Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED){ android.support.v4.app.ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION),34) } */ android.support.v4.app.ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION),34) // 看網路上有人給這樣的值,然後看起來可以跑 android.support.v4.app.ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.ACCESS_COARSE_LOCATION),34) // 看網路上有人給這樣的值,然後看起來可以跑 } // // 伴隨 addConnectionCallbacks 而來,不加會錯。 // 正常連接上要寫這邊,但我寫這邊沒有反應-.- override fun onConnected(p0: Bundle?) { // Do not thing } // // 伴隨 addConnectionCallbacks 而來,不加會錯。 override fun onConnectionSuspended(p0: Int) { // Do not thing } // // 伴隨 addOnConnectionFailedListener 而來,不加會錯。 override fun onConnectionFailed(p0: ConnectionResult) { // Do not thing } // ---------------------------------------- }
Standard input is empty
Main.java:1: error: ';' expected
package com.example.location
^
Main.java:3: error: ';' expected
import android.annotation.SuppressLint
^
Main.java:4: error: ';' expected
import android.support.v7.app.AppCompatActivity
^
Main.java:5: error: ';' expected
import android.os.Bundle
^
Main.java:6: error: ';' expected
import android.widget.Button
^
Main.java:7: error: ';' expected
import com.google.android.gms.common.ConnectionResult
^
Main.java:8: error: ';' expected
import com.google.android.gms.common.api.GoogleApiClient
^
Main.java:9: error: ';' expected
import com.google.android.gms.location.LocationServices
^
Main.java:10: error: ';' expected
import kotlinx.android.synthetic.main.activity_main.*
^
Main.java:12: error: '{' expected
class MainActivity : AppCompatActivity(), GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
^
Main.java:15: error: ';' expected
private lateinit var aGoogleApiClient: GoogleApiClient
^
Main.java:15: error: <identifier> expected
private lateinit var aGoogleApiClient: GoogleApiClient
^
Main.java:17: error: illegal start of type
@SuppressLint("MissingPermission")
^
Main.java:18: error: ';' expected
override fun onCreate(savedInstanceState: Bundle?) {
^
Main.java:18: error: <identifier> expected
override fun onCreate(savedInstanceState: Bundle?) {
^
Main.java:18: error: ';' expected
override fun onCreate(savedInstanceState: Bundle?) {
^
Main.java:18: error: illegal start of type
override fun onCreate(savedInstanceState: Bundle?) {
^
Main.java:18: error: <identifier> expected
override fun onCreate(savedInstanceState: Bundle?) {
^
Main.java:18: error: ';' expected
override fun onCreate(savedInstanceState: Bundle?) {
^
Main.java:19: error: illegal start of type
super.onCreate(savedInstanceState)
^
Main.java:19: error: <identifier> expected
super.onCreate(savedInstanceState)
^
Main.java:19: error: ';' expected
super.onCreate(savedInstanceState)
^
Main.java:19: error: illegal start of type
super.onCreate(savedInstanceState)
^
Main.java:19: error: ';' expected
super.onCreate(savedInstanceState)
^
Main.java:20: error: invalid method declaration; return type required
setContentView(R.layout.activity_main)
^
Main.java:20: error: <identifier> expected
setContentView(R.layout.activity_main)
^
Main.java:20: error: ';' expected
setContentView(R.layout.activity_main)
^
Main.java:23: error: illegal start of type
val getLocation = findViewById<Button>(R.id.Locate)
^
Main.java:23: error: '(' expected
val getLocation = findViewById<Button>(R.id.Locate)
^
Main.java:23: error: illegal start of type
val getLocation = findViewById<Button>(R.id.Locate)
^
Main.java:23: error: ';' expected
val getLocation = findViewById<Button>(R.id.Locate)
^
Main.java:23: error: <identifier> expected
val getLocation = findViewById<Button>(R.id.Locate)
^
Main.java:24: error: <identifier> expected
getLocation.setOnClickListener{
^
Main.java:27: error: invalid method declaration; return type required
getPermission()
^
Main.java:27: error: ';' expected
getPermission()
^
Main.java:40: error: illegal start of expression
if(task.isSuccessful && task.result != null){
^
Main.java:39: error: not a statement
task ->
^
Main.java:40: error: not a statement
if(task.isSuccessful && task.result != null){
^
Main.java:40: error: ';' expected
if(task.isSuccessful && task.result != null){
^
Main.java:41: error: ';' expected
val aLatitude = task.result.latitude
^
Main.java:42: error: ';' expected
val aLongitude = task.result.longitude
^
Main.java:43: error: ';' expected
Latitude.text = aLatitude.toString() // Here get latitude.
^
Main.java:44: error: ';' expected
Longitude.text = aLongitude.toString() // Here get longitude.
^
Main.java:48: error: class, interface, or enum expected
}
^
44 errors
Standard output is empty