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

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

难度初级
时长 6小时 0分
学习人数
综合评分9.57
162人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.3 逻辑清晰
  • 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);
    查看全部
  • -SQLiteDatabase 提供了一些管理SQLite数据库的类 提供创建,删除,执行SQLite命令,并执行数据库管理任务的方法 每个程序的数据库名字是唯一的 db.execSQL(sql)//执行任何SQL语句(查询语句除外,因为返回类型不匹配) db.insert(String table,String nullColumnHack,ContentValues values)//(表名,空列的日志,值) db.delete(String table,String whereClause,String[] whereArgs)//(表名,删除条件,删除条件数组值) db.update(String table,ContentValues values,String whereClause,String[]whereArgs)//(表名,值,更新条件,更新的条件数组) db.query(String table,String[]Columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit)//(表名,查询的列,位置条件,与selection拼成条件,分组,筛选,排序,分页限制)(查询) db.rawQuery(sql,selecionArgs)(查询) -SQLiteOpenHelper Ps:如果String whereClause(String selection)写得比较完整,则String[] whereArgs(String selectionArgs)可置为null。
    查看全部
  • SQLite特点主要包括: 1、 轻量级 一个动态库、单文件 2、 独立性 没有依赖、无须安装 3、 隔离性 全部在一个文件夹中 4、 跨平台 支持众多操作系统 5、 多语言接口 支持众多编程语言 6、 安全性 事务 --关于事务处理的安全性: -通过数据库上的独占性和共享锁来实现独立事务处理 -多个进程可以同一时间从同一个数据库读取数据,但只有一个可以写入数据。 SQLite的数据类型: -SQLite支持NULL、INTEGER、REAL、TEXT、BLOB数据类型 -依次代表:空值、整型值,浮点值,字符串值,二进制对象 动态数据类型(弱引用) -当某个值插入到数据库时,SQLite会检查他的数据类型,如果该类型与关联的列类型不匹配,SQLite就会尝试将该值转换成该列的类型,如果不能转换,该值将作为本身的类型存储。 使用须知: -由于资源占用少、性能良好和零管理成本,嵌入式数据库有了他的用武之地。例如Android、IOS -没有可用于SQLite的网络服务器、只能通过网络共享可能存在文件锁定或者性能问题。 -只提供数据库级的锁定。 -没有用户账户概念,而是根据文件系统确定所有数据库的权限
    查看全部
  • SQLite是D.Richard Hipp用c语言写的开源嵌入式数据库引擎.他支持大多数SQL92标准,并且可以在所有主要操作系统上运行 ---引擎很小但是支持高达两个TB大小的数据库 ---以单个文件形式存在 ---以B-Tree的数据结构形式存储在磁盘 【SQLite特点】 1.轻量级 一个动态库、单文件 2.独立性 没有依赖、无需安装 3.隔离性 全部都在一个文件夹中 4.跨平台 支持众多操作系统 5.多语言接口 支持众多编程语言 6.安全性 事务 关于事务处理的安全性问题 -通过数据库上的独占性和共享锁来实现独立事务处理 -多个进程可以在同一事件从同一数据库读取数据,但只有一个可以写入 关于SQLite的数据类型 SQLite支持NULL,INTEGER,REAL,TEXT和BLOB数据类型 依次代表:空值 , 整形值 , 浮点值 , 字符串值 , 二进制对象 动态数据类型(弱引用) 当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型时关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如过不能转换,则该值将作为本身的类型储存 使用须知 -由于资源占用少,性能良好和零管理成本,嵌入式数据库有了它的用武之地:例如:Android,IOS -没有可用于SQLite的网络服务器,只能通过网络共享,可能存在的文件锁定或者性能问题 -只提供数据库级的锁定 -没有用户账户概念,而是根据文件系统确定所有数据库权限
    查看全部
  • 创建对象默认和自定义 默认:PreferebceManager.getDefauleSharedPreferences(上下文); 自定义:getSharedPreferences("自定义名称",权限) Editor editor = pref.edit();//编辑器对象 editor.commit();//提交, editor.remove(key)//移除 ref.getString(key)//取出
    查看全部
  • 一、各種申明: EditText etUserName,etUserPass; CheckBox chk; SharedPreferences pref; Editor edtior; etUserName = (EditText) findViewById(R.id.etuserName); etUserPass = (EditText) findViewById(R.id.etuserpass); chk = (CheckBox) findViewById(R.id.chkSaveName); 二:為登錄、取消按鈕添加屬性:(添加點擊事件的另一個方法) android:onClick="doClick" public void doClick(View v){ switch (v.getId()) { case R.id.btnLogin: String name = etUserName.getText().toString().trim();//去掉收尾的空格 String pass = etUserPass.getText().toString().trim(); if ("admin".equals(name)&&"123456".equals(pass)) { if (chk.isChecked()) { edtior.putString("userName", name); edtior.commit(); }else { edtior.remove("userName"); edtior.commit(); } Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_LONG).show(); }else { Toast.makeText(MainActivity.this, "禁止登陆", Toast.LENGTH_LONG).show(); } break; default: break; } }
    查看全部
  • DemoSharedPreferences I //第一种方法 //SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(this); //第二种方法 *//** * 第一个参数:文件名.xml * 第二个参数:模式;如MODE_PRIVATE:只有这个APP可以调用此对象sp *//* SharedPreferences sp=getSharedPreferences("myPref", MODE_PRIVATE); Editor editor=sp.edit(); //存储数据 editor.putString("Name", "慕课网"); editor.putInt("Age", 30); editor.putLong("Time", System.currentTimeMillis()); editor.putBoolean("Default", true); editor.commit();//如果这个不写的话,所有操作都无效 editor.remove("Default"); editor.commit(); //读取数据 Log.i("TAG", sp.getString("Name", "默认值"));//第二个参数:取不到数据的默认值 Log.i("TAG", String.valueOf(sp.getInt("Age", 0))); Log.i("TAG", String.valueOf(sp.getInt("Age1", 0)));//假设取不到 Ps:Eclipse中,Error提示,双击错误地方即可锁定错误的位置。
    查看全部
  • SharedPreferences存 SharedPreferences pref =getSharedPreferences("myPref", MODE_PRIVATE); String xname=edit1.getText().toString(); String xpass=edit2.getText().toString(); Editor editor = pref.edit(); editor.putString("name",xname); editor.putString("pass",xpass); editor.commit(); SharedPreferences取 SharedPreferences pref=getSharedPreferences("myPref",MODE_PRIVATE); String Name=pref.getString("name", ""); String Pass=pref.getString("pass", ""); String uinputname=edit11.getText().toString(); String uiputpwd=edit22.getText().toString(); 判断SharedPreferences存是否与输入相同 if (uinputname.equals(Name)&&uiputpwd.equals(Pass)) { Toast.makeText(MainActivity2.this, "登陆成功", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(MainActivity2.this, "登陆失败", Toast.LENGTH_LONG).show(); }
    查看全部
  • Uri的理解
    查看全部
  • 如何实现ContentProvider
    查看全部
  • 如何理解ContentProvider
    查看全部
  • 发送广播: Intent intent = new Intent() intent.putExtra("msg","这是普通广播") Intent.setAction("BC_One");//确保Intent的唯一性 sendBroadcast(intent) //发送广播 接收广播: 1.继承BroadcastReceiver,实现其方法onReceiver() String s=intent.getStringExtra("msg"); System.out.println("接收到消息"+s); abortBroadcast();//截断广播的方法,普通广播无法截断 清单文件(静态注册): <receiver android:name="包名加类名"> <intent-filter android:proprity="100"> //设置广播优先级,值为-1000~1000 <action android:name="包名.类名"/> </intent-filter> </receiver> 动态注册方法: IntentFilter intentfilter=new IntentFilter("Broadcast_one");//设置过滤 MyBroadcastReceiver2 receiver2 = new MyBroadcastReceiver2(); registerReceiver(receiver2, intentFilter); 注意: 1)动态注册的BroadcastReceiver优先级要比静态注册的高 2)动态注册有个弊端:如果当前java的程序结束了,动态注册的接收者将不再能收到广播。所以类似于短信拦截的BroadcastReceiver不能用动态注册。
    查看全部
  • SQLite常用方法
    查看全部
  • SQLite主要特点
    查看全部
  • sharedPreferences
    查看全部

举报

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

微信扫码,参与3人拼团

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

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