湖南大学毕业设计(论文) 第 32 页
2.该界面停留3秒后会自动跳转至登录界面,通过调用postDelayed(),用handler消息传递机制通过Intent实现跳转,主要代码如下: new Handler().postDelayed(new Runnable(){
@Override public void run() {
// TODO Auto-generated method stub
Intent myIntent = new Intent(LaunchActivity.this, LoginActivity.class);
LaunchActivity.this.startActivity(myIntent);
LaunchActivity.this.finish(); } }, display_length);
5.2 登录界面实现
登录界面实现效果如图5.2所示。
图5.2(a) 登录界面 图5.2(b) 登录界面
湖南大学毕业设计(论文) 第 33 页
1.登录按钮监听:用getText()方法获得输入文本框中的内容,当点击“登录”按钮时,setOnClickListener()方法调用,开启Login线程,代码如下: loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub //获取输入的用户名和密码
userName = userNameEdit.getText().toString(); password = passwordEdit.getText().toString(); new Thread(Login).start();
}
});
2.登录与偏好设置:在Login线程中,通过findViewById()方法获取组件实例,用
getSharedPreferences()方法和
SharedPreferences.editor()获得
SharedPreferences对象和editor对象后,通过putxx()和getxx()对Preferences文件中的用户名和密码进行读写。同时,通过Handler构造Message对象,并且把Message对象添加到消息队列后,调用handler的sendMessage()方法把Message对象发送出去,根据Message的值判断能够成功登录。若登录成功,设置MyMessage对象的各属性的值,用于下一步服务器和客户端传输数据。部分代码如下:
SharedPreferences shared = getSharedPreferences(\
Context.MODE_PRIVATE);
SharedPreferences.Editor editor =shared.edit();
try { network = new NetWork();
network.oout.writeObject(m); network.oout.flush();
m = (MyMessage) network.oin.readObject();
if (m.getResult() == Result.success) {
湖南大学毕业设计(论文) 第 34 页
editor.putString(\
editor.putString(\
//是否记住密码
if(remCBox.isChecked()) {
editor.putBoolean(\ }
else {
editor.putBoolean(\
} editor.commit();
message.what = 0x00000001; //成功登陆后的消息发送
mHandler.sendMessage(message); }
5.3 注册界面实现
注册界面实现效果如图5.3所示。
图5.3(a) 注册界面 图5.3(b) 注册界面
湖南大学毕业设计(论文) 第 35 页
1.按钮监听事件:在setOnClickListener()中使用Intent对象和startActivity()实现界面跳转(启动新的Activity)
2.Register线程:重写run()方法,用if语句判断用户输入的用户名长度是否符合要求、两次密码输入是否一致。不同Message值决定系统的不同行为,若注册成功,用setOrder()和setData()设置MyMessage对象,用于下一步服务器和客户端传输数据。若注册失败,调用makeText()函数给用户提示信息。关键代码如下:
String userid = userNameEdit.getText().toString();
if (userid.length() < 6) {
Message message = new Message();
message.what = 0x11000011; //用户名过短后的消息发送 mHandler.sendMessage(message);
String[] str = { userNameEdit.getText().toString(),
passwordEdit.getText().toString() };
m.setOrder(Order.register); m.setData(str);
5.4 设置服务器IP界面实现
设置服务器IP界面实现效果如图5.4所示。
该界面的实现与前面小节的实现方法类似,用findViewById()实例化对象后,在“确认”按钮的监听函数Save.setOnClickListener()中进行偏好设置,将用户输入的IP值赋给NetWork.ip。最后用Intent实现Activity跳转。
湖南大学毕业设计(论文) 第 36 页
图5.4 设置服务器IP界面
5.5 地图界面实现
地图界面实现效果如图5.5所示。 1.地图初始化
地图初始化由initialMapandLocation()方法实现,部分代码如下: mBaiduMap = mMapView.getMap(); //获取地图控制器
mBaiduMap.setMyLocationEnabled(true); mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true);
option.setScanSpan(1 * 1000); //设置扫描间隔为1000毫秒 mLocClient.start(); //启动定位SDK
此代码使应用获得了地图控制器并且启动了Android 定位SDK,由于在
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Android平台轨迹追踪的应用设计与实现 毕设论文 - 图文(8)在线全文阅读。
相关推荐: