Heguming

Heguming

0个粉丝

8

问答

0

专栏

6

资料

Heguming  发布于  2015-11-05 11:49:46
采纳率 0%
8个问答
1346

渤海银行九宫格锁屏

        最近,论坛好像很火啊,看到有好多的谭友在这里分享代码,感谢谭主,为大家提供了这么好的一个交流的机会。

        好,言归正传,前些天玩得一个九宫格锁屏实例,献给大家。

       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)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区