当前位置:编程学习 > wap >>

android应用开发,onCreate->onStop无限重复加载问题





上图为laocat上的日志信息。打开模拟器后,onCreate->onStop一直重复加载。无限重复加载

小弟请各位大哥,高手帮忙看一下是什么原因。十分感谢

以下是下面,大家可以做为参考参考看一下,对于任何的回答,都十分感谢:
----------------------------------------------------------------------------------------
/*该类为   登录界面,用于支持用于的登录操作,需要与服务端进行通信*/

package com.example.kekee;

import java.util.HashMap;

import com.example.kekee.R;
import com.app.demos.base.BaseAuth;
import com.app.demos.base.BaseMessage;
import com.app.demos.base.BaseService;
import com.app.demos.base.BaseUiAuth;
import com.app.demos.base.C;
import com.app.demos.model.Customer;
import com.app.demos.service.NoticeService;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageButton;

public class LoginActivity extends BaseUiAuth {
//注册和登录按钮
private Button register,login;
//返回按钮
ImageButton back;
//两个编辑文本视频,用于用户输入信息,并可取的其中的信息,传入服务端
private EditText user,ps;
private CheckBox mCheckBox;
private SharedPreferences settings;

public void onCreate(Bundle savedInstanceState){
Log.v("login", "--------开始------------");
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.login);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.logintitle);
Log.v("login", "--------界面初始化结束------------");
//实例化视图
user=(EditText)findViewById(R.id.EditText01);
ps=(EditText)findViewById(R.id.EditText02);
register=(Button)findViewById(R.id.Button01);
login=(Button)findViewById(R.id.Button02);
mCheckBox = (CheckBox) this.findViewById(R.id.app_login_check_remember);
//通过getPreferences来获得Perferences对象,文件创建模式:MODE_PRIVATE
settings = getPreferences(Context.MODE_PRIVATE);
Log.v("login", "--------按钮初始化结束------------");
///////////////////////////////记住密码功能的一些处理方法///////////////////////////////////////////////////////////////
//获取记住的账号和
if (settings.getBoolean("remember", false)) {
Log.v("login", "--------获取账号密码------------");
mCheckBox.setChecked(true);
user.setText(settings.getString("username", ""));
ps.setText(settings.getString("password", ""));

}

//为记住密码CheckBox控件设置选中状态变化监听器
mCheckBox.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.v("login", "-------check方法------------");
//获得editor用来保存数据
SharedPreferences.Editor editor = settings.edit();
if (mCheckBox.isChecked()) {
//putBoolean 用于提交一个键值
editor.putBoolean("remember", true);
editor.putString("username", user.getText().toString());
editor.putString("password", ps.getText().toString());
Log.v("login", "--------记住用户密码------------");
} else {
editor.putBoolean("remember", false);
editor.putString("username", "");
editor.putString("password", "");
Log.v("login", "--------没有记住用户密码------------");
}
//提交要保存的数据
editor.commit();
}
});
////////////////////////////////////////////定义了按钮的一些事件///////////////////////////////////////////////
login.setOnClickListener(new OnClickListener(){
public void onClick(View v){
if(validate()){
Log.v("login", "--------登录操作------------");
doTaskLogin();
}
}
});

register.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.v("login", "--------启动注册页面------------");
Intent intent=new Intent(LoginActivity.this,RegisterActivity.class);
startActivity(intent);

}
});

back=(ImageButton)findViewById(R.id.imageButton02);
back.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.v("login", "--------启动返回总页面------------");
Intent intent=new Intent(LoginActivity.this,HeadActivity.class);
startActivity(intent);
}
});

}
/////////////////////////////////////////////////////////////////////////////////////////////////
//提示框,用于显示dialog提示框,本类中用该方法进行  请输入密码 的显示
private void showDialog(String msg){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("温馨提示").setMessage(msg).setCancelable(false).setPositiveButton("确定",
new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int id){
Log.v("login", "--------提示信息------------");
}
});
AlertDialog alert=builder.create();
alert.show();
}
//判断 填写是否为空
private boolean validate(){
String username=user.getText().toString();
if(username.equals("")){
showDialog("用户名称必须填哦");
Log.v("login", "--------判断为空------------");
return false;

}
String password=ps.getText().toString();
if(password.equals("")){
showDialog("别忘了填写密码哦");
Log.v("login", "--------判断密码为空------------");
return false;
}
return true;
}

////////////////////////////登录方法////////////////////////////////////////////////
private void doTaskLogin() {
Log.v("login", "--------异步连接服务端,登录------------");
//获取当前的系统时间,并设置为当前的登录时间
app.setLong(System.currentTimeMillis());
if (user.length() > 0 && ps.length() > 0) {
HashMap<String, String> urlParams = new HashMap<String, String>();
urlParams.put("name", user.getText().toString());
urlParams.put("pass", ps.getText().toString());
try {
this.doTaskAsync(C.task.login,"http://www.diqichengshi.com/index.php/Index/loginAction", urlParams);

} catch (Exception e) {
e.printStackTrace();
}
}
}
////////////////////////////处理服务器返回的信息/////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
// 异步回调方法,这些方法在获取到网络请求之后才会被调用

@Override
public void onTaskComplete(int taskId, BaseMessage message) {
super.onTaskComplete(taskId, message);
Log.v("login", "--------异步连接服务端,服务端返回------------");
switch (taskId) {
case C.task.login:
Customer customer = null;
// 登录逻辑
try {
customer = (Customer) message.getResult("Customer");
// 登录成功
if (customer.getName() != null) {
BaseAuth.setCustomer(customer);
BaseAuth.setLogin(true);
Log.v("login", "--------服务端返回------------");
// 登录失败
} else {
BaseAuth.setCustomer(customer); // set sid
BaseAuth.setLogin(false);
toast(this.getString(R.string.msg_loginfail));
Log.v("login", "--------服务端返回,失败------------");
}
} catch (Exception e) {
e.printStackTrace();
toast(e.getMessage());
}
// login complete
long startTime = app.getLong();
long loginTime = System.currentTimeMillis() - startTime;
Log.w("LoginTime", Long.toString(loginTime));
// 切换至首页
//登录成功的话,islogin会被设置为true。下面判断如果为真的话,启动NoticeService,并跳转页面
if (BaseAuth.isLogin()) {
// 启动 NoticeService
BaseService.start(this, NoticeService.class);
Log.v("login", "--------启动服务------------");
// 跳转至应用首页
forward(MainActivity.class);
Log.v("login", "--------跳转到主页面------------");
}
break;
}
}

@Override
public void onNetworkError (int taskId) {
super.onNetworkError(taskId);
Log.v("login", "--------连接服务器失败------------");
}

public void onStop(){
Log.v("login", "--------结束activity------------");
}
}















Android应用 登录 报错 服务器 finish
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,