安全卫士第八天笔记

来源:互联网 发布:乐高ev3编程软件简介 编辑:程序博客网 时间:2024/05/22 09:47
将设置好的自定义toast位置应用到外拨电话的中   case MotionEvent.ACTION_UP:                        int endX=ll_dragView_toast.getLeft();                        int endy=ll_dragView_toast.getTop();                        SharedPreferences.Editor edit = sp.edit();                        edit.putInt("x",endX);                        edit.putInt("y",endy);                        edit.commit();                        break;   params.x=sp.getInt("x",100);        params.y=sp.getInt("y",100);        windowManager.addView(view, params);设置toast位置的回显操作   //1.获取保存的坐标        int x = sp.getInt("x", 0);        int y = sp.getInt("y", 0);        //2.1获取父控件的属性规则,父控件的layoutparams        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ll_dragView_toast.getLayoutParams();        //leftMargin : 距离父控件左边的距离,根据布局文件中控件中layout_marginLeft属性效果相似        params.leftMargin = x;        params.topMargin = y;        //2.3给控件设置属性        ll_dragView_toast.setLayoutParams(params);        //2.2设置相应的属性        changed();双击居中的操作实现long mHits[]=new  long[2];    //设置双击居中操作    private void setDoubleClick() {        ll_dragView_toast.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                /**                 *  src the source array to copy the content.   拷贝的原数组                 srcPos the starting index of the content in src.  是从源数组那个位置开始拷贝                 dst the destination array to copy the data into.  拷贝的目标数组                 dstPos the starting index for the copied content in dst.  是从目标数组那个位置开始去写                 length the number of elements to be copied.   拷贝的长度                 */                //拷贝数组操作                System.arraycopy(mHits,1,mHits,0,mHits.length-1);                mHits[mHits.length-1]= SystemClock.uptimeMillis();                if(mHits[0]>=SystemClock.uptimeMillis()-500){//判断是否是双击                    int l = (width - ll_dragView_toast.getWidth())/2;                    int t = (height -25- ll_dragView_toast.getHeight())/2;                    ll_dragView_toast.layout(l, t, l+ll_dragView_toast.getWidth(), t+ll_dragView_toast.getHeight());                    //保存控件的坐标                    SharedPreferences.Editor edit = sp.edit();                    edit.putInt("x", l);                    edit.putInt("y", t);                    edit.commit();                }            }        });    }创建数据/** * 创建数据库 */public class BlackNum  extends SQLiteOpenHelper{    public final   static  String DB_NAME="INFO";    public BlackNum(Context context) {        super(context,"BalckNum.db" , null, 1);    }    //第一次创建数据库的调用,创建表结构    @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL("create table "+DB_NAME+"(_id integer primary key autoincrement,blacknum varchar(20),mode varchar(2))");    }    //当数据库版本发生变化的时候调用    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }}向数据库中添加数据/** * 向数据库中添加黑名单 */public class BlackNumDao {    public static  final  int CALL=0;    public static  final int SMS=1;    public static  final int ALL=2;    private BlackNum blackNum;  public   BlackNumDao(Context context) {             blackNum=new BlackNum(context);    }    public void AddBlackNum(String num,int mode){        SQLiteDatabase database=blackNum.getWritableDatabase();        ContentValues values=new ContentValues();        values.put("blacknum",num);        values.put("mode",mode);        database.insert(BlackNum.DB_NAME,null,values);        database.close();    }}更新数据库中数据 //数据库的更新操作    public void UpdateBlackNum(String num,int mode){        SQLiteDatabase database=blackNum.getWritableDatabase();        ContentValues values=new ContentValues();        values.put("mode",mode);        database.update(BlackNum.DB_NAME, values,"blacknum=?",new String[]{num});        database.close();    }查询数据库中数据 //查询数据库的操作    public int queryBlackNum(String num){        int decode=-1;        SQLiteDatabase database=blackNum.getReadableDatabase();        Cursor cursor = database.query(BlackNum.DB_NAME, new String[]{"mode"}, "blacknum=?", new String[]{num}, null, null, null);        if(cursor.moveToNext()){            decode=cursor.getInt(0);        }        cursor.close();        database.close();        return decode;    }删除数据库中数据 //删除数据库中数据的操作    public void deleteBlackNum(String num){        SQLiteDatabase database=blackNum.getReadableDatabase();        database.delete(BlackNum.DB_NAME,"blacknum=?",new String[]{num});        database.close();    }
0 0
原创粉丝点击