实现下拉框显示所有曾经登陆的用户名的小功能
来源:互联网 发布:数据流图数据字典实例 编辑:程序博客网 时间:2024/05/21 07:46
点击注册键,会把用户名存储到数据库中;点击下拉图标,显示出所有存储在数据库中的用户名。
public class MainActivity extends Activity implements OnClickListener{
private PopupWindow pop;
private EditText username_et;
private ImageView drop_down_iv;
private Button register_btn;
private ListView listView;
private List list = new ArrayList();
private UserDao userDao;
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); userDao = new UserDao(this);}private void initView() { username_et = (EditText) findViewById(R.id.username_et); drop_down_iv = (ImageView) findViewById(R.id.username_drop_down_iv); register_btn = (Button) findViewById(R.id.register_btn); username_et.setOnClickListener(this); drop_down_iv.setOnClickListener(this); register_btn.setOnClickListener(this);}@Overridepublic void onClick(View v) { switch (v.getId()) { case R.id.register_btn: String name = username_et.getText().toString(); userDao.insert(name, null); username_et.setText(""); Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show(); break; case R.id.username_drop_down_iv: getPopWindow(); pop.showAsDropDown(v,100,0); break; }}private void getPopWindow() { if (pop != null){ pop.dismiss(); return; }else { initPopWindow(); }}private void initPopWindow() { View contentView = View.inflate(this,R.layout.pop_contentview,null); listView = (ListView) contentView.findViewById(R.id.username_lv); list = userDao.query(); ArrayAdapter<User> adapter = new ArrayAdapter<User>(this, android.R.layout.simple_list_item_1, list); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { User user = list.get(position); String name = user.getName(); username_et.setText(name); } }); pop = new PopupWindow(contentView,LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT,true); //触摸事件,对显示出来的东西进行监听 contentView.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (pop != null && pop.isShowing()) { pop.dismiss(); pop = null; } return false; } });}
}
用于处理数据库的Dao层
public class UserDao {
private MyOpendhelper myOpendhelper;
private SQLiteDatabase db;
private static final String TABLE_NAME = “user”;
private Context context;
public UserDao(Context context){ myOpendhelper = new MyOpendhelper(context); this.context = context;}public void insert(String userName,String password){ db = myOpendhelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("userName", userName); values.put("password", password); db.insert(TABLE_NAME, null, values); Toast.makeText(context,"插入成功",Toast.LENGTH_SHORT).show(); db.close();}public List<User> query(){ List<User> list = new ArrayList<User>(); db = myOpendhelper.getWritableDatabase(); Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null,null); while (cursor.moveToNext()) { int id = cursor.getInt(0); String name = cursor.getString(1); String pwd = cursor.getString(2); User user = new User(); user.setName(name); user.setPassword(pwd); user.setId(id); list.add(user); } return list;}
}
继承SQLiteOpenHelper的工具类
public class MyOpendhelper extends SQLiteOpenHelper{
public MyOpendhelper(Context context) { super(context,"info.db",null,1);}@Overridepublic void onCreate(SQLiteDatabase db) { String createsql = "create table user(_id integer primary key autoincrement,username,password)"; db.execSQL(createsql);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}
0 0
- 实现下拉框显示所有曾经登陆的用户名的小功能
- Servlet小的登陆功能的实现
- UITableView实现下拉刷新的小功能
- 登陆时显示上一次登陆的用户名
- 通过ListView,ImageButton,Popupwindow实现手机QQ登陆时用户名下拉功能
- 用mysql数据库中的用户名和密码在GUI上实现登陆的功能
- 登陆框显示下拉菜单 关联到保存的用户信息
- JavaScript实现下拉菜单对文本框赋值的小功能
- 部门下拉框的树状结构展示小功能的实现
- 两个下拉框的联动功能实现
- jeecg下拉框功能的实现
- Servlet登陆功能的实现
- 登陆功能的代码实现
- Android 登陆功能的实现。
- 不让系统显示上次登陆的用户名(window 2K)
- Vista取消显示上次登陆用户名的方法
- jsp 登陆成功后,显示登录的用户名
- jsp 登陆成功后,显示登录的用户名
- 花指令入门
- 【数论】HDU 1576
- HTTP Status 404(The requested resource is not available)的几种解决方案
- 新起点 为了自己的兴趣出发
- webpack gulp for window
- 实现下拉框显示所有曾经登陆的用户名的小功能
- Android四大组件之------Activity
- 作用域安全的构造函数
- 商品订购及货物采购信息系统(代码分析)
- 一些小记录
- 期货投资分析学习笔记(三)
- 鼠标点击选择行 再次点击取消选择行
- SVG系列一
- POJ 2406 Power Strings(KMP循环节)