大二下学期每日总结之第一次个人作业(第一阶段)
今日大部分时间都在完成第一次个人作业:
实现了登录并判断用户名手机号是否正确,
注册:注册用户名,姓名,班级手机号码。
利用SharedPreferences实现了记住手机号与用户名,可以直接登录。
利用数据回传实现了注册完成后自动填写刚申请的用户名与手机号。
下面为学生的数据库操作类:
public class StuDao { private Context context; private StudentDate stuDate; private StuDBHelper studbh; private SQLiteDatabase sqldb; private List<StudentDate> listStudentDate=new ArrayList<>(); private StudentDate studate; public StuDao(Context context,StudentDate stuDate) { this.context=context; this.stuDate=stuDate; studbh=new StuDBHelper(context,"astudb.db",1); sqldb=studbh.getReadableDatabase(); } public StuDao(Context context){ this.context=context; studbh=new StuDBHelper(context,"astudb.db",1); sqldb=studbh.getReadableDatabase(); } public long insertDB() { ContentValues contentvalues=new ContentValues(); contentvalues.put("stuid",stuDate.getStuID()); contentvalues.put("stuname",stuDate.getStuName()); contentvalues.put("stuphone",stuDate.getStuPhone()); contentvalues.put("stuclass",stuDate.getStuClass()); long flag=sqldb.insert("studate",null,contentvalues); return flag; } public List<StudentDate> queryData(String querystr,String str) { String [] strs={str}; Cursor cursor=sqldb.rawQuery("select * from studate where "+querystr+" like ?",strs); if(cursor.moveToFirst()) { do{ String stuName=cursor.getString(cursor.getColumnIndex("stuname")); String stuId=cursor.getString(cursor.getColumnIndex("stuid")); String stuClass=cursor.getString(cursor.getColumnIndex("stuclass")); String stuPhone=cursor.getString(cursor.getColumnIndex("stuphone")); System.out.println(stuName+stuId+stuClass+stuPhone); studate=new StudentDate(stuClass,stuId,stuName,stuPhone); listStudentDate.add(studate); }while(cursor.moveToNext()); } return listStudentDate; } public void deleteDate(String deletestr,String str) { String [] strs={str}; int flag=sqldb.delete("studate",deletestr+"=?",strs); System.out.println("FLAG"+flag); } }
public class StuDBHelper extends SQLiteOpenHelper { private Context context; public StuDBHelper(Context context, String name, int version) { super(context, name, null, version); this.context=context; } @Override public void onCreate(SQLiteDatabase db) { String sql="create table studate(" + "id integer primary key autoincrement, " + "stuid varchar, " + "stuname varchar, " + "stuphone varchar, " + "stuclass varchar)"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
下面为登录Activity与注册Activity
public class SignInActivity extends AppCompatActivity { private EditText text_sign_stuid; private EditText text_sign_stuphone; private StuDao studao; private List<StudentDate> listStuDate=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sign_in); text_sign_stuphone=(EditText)findViewById(R.id.sign_stuphone); text_sign_stuid=(EditText)findViewById(R.id.sign_stuid); SharedPreferences sp=getSharedPreferences("datesave",MODE_PRIVATE); text_sign_stuid.setText(sp.getString("stuid","")); text_sign_stuphone.setText(sp.getString("stuphone","")); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); text_sign_stuid=(EditText)findViewById(R.id.sign_stuid); text_sign_stuphone=(EditText)findViewById(R.id.sign_stuphone); if(data!=null){ text_sign_stuid.setText(data.getStringExtra("stuid")); text_sign_stuphone.setText(data.getStringExtra("stuphone")); SharedPreferences.Editor editor=getSharedPreferences("datesave",MODE_PRIVATE).edit(); editor.putString("stuid",text_sign_stuid.getText().toString()); editor.putString("stuphone",text_sign_stuphone.getText().toString()); editor.commit(); } } public void onClickSign_sign(View view){ text_sign_stuid=(EditText)findViewById(R.id.sign_stuid); text_sign_stuphone=(EditText)findViewById(R.id.sign_stuphone); studao=new StuDao(this); listStuDate=studao.queryData("stuid","%"+text_sign_stuid.getText().toString()+"%"); System.out.println(listStuDate.size()); if(listStuDate.size()!=0) { if(text_sign_stuphone.getText().toString().equals(listStuDate.get(0).getStuPhone())){ SharedPreferences.Editor editor=getSharedPreferences("datesave",MODE_PRIVATE).edit(); editor.putString("stuid",text_sign_stuid.getText().toString()); editor.putString("stuphone",text_sign_stuphone.getText().toString()); editor.commit(); Intent intent=new Intent(); intent.setClass(SignInActivity.this,MainActivity.class); intent.putExtra("stuid",text_sign_stuid.getText().toString()); intent.putExtra("stuphone",text_sign_stuphone.getText().toString()); startActivity(intent); }else{ listStuDate.clear(); } } if(listStuDate.size()==0){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("提示").setIcon(R.mipmap.ic_launcher).setMessage("用户名或手机号错误"); builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); AlertDialog ad=builder.create(); ad.show(); } } public void onClickSign_reg(View view){ Intent intent=new Intent(); intent.setClass(SignInActivity.this,RegActivity.class); startActivityForResult(intent,1); } }
public class RegActivity extends AppCompatActivity { private EditText text_reg_stuid; private EditText text_reg_stuname; private EditText text_reg_stuphone; private EditText text_reg_stuclass; private StuDao studao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_reg); } public void onClickReg_reg(View view){ text_reg_stuid=(EditText)findViewById(R.id.reg_stuid); text_reg_stuclass=(EditText)findViewById(R.id.reg_stuclass); text_reg_stuname=(EditText)findViewById(R.id.reg_stuname); text_reg_stuphone=(EditText)findViewById(R.id.reg_stuphone); StudentDate stuDate=new StudentDate(text_reg_stuclass.getText().toString(), text_reg_stuid.getText().toString(), text_reg_stuname.getText().toString(), text_reg_stuphone.getText().toString() ); studao=new StuDao(this,stuDate); long flag=studao.insertDB(); if(flag>0){ Toast.makeText(RegActivity.this,"注册成功,请返回登录",Toast.LENGTH_LONG).show(); Intent intent=new Intent(); intent.putExtra("stuid",text_reg_stuid.getText().toString()); intent.putExtra("stuphone",text_reg_stuphone.getText().toString()); setResult(1,intent); finish(); } else{ Toast.makeText(RegActivity.this,"注册失败",Toast.LENGTH_LONG).show(); } } }