为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第3季)

难度初级
时长 6小时 0分
学习人数
综合评分9.57
162人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.3 逻辑清晰
  • 各种系统服务
    查看全部
    0 采集 收起 来源:系统服务概述

    2016-07-24

  • 使用Bind方式可得到服务对象,并操作服务
    查看全部
    0 采集 收起 来源:Servie概述

    2016-07-24

  • 安卓系统内存不足的时候会杀掉一些内存不足的activity,而service的优先级比activity高,所以activity一般不会被k掉,即使被gg,也很容易就重新启动。
    查看全部
    0 采集 收起 来源:Servie概述

    2016-07-24

  • SQLite常用方法 db.execSQL(sql); //执行任何SQL语句 db.insert(table,nullColumnHack,values); db.delete(table,whereClause,whereArgs) db.update(table,whereClause,whereArgs) db.query(table,columns,selection,selectionArgs, groupBy,having,orderBy) db.rawRuery(sql,selectionArgs);
    查看全部
  • 手势监听器实现
    查看全部
  • 在动态注册receiver之后需要在结束的时候手动销毁,将注册的广播接收器设置为全局对象。
    查看全部
  • GestureDetector进行手势识别
    查看全部
  • 手势识别原理
    查看全部
  • 使用内置函数操作数据库 1. ContentValues类 存储一组可以被ContentResolver处理的值,可以理解为它的对象存储了多个键值对 2. 使用ContentValues和内置函数插入数据库 ContentValues values = new ContentValues(); values.put("name", "xzhang76"); values.put("sex", "man"); values.put("age", 26); sqLiteDatabase.insert("studentdb", null, values); 可以将values清空,并重新存值。 values.clear(); values.put("name", "xzhang65"); values.put("sex", "man"); values.put("age", 27); sqLiteDatabase.insert("studentdb", null, values); 3. 更新和删除 sqLiteDatabase.update("studentdb", values, "_id>?", new String[]{"4"}); sqLiteDatabase.delete("studentdb", "name like ?", new String[]{"%8%"}); 4. 通过Cursor类的getColumnNames()可以得到所有的列名 String[] columnNames = cursor.getColumnNames(); while (cursor.moveToNext()) { //moveToNext()可以移动到下一行 for(String columnName:columnNames) { Log.i(TAG, cursor.getString(cursor.getColumnIndex(columnName))); } }
    查看全部
  • SQLiteDatabase db = openOrCreateDatabase("data.db", MODE_PRIVATE, null); db.execSQL("create table if not exists usertb(_id integer primary key autoincrement,name text not null,age integer not null)"); ContentValues values = new ContentValues();// 初始化 values.put("name", "张山");// 添加值 values.put("age", 50); db.insert("usertb", null, values);// 执行插入SQL语句 values.clear();// 清除values中添加的值 values.put("name", "李事"); values.put("age", 40); db.insert("usertb", null, values); db.delete("usertb", "age>?", new String[] { "40" });// 删除 Cursor c = db.query("usertb", null, "_id>?", new String[] { "0" }, null, null, "age");// 查询 if (c != null) { String[] columnName = c.getColumnNames();// 获取所有的列名 while (c.moveToNext()) { for (String name : columnName) { Log.i("tag", c.getString(c.getColumnIndex(name))); } } c.close();//游标关闭 } db.close();
    查看全部
  • SQLiteDatabase创建数据库,并且实现增删改查。 //创建数据库对象 SQLiteDatabase db = openOrCreateDatabase("data.db", MODE_PRIVATE, null); //创建数据库 db.execSQL("create table if not exists studb(_id integer primary key autoincrement,name text not null,age integer not null)") //values对象添加数据 put方法。values.clear释放内存 ContentValues values = new ContentValues(); //更改操作 values.put("name","若曦"); db.update("stutb",values,"name likes ?",new String[]{"四爷"}); //查询db.query()获取游标对象。 Cursor c = db.query("stutb",null,"id>?",new String[]{"0"},null,null,null); //获得所有字段 String []columns = c.getColumnNames(); //通过日志方式打印表 while(c.moveToNext()){ for (String columnName: columns) { Log.i("info", "" + c.getString(c.getColumnIndex(columnName)));
    查看全部
  • 一,新建一个项目 二,每个程序都有自己的数据库 默认情况下是各自互相不干扰 三,创建一个数据库 并且打开 1 使用openOrCreateDatabase建一个数据库(会创建一个文件夹) 2 三个参数name:名字, 后续用.db可以用第三方工具打开 3 mode :权限 4 factory:无介绍 四,用SQL创建一张表 db.execSQL("create table if not exists usertb (_id integer primary key autoincrement,name text not null,age integer not null, sex text not null)"); 创建数据: db.execSQL("insert into usertb(name,sex,age) values('张三','女','18')"); 五,使用db.rawQuery(sql,selectionArgs) sql:sql的语句 selectionArgs:查询条件 ,null查询全部数据 六,Cursor: 查询结果赋值给Cursor Cursor c = db.rawQuery("select * from usertb",null); 创建if语句 里面嵌套while循环 21:00 while循环外 用c.close();作为游标释放 if循环外 用db.close(); 作为数据库释放
    查看全部
  • SQLiteDatabase db = openOrCreateDatabase("database.db", MODE_PRIVATE, null);// (数据库名称,权限,数据工厂) db.execSQL("create table if not exists usertb(_id integer primary key autoincrement,name text not null,age integer not null,sex text not null)");// 执行任何SQL语句 db.execSQL("insert into usertb(name,sex,age)values('张三','女',18)");//插入数据 Cursor:游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获取列值方法getString()等常用方法: -getCount()总记录条数 -isFirst()判断是否第一条记录 -isLast()判断是否最后一条记录 -moveToFirst()移动到第一条记录 -moveToLast()移动到最后一条记录 -move(int offset)移动到指定记录 -moveToNext()移动到下一条记录 -moveToprevious()移动到上一条记录 -getColumnIndexOrThrow(String columnName)据列名称获取列索引 -getInt(int columnIndex)获取指定列索引的int类型值 -getString(int columnIndex)获取指定列索引的String类型值 Cursor c=db.rawQuery(“select*from table“,null); if(c!=null){ While(c.moveNext()){} }
    查看全部
  • Cursor:游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获取列值方法getString()等常用方法: -getCount()总记录条数 -isFirst()判断是否第一条记录 -isLast()判断是否最后一条记录 -moveToFirst()移动到第一条记录 -moveToLast()移动到最后一条记录 -move(int offset)移动到指定记录 -moveToNext()移动到下一条记录 -moveToPrevious()移动到上一条记录 -moveToPosition(int position)移动到指定位置记录 -getColumnIndexOrThrow(String columnName)据列名称获取列索引 -getInt(int columnIndex)获取指定列索引的int类型值 -getString(int columnIndex)获取指定列索引的String类型值 Ps1:每个程序都有自己的数据库,默认情况下是互相不干扰。 Ps2:记住关闭Cursor(while循环之外)和SQLiteDatabase(if判断之外)。
    查看全部
  • 常用系统服务
    查看全部
    0 采集 收起 来源:系统服务概述

    2016-07-24

举报

0/150
提交
取消
课程须知
本课程是Android开发课程的中后期部分,学习之前要求对一些知识点有一定的了解: 1、已经掌握了Java基础 2、已经熟悉或者了解Android中的监听事件原理 3、已经熟悉或者了解一种以上的数据库,并掌握基本的SQL语句
老师告诉你能学到什么?
1、初步掌握Android手势识别的原理以及实际使用 2、初步掌握Android的数据存储方式 3、深度了解Android中的组件 4、熟悉了解Android常用的系统服务并对服务的使用有新的认识

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!