1473
- 收藏
- 点赞
- 分享
- 举报
渤海银行九宫格锁屏
最近,论坛好像很火啊,看到有好多的谭友在这里分享代码,感谢谭主,为大家提供了这么好的一个交流的机会。
好,言归正传,前些天玩得一个九宫格锁屏实例,献给大家。
MainActivity代码较为简单,主要实现向布局中添加九宫格视图,同时根据保存的数据判断此为第几次输入锁屏密码,并执行相应操作。
[code]
package cn.com.unfind.ges;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.TextView;
import cn.com.unfind.ges.view.NinePointLineView;
/**
* 作用:测试九宫格手势密码 作者:Heguming 时间:2015年11月02日 09:37:54
* */
public class MainActivity extends Activity {
private LinearLayout nine_con;// 九宫格容器
NinePointLineView nv;// 九宫格View
TextView showInfo;
boolean isSetFirst = false;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
SharedPreferences shareDate = getSharedPreferences("GUE_PWD", 0);
shareDate.edit().putBoolean("IS_SET", false).commit();
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 设置标题不显示
setContentView(R.layout.activity_main);
initWidget();
getSetPwd();
}
private void initWidget() {
nv = new NinePointLineView(MainActivity.this);
nine_con = (LinearLayout) findViewById(R.id.nine_con);
nine_con.addView(nv);
showInfo = (TextView) findViewById(R.id.show_set_info);
}
/**
* 作用:获取现在密码的设置步骤 作者:Heguming 时间:2015年11月02日 14:20:36
* */
public void getSetPwd() {
SharedPreferences shareDate = getSharedPreferences("GUE_PWD", 0);
isSetFirst = shareDate.getBoolean("IS_SET", false);
if (!isSetFirst) {
showInfo.setText("请设置手势密码");
shareDate.edit().clear().commit();
} else {
showInfo.setText("请再次确认手势密码");
}
}
}
[/code]
此处,需要简单介绍一下这三种存储方式的应用场合及使用效率:SharedPreferences、File、SQLite。
一般来说,SharedPreferences与SQLite适合存储需要频繁操作的数据,这两者存储数据类型简单,其构成元素均为基本的int、boolean、String等类型,优点是操作速度快,便于多次读写。
相对于SharedPreferences 与SQLite ,File则更适合操作不频繁的数据,其存储数据类型较为复杂,这也造就了它读写速度较慢的缺点。
而SQLite兼顾简单操作的功能,比如排序、查询等,这是其他两种存储方式不能比拟的,但也因此导致SQLite使用方法较为复杂,需要经过建库、建表等多个步骤,还需要定期进行更新与维护。
最后一个不同是,SQLite与File适合存储大数据量的操作,SharedPreferences则更适合存储小数据量的操作。
好,言归正传,前些天玩得一个九宫格锁屏实例,献给大家。
MainActivity代码较为简单,主要实现向布局中添加九宫格视图,同时根据保存的数据判断此为第几次输入锁屏密码,并执行相应操作。
[code]
package cn.com.unfind.ges;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.TextView;
import cn.com.unfind.ges.view.NinePointLineView;
/**
* 作用:测试九宫格手势密码 作者:Heguming 时间:2015年11月02日 09:37:54
* */
public class MainActivity extends Activity {
private LinearLayout nine_con;// 九宫格容器
NinePointLineView nv;// 九宫格View
TextView showInfo;
boolean isSetFirst = false;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
SharedPreferences shareDate = getSharedPreferences("GUE_PWD", 0);
shareDate.edit().putBoolean("IS_SET", false).commit();
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);// 设置标题不显示
setContentView(R.layout.activity_main);
initWidget();
getSetPwd();
}
private void initWidget() {
nv = new NinePointLineView(MainActivity.this);
nine_con = (LinearLayout) findViewById(R.id.nine_con);
nine_con.addView(nv);
showInfo = (TextView) findViewById(R.id.show_set_info);
}
/**
* 作用:获取现在密码的设置步骤 作者:Heguming 时间:2015年11月02日 14:20:36
* */
public void getSetPwd() {
SharedPreferences shareDate = getSharedPreferences("GUE_PWD", 0);
isSetFirst = shareDate.getBoolean("IS_SET", false);
if (!isSetFirst) {
showInfo.setText("请设置手势密码");
shareDate.edit().clear().commit();
} else {
showInfo.setText("请再次确认手势密码");
}
}
}
[/code]
此处,需要简单介绍一下这三种存储方式的应用场合及使用效率:SharedPreferences、File、SQLite。
一般来说,SharedPreferences与SQLite适合存储需要频繁操作的数据,这两者存储数据类型简单,其构成元素均为基本的int、boolean、String等类型,优点是操作速度快,便于多次读写。
相对于SharedPreferences 与SQLite ,File则更适合操作不频繁的数据,其存储数据类型较为复杂,这也造就了它读写速度较慢的缺点。
而SQLite兼顾简单操作的功能,比如排序、查询等,这是其他两种存储方式不能比拟的,但也因此导致SQLite使用方法较为复杂,需要经过建库、建表等多个步骤,还需要定期进行更新与维护。
最后一个不同是,SQLite与File适合存储大数据量的操作,SharedPreferences则更适合存储小数据量的操作。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2015-11-05 17:32:17
-
2024-05-15 16:28:55
-
2024-06-25 14:45:12
-
2020-11-06 10:12:47
-
2020-12-29 15:14:11
-
2021-01-02 10:32:55
-
2016-03-25 01:50:09
-
2013-07-27 15:23:31
-
2018-10-16 09:45:14
-
02016-12-23 16:17:32
-
2018-12-22 09:26:22
-
2021-01-14 15:26:58
-
2018-12-22 09:22:23
-
2013-11-22 22:23:30
-
2013-12-05 21:58:39
-
2018-11-30 16:24:08
-
2021-01-06 14:04:57
-
02016-03-21 15:00:19
-
02019-12-26 18:22:10
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50帮忙解决个交叉编译的问题
-
20帮忙交叉编译个源码
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认