解决方案 »
- 调用第二个 activity 设 myView.setText(R.string.hello_world); 出错,高手请进!
- jni用法
- 注册google map api,出现连接超时
- Android 获取其他程序数据
- 请问PopupWindow 可否传值?
- 求助!应该要怎样做一个课程表?
- 有没有可能将android模拟成一个蓝牙设备?
- Listview如何实现在空白处长按,弹出contextMenu实现添加等功能?
- Android行车记录仪软件后台录像,二十四小时不间断循环录像,欢迎大家捧场
- android EditText 模拟器中无法输入字符
- andriod的内存管理问题
- 如何在开发中途替换数据库
public class MainActivity extends Activity {
public EditText useredittext,pwdedittext;
public Button loginbutton,cancelbutton;
public TextView textview01;
public Spinner spinner01;
String username,pwd;
Boolean result;
private DBOpenHelper dbhelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginbutton=(Button)findViewById(R.id.loginbutton);
cancelbutton=(Button)findViewById(R.id.cancelbutton);
useredittext=(EditText)findViewById(R.id.userEditText);
pwdedittext=(EditText)findViewById(R.id.pwdEditText);
spinner01=(Spinner)findViewById(R.id.spinner01);
textview01=(TextView)findViewById(R.id.textview01);
this.setTitle("用户登陆界面");
final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.shopname,android.R.layout.simple_spinner_item);
//设置Spinner每个条目的显示样式
//3.声明一个ArrayAdapter并获取对象,用于配置Spinner显示的信息。
//对应参数说明:1.上下文变量;2.要显示的字符串Array;3.Spinner的显示样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//为spinner绑定适配器,书写标题信息,绑定监听事件。
spinner01.setAdapter(adapter);
spinner01.setPrompt("信息:");
spinner01.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
//获取所选择的地址
textview01.setText("您盘点的门店是:"+adapter.getItem(arg2).toString());
}
public void onNothingSelected(AdapterView<?> arg0) {
textview01.setText("您还没有选中");
} });
//设置取消按钮监听器
cancelbutton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
//结束当前activity
finish();
}
});
//设置登录按钮监听器
loginbutton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
//判断验证
if(validate()){
//判断是否登陆成功
if(login()){
//启动activity
Intent intent=new Intent(MainActivity.this,ScanActivity.class);
startActivity(intent);
}else{
//显示对话框
showDialog("用户名称或者密码错误,请重新输入!");
}
}
}
});
}
protected void showDialog(String msg) {
// TODO Auto-generated method stub
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setMessage(msg)
.setCancelable(false)
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id){
}
});
AlertDialog alert=builder.create();
alert.show();
} private boolean validate() {
// TODO Auto-generated method stub
username=useredittext.getText().toString();
if(username.equals("")){
showDialog("用户名称是必填项!");
return false;
}
pwd=pwdedittext.getText().toString();
if(pwd.equals("")){
showDialog("用户密码是必填项!");
return false;
}
if(textview01.equals("")){
showDialog("请选择要盘点的门店");
return false;
}
return true;
}
//登录方法
protected boolean login() {
// TODO Auto-generated method stub
//获得用户名称
username=useredittext.getText().toString();
//获得用户密码
pwd=pwdedittext.getText().toString();
//查询返回结果
result=query(username,pwd);
//对结果进行判断
if(result)
{
return true;
}
else
{
return false;
}
}
//查询
private boolean query(String uname, String password) {
// TODO Auto-generated method stub
dbhelper=new DBOpenHelper(this);
SQLiteDatabase sdb=dbhelper.getReadableDatabase();
//查询获得游标
Cursor result=sdb.query("User",null,null,null,null,null,null,null);
//判断游标是否为空
if(result.moveToFirst())
{
int i;
for(i=0;i<result.getCount();i++)
{
result.move(i);
String name=result.getString(1);
String inventory=result.getString(2);
if(name.equals("uname")&&inventory.equals("password"))
{
return true;
}
}
if(i==result.getCount())
return false;
}
return true ;
} }
然后DBOpenHelper类的代码如下
public class DBOpenHelper extends SQLiteOpenHelper {
//数据库名称
private static final String DB_NAME="MOI.db";
//表名称
private static final String TBL_NAME="User";
SQLiteDatabase db;
//构造方法
public DBOpenHelper(Context c){
super(c,DB_NAME,null,1);
}
@Override
public void onCreate(SQLiteDatabase db){
//创建表SQL语句
final String CREATE_TBL=" create table "
+" User(_id integer primary key autoincrement,userno text,username text) ";
db.execSQL(CREATE_TBL);
}
//插入方法
public void insert(ContentValues values)
{
//获得SQLiteDatabase 实例
SQLiteDatabase db=getWritableDatabase();
//插入
db.insert(TBL_NAME, null, values);
db.close();
}
//查询方法
public Cursor query(){
//获得SQLiteDatabase 实例
SQLiteDatabase db=getWritableDatabase();
Cursor c=db.query(TBL_NAME, null, null, null, null, null, null);
return c;
}
//删除方法
public void delete(int id){
if(db==null)
//获得SQLiteDatabase 实例
db=getWritableDatabase();
db.delete(TBL_NAME, "_id=?", new String[]{String.valueOf(id)});
}
public void close(){
if(db!=null)
db.close();
}
@Override
public void onUpgrade(SQLiteDatabase db,int oldversion,int newversion){
}}
还望大侠给看一下哈,万分感谢哈。
1 最后少分号
2 表名User与括号之间也应该加空格