接下来我们打开DemoActivity.java编写代码。
二、为按钮绑定事件
我们在Activity创建时绑定事件,将以下代码添加到setContentView(R.layout.main);后:
/** 为按钮绑定事件 */
Button btnGetLocation = (Button)findViewById(R.id.button1);
btnGetLocation.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
onBtnClick();
}
});
同时还需要在头部import相关组件:
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
我们来分析一下这段代码:
首先我们通过findViewById(R.id.button1)找到按钮这个对象,前面加(Button)表示显示的转换为Button对象;
然后设置按钮点击事件的监听器,参数为OnClickListener对象,再重载这个类的onClick方法,调用onBtnClick方法(这个方法得由我们自己去写,他在点击按钮时被调用)。
好了,调用方法写好了,我们来写实现(调用后需要做什么事)。动手编码之前先在脑中整理好思路,养成好习惯。
我们需要在DemoActivty类中添加如下私有方法:
我们需要刚刚提到的onBtnClick回调方法,被调用时实现取得基站信息、获取经纬度、获取地理位置、显示的功能。但是很显然,全部揉到一个方法里面并不是个好主意,我们将它分割为几个方法;
添加获取基站信息的方法getCellInfo,返回基站信息; 添加获取经纬度的方法getItude,传入基站信息,返回经纬度; 添加获取地理位置的方法getLocation,传入经纬度,返回地理位置; 添加显示结果的方法showResult,传入得到的信息在界面上显示出来。好了,先将方法添上,完整代码如下:
package com.android.demo;
import android.R.bool;
import android.R.integer;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
public class DemoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/** 为按钮绑定事件 */
Button btnGetLocation = (Button)findViewById(R.id.button1);
btnGetLocation.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
onBtnClick();
}
});
}
/** 基站信息结构体 */
public class SCell{
public int MCC;
public int MNC;
public int LAC;
public int CID;
}
/** 经纬度信息结构体 */
public class SItude{
public String latitude;
public String longitude;
}
/** 按钮点击回调函数 */
private void onBtnClick(){
}
/** 获取基站信息 */
private SCell getCellInfo(){
}
/** 获取经纬度 */
private SItude getItude(SCell cell){
}
/** 获取地理位置 */
private String getLocation(SItude itude){
}
/** 显示结果 */
private void showResult(SCell cell, String location){
}
}










