Android学习笔记(九)

Android学习笔记(九)

  • 使用SQL操作数据库
    • 添加数据:db.execSQL("insert into Book(name,author,pages,price) values(?,?,?,?)",new String[] ("The Da Vinci Code","Dan Brown"."454",16.96"});
    • 更新数据:db.execSQL("update Book set price = ? where name = ?",new String[] = {"10.99","the Da Vinci Code"});
    • 删除数据:db.execSQL("delete frome Book where pages>?",new String[] {"500"});
    • 查询数据:db.rawQuery("selece * from Book", null);
  • SQLite数据库实践
    • 事务:保证某一系列的操作要么全部完成,要么一个都不会完成。
      1. 开始事务:db.beginTransaction()
      2. 在异常捕获的代码块中去执行具体的数据库操作
      3. 在finally中执行结束事务:db.endTransaction()
    • 升级数据库较优写法:在onUpgrade方法中通过switch的方法来判定升级版本,并且执行不同的升级操作。
  • 内容提供器(Content Provider):用于在不同的应用程序之间实现数据共享的功能,提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。
    • 内容提供器的用法:现有的内容提供器来读取和操作和创建自己的程序的数据提供外部访问接口。
    • ContentResolver:用来访问内容提供器中的共享的数据。
      1. 通过Context中的getContentResolver()方法获取到该类实例
      2. 通过insert()方法用于添加数据,update()方法用于更新数据,delete()方法用于删除数据,query()方法用于查询数据。
      3. 与SQLIite不同,增删改查的第一个参数不接收表名参数,而是使用了一个URI参数代替(内容URI给内容提供器中的数据建立了唯一标识符)。
      4. 内容URI由两部分组成,权限(authority|用于区分不同应用程序)和路径(path|用于区分同一应用程序中不同的表)。例如:content://com.example.app.provider/table1.
      5. 内容URI转换为Uri对象:调用Uri.parse( )Uri uri = Uri.parse("content://com.example.app.provider/table1")
      6. 查询Uri对象来查询table1表中的数据:getContentResolver().query(),传入五个参数,第一个参数uri.第二个参数projection指定查询的列名,第三个参数selection指定where的约束条件,第四个参数selectionArgs为where中的占用符提供具体的值,第五个参数orderBy指定查询结果的排序方式。
    • 创建内容提供器
      1. 通过新建一个类去继承ContentProvider的方法来创建内容提供器
      2. 需要重写6个方法,onCreat()、query()、insert()、update()、delete()、getType()
      3. 内容URI可以以路径结尾期望访问该表所有数据,也可以以ID结尾期望访问该表中拥有相应ID的数据
      4. 通过UriMatcher这个类实现匹配内容URI的功能。UriMatcher提供了一个addURI()的方法,传入三个参数,第一个参数为权限,第二个参数为路径,第三个参数是自定义代码。之后通过UriMatcher的match()方法匹配Uri,匹配成功会返回自定义代码,然后就可以判断调用方期望访问的数据类型了。
      5. getType()方法:用于获取Uri对象所对应的MIME类型。MIME类型以vnd开通,如果内容URI以路径结尾,则后接android.cursor.dir/,如果内容URI以Id结尾,则后接android.cursor.item/最后接上vnd.< authority >. < path >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Android 的基本概念 Android 是一个开源的操作系统,主要用于移动设备,如智能手机、平板电脑等。它基于 Linux 内核,提供了丰富的应用程序框架和 API,支持多种开发语言,如 Java、C/C++、Kotlin 等。 Android 应用程序由多个组件组成,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)等。这些组件可以组合在一起,形成复杂的应用程序。 2. Android 应用程序开发 Android 应用程序开发主要使用 Java 编程语言和 Android SDK。开发工具包括 Android Studio、Eclipse 等。 Android 应用程序的结构包括布局文件、资源文件、Java 代码和清单文件等。布局文件用于定义应用程序的用户界面,资源文件包括图像、声音、样式、主题等,Java 代码实现应用程序的逻辑,清单文件描述应用程序的组件和权限等信息。 3. Android 应用程序的调试和测试 Android 应用程序的调试和测试可以使用 Android Studio 提供的调试工具,包括断点调试、日志记录等。还可以使用模拟器或真实设备进行测试。 4. Android 应用程序的发布 发布 Android 应用程序需要进行签名和打包操作,签名用于验证应用程序的身份和完整性,打包将应用程序打包成 APK 文件,可以上传到应用商店进行发布。 5. Android 应用程序的优化 Android 应用程序的优化包括优化布局、资源、代码和网络等方面,以提高应用程序的性能和用户体验。其中,布局优化包括使用布局最优化算法、使用自定义视图等;资源优化包括压缩资源、使用向量图形等;代码优化包括使用异步任务、使用缓存等;网络优化包括使用数据压缩、使用本地存储等。 6. Android 开发的挑战 Android 开发面临的挑战包括设备碎片化、安全问题、性能问题等。设备碎片化指的是不同设备的屏幕尺寸、分辨率、操作系统版本等不同,需要对应用程序进行适配;安全问题指的是应用程序需要保证用户数据的安全和隐私;性能问题指的是应用程序需要保证快速响应和流畅运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值