這個是主頁面,也就是我的登錄賬號頁面,點擊注冊賬號,跳轉到注冊頁面。然而出錯,stop什么東西
package com.example.myapp;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class LoginActivity extends Activity implements OnClickListener{
private Button btnlogin;
private Button btnrest;
private EditText etUserName;
private EditText etPwd;
private TextView tvReg;
//定義屬性
private Dbdata Dbdata;
private SQLiteDatabase sd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zh_login);
//注冊監聽,尋找到關心的控制元件
btnlogin=(Button)findViewById(R.id.btn_login);
btnlogin.setOnClickListener(this);//點擊事件
btnrest=(Button)findViewById(R.id.btn_reset);
btnrest.setOnClickListener(this);//點擊事件
etUserName =(EditText)findViewById(R.id.et_username);
etPwd=(EditText)findViewById(R.id.et_pwd);//點擊事件
tvReg = (TextView)findViewById(R.id.tv_register);
tvReg.setOnClickListener(this);
//產生資料庫
Dbdata = new Dbdata(this);
sd = Dbdata.getReadableDatabase();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int id = v.getId();
String username = etUserName.getText().toString();
String pwd=etPwd.getText().toString();
switch(id){
case R.id.btn_login:
//讀取資料庫中的真正用戶名和密碼
String sql = "Select * From t_users Where username=? and password=?";
String[] paras = {username,pwd};
Cursor c = sd.rawQuery(sql, paras);
if(c.moveToNext()){
//說明用戶名和密碼輸入正確
String stunum = (String)(c.getString(c.getColumnIndex("stunum"))).trim(); //trim()去掉首位空格
Toast.makeText(this, "正確"+stunum, Toast.LENGTH_LONG).show();
if(stunum.equals("teacher")){
//打開TeacherActivity
Intent intent =
new Intent(this,TeacherActivity.class);
startActivity(intent);
}else{
//打開ScoreActivity
Intent toMain = new Intent(this,scoreActivity.class);
toMain.putExtra("username", username);
startActivity(toMain);
}
}else{
//輸入錯誤
Toast.makeText(this, "錯誤", Toast.LENGTH_LONG).show();
}
break;
case R.id.btn_reset:
etUserName.setText("");
etPwd.setText("");
break;
case R.id.tv_register:
//打開注冊表單
Intent intent =
new Intent(LoginActivity.this,registeredActivity.class);
startActivity(intent);
break;
}
}
}
這是注冊頁面.java源代碼
package com.example.myapp;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class registeredActivity extends Activity implements OnClickListener{
private EditText etUserName;
private EditText etPwd;
private EditText etStuNum;
private EditText etClassId;
private TextView tv_login;
//資料庫相關
private Dbdata Dbdata;
private SQLiteDatabase db;
private Button btnselect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zh_registered);
//初始化界面
initView();
//實體化資料庫
Dbdata = new Dbdata(this);
db = Dbdata.getWritableDatabase();
//注冊監聽
tv_login=(TextView)findViewById(R.id.tv_back);
tv_login.setOnClickListener(this);
}
private void initView(){
//注冊監聽
etUserName = (EditText)findViewById(R.id.et_username);
etPwd = (EditText)findViewById(R.id.et_pwd);
etStuNum = (EditText)findViewById(R.id.et_stunum);
etClassId = (EditText)findViewById(R.id.et_classId);
//btnSave = (Button)findViewById(R.id.btn_save);
}
public void save(View v){
String un = etUserName.getText().toString();
String pwd = etPwd.getText().toString();
String sn = etStuNum.getText().toString();
String ci = etClassId.getText().toString();
//2.拼接一個sql
String sql = "Insert Into t_users(username,password,stunum,classid) values ('"+un+"','"+pwd+"','"+sn+"','"+ci+"')";
// 3.執行sql陳述句
try {
db.execSQL(sql);
Toast.makeText(registeredActivity.this, "保存成功", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(registeredActivity.this, "error:" + e.getMessage(), Toast.LENGTH_LONG)
.show();
}
}
public void onClick(View v){
Intent intent =
new Intent(this,LoginActivity.class);
startActivity(intent);
}
}
這是出錯日志:
11-27 03:49:21.876: D/gralloc_goldfish(1063): Emulator without GPU emulation detected.
11-27 03:50:24.046: I/Choreographer(1063): Skipped 151 frames! The application may be doing too much work on its main thread.
11-27 03:50:27.056: I/Choreographer(1063): Skipped 48 frames! The application may be doing too much work on its main thread.
11-27 03:50:30.076: D/AndroidRuntime(1063): Shutting down VM
11-27 03:50:30.076: W/dalvikvm(1063): threadid=1: thread exiting with uncaught exception (group=0xb4a76ba8)
11-27 03:50:30.076: E/AndroidRuntime(1063): FATAL EXCEPTION: main
11-27 03:50:30.076: E/AndroidRuntime(1063): Process: com.example.myapp, PID: 1063
11-27 03:50:30.076: E/AndroidRuntime(1063): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.myapp/com.example.myapp.registeredActivity}; have you declared this activity in your AndroidManifest.xml?
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.Activity.startActivityForResult(Activity.java:3424)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.Activity.startActivityForResult(Activity.java:3385)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.Activity.startActivity(Activity.java:3627)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.Activity.startActivity(Activity.java:3595)
11-27 03:50:30.076: E/AndroidRuntime(1063): at com.example.myapp.LoginActivity.onClick(LoginActivity.java:92)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.view.View.performClick(View.java:4438)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.view.View$PerformClick.run(View.java:18422)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.os.Handler.handleCallback(Handler.java:733)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.os.Handler.dispatchMessage(Handler.java:95)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.os.Looper.loop(Looper.java:136)
11-27 03:50:30.076: E/AndroidRuntime(1063): at android.app.ActivityThread.main(ActivityThread.java:5017)
11-27 03:50:30.076: E/AndroidRuntime(1063): at java.lang.reflect.Method.invokeNative(Native Method)
11-27 03:50:30.076: E/AndroidRuntime(1063): at java.lang.reflect.Method.invoke(Method.java:515)
11-27 03:50:30.076: E/AndroidRuntime(1063): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
11-27 03:50:30.076: E/AndroidRuntime(1063): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
11-27 03:50:30.076: E/AndroidRuntime(1063): at dalvik.system.NativeStart.main(Native Method)
11-27 03:52:46.746: I/Process(1063): Sending signal. PID: 1063 SIG: 9
11-27 04:12:14.986: D/gralloc_goldfish(1159): Emulator without GPU emulation detected.
11-27 04:12:16.576: D/AndroidRuntime(1159): Shutting down VM
11-27 04:12:16.576: W/dalvikvm(1159): threadid=1: thread exiting with uncaught exception (group=0xb4a76ba8)
11-27 04:12:16.586: E/AndroidRuntime(1159): FATAL EXCEPTION: main
11-27 04:12:16.586: E/AndroidRuntime(1159): Process: com.example.myapp, PID: 1159
11-27 04:12:16.586: E/AndroidRuntime(1159): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.myapp/com.example.myapp.registeredActivity}; have you declared this activity in your AndroidManifest.xml?
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.Activity.startActivityForResult(Activity.java:3424)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.Activity.startActivityForResult(Activity.java:3385)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.Activity.startActivity(Activity.java:3627)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.Activity.startActivity(Activity.java:3595)
11-27 04:12:16.586: E/AndroidRuntime(1159): at com.example.myapp.LoginActivity.onClick(LoginActivity.java:92)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.view.View.performClick(View.java:4438)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.view.View$PerformClick.run(View.java:18422)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.os.Handler.handleCallback(Handler.java:733)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.os.Handler.dispatchMessage(Handler.java:95)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.os.Looper.loop(Looper.java:136)
11-27 04:12:16.586: E/AndroidRuntime(1159): at android.app.ActivityThread.main(ActivityThread.java:5017)
11-27 04:12:16.586: E/AndroidRuntime(1159): at java.lang.reflect.Method.invokeNative(Native Method)
11-27 04:12:16.586: E/AndroidRuntime(1159): at java.lang.reflect.Method.invoke(Method.java:515)
11-27 04:12:16.586: E/AndroidRuntime(1159): at com.android.interna
uj5u.com熱心網友回復:
她說你的 registeredActivity,沒有放在注冊檔案 AndroidManifest里uj5u.com熱心網友回復:
1. 檢查一下樓上說的問題。2. 不要在主執行緒寫耗時操作,把資料庫操作放到一個新執行緒里。
uj5u.com熱心網友回復:
在AndroidManifest.xml里申明一下你的Activity。。。uj5u.com熱心網友回復:
registeredActivity沒有宣告注冊uj5u.com熱心網友回復:
AndroidManifest.xml申明activity'轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/83213.html
標籤:Android
上一篇:list自定義item 怎么插入
