Android随笔(一)

一.SQLite数据库

* 1.事务

beginTransaction();            // 开始事务

setTransactionSuccessful();    // 设置成功点, 在事务结束时, 成功点之前的操作会被提交

endTransaction();            // 结束事务, 通常放在finally中, 如果不显示关闭事务, 超时也会关闭, 但效率较低

* 2.另一种增删改查

SQLiteDatabase类中有insert(), delete(), update(), query()四个方法, 不用写SQL语句, 通过参数拼装得到SQL

通常使用在ContentProvider

二.ListView

1.三种Adapter构建ListView

ListView添加条目的时候, 可以使用setAdapter(ListAdapter)方法, 常用的ListAdapter有三种

BaseAdapter: 定义一个类继承BaseAdapter, 重写4个抽象方法, ListView的条目是由getView()方法构建出来的

SimpleAdapter: 创建SimpleAdapter对象时, 传入数据(List<Map<String, ?>>), 并指定数据的绑定关系

SimpleCursorAdapter: 创建SimpleCursorAdapter对象时, 传入一个Cursor, 指定数据的绑定关系

2.监听ListView的点击

调用ListView.setOnItemClickListener(OnItemClickListener)方法注册一个监听器

在监听器的onItemClick()方法中使用 parent.getItemAtPosition(position) 方法可以获取指定条目上的数据

BaseAdapter: 返回的就是自定义的getItem()方法中返回的数据

SimpleAdapter: 返回的是一个Map, 就是创建SimpleAdapter时List中的一个Map

SimpleCursorAdapter: 返回的是一个Cursor, 这个Cursor就是创建时传入的Cursor, 但是已经通过moveToPosition()方法指定到点击的索引了

三.内容提供者(ContentProvider)

1.什么是ContentProvider

ContentProvider可以用来把程序中的数据对外进行共享, 提供增删改查的方法

ContentProvider中可以注册观察者, 监听数据的变化

* 2.怎么创建

定义类继承ContentProvider, 实现抽象方法

在清单文件中注册

3.在手机上注册

将应用安装到手机上即可, 不用运行程序

* 4.怎么访问

获取解析器ContentResolver, 指定Uri

通过ContentResolver.insert(), delete(), update(), query()方法访问Uri关联的ContentProvider

5.Uri的处理

使用UriMatcher可以检查传入的Uri是否和指定的匹配

如果Uri带了id, 可以使用ContentUris获取id, 插入方法可以使用ContentUris给Uri加上id

时间: 2024-09-30 19:18:44

Android随笔(一)的相关文章

Android随笔之——闹钟制作铺垫之AlarmManager详解

说实话,之前写的两篇博客Android广播机制Broadcast详解.Android时间.日期相关类和方法以及现在要写的,都算是为之后要写的闹钟应用做铺垫,有兴趣的话,大家可以去看看前两篇博客. 一.AlarmManager简介 对于一个闹钟应用的实现,个人觉得最主要的应该要属于AlarmManager了.AlarmManager称为全局定时器,字面意思就是闹钟管理(请原谅我蹩脚的英语),是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent.简单的说就是我

【转】Android随笔之——PackageManager详解

参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括ActivityManager.PowerManager(电源管理).AudioManager(音频管理)等.除此之外,还提供了一个PackageManger管理类,它的主要职责是管理应用程序包. 通过PackageManager,我们就可以获取应用程序信息. 提到PackageManager,就得提

[转载] Android随笔之——PackageManager详解

本文转载自: http://www.cnblogs.com/travellife/p/3932823.html 参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括ActivityManager.PowerManager(电源管理).AudioManager(音频管理)等.除此之外,还提供了一个PackageManger管理类,它的主要职责是管理应用程

Android随笔之——PackageManager详解

参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括ActivityManager.PowerManager(电源管理).AudioManager(音频管理)等.除此之外,还提供了一个PackageManger管理类,它的主要职责是管理应用程序包. 通过PackageManager,我们就可以获取应用程序信息. 提到PackageManager,就得提

Android随笔之——模拟按键操作的几种方式

前几天转过一篇Android上模拟按键操作.触屏事件的博客,昨天又去找了百度.谷歌了一下,写了一点简单的测试代码,留待不时之需.有需要看之前转载的那篇博客的请看这里→_→转:Android随笔之——使用Root权限实现后台模拟全局按键.触屏事件方法(类似按键精灵),这里我就直接上代码了. 1 package com.lsj.keyboardsample; 2 3 import android.app.Activity; 4 import android.app.Instrumentation;

Android随笔之——静默安装、卸载

随笔之所以叫随笔,就是太随意了,说起来,之前的闹钟系列随笔还没写完,争取在十月结束之前找时间把它给写了吧.今天要讲的Android APK的静默安装.卸载.网上关于静默卸载的教程有很多,更有说要调用隐藏API,在源码下用MM命令编译生成APK的,反正我能力有限,没一一研究过,这里选择一种我试验成功的来讲. 静默安装.卸载的好处就是你可以偷偷摸摸,干点坏事什么的,哈哈~ 一.准备工作 要实现静默安装.卸载,首先你要有root权限,能把你的静默安装.卸载程序移动到system/app目录下. 1.用

[Android随笔]BroadcastReceiver广播机制

一,介绍 android四大组件之一:BroadcastReceiver 翻译成中文:广播接收者.在Android中,Broadcast是一种广泛运用在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的Broadcast(广播)进行过滤.接收.响应的一类组件. 呵呵,作为一个android研发学习者,我们想要学习使用BroadcastReceiver这个组件,当然实践是最好的方式.下面介绍BroadcastReceiver的几种使用方式. 二,使用方式 2.1 静态注

android 随笔

一 android基本架构 1 架构图直观 2 架构详解 21 Linux Kernel 22 Android Runtime 23 Libraries 24 Application Framework 25 Applications 3 总结 二 android dialog 三 图片 1 使用 MediaStoreImagesMediagetBitmap从Uri中获得bitmap以及其缺陷与优化 2 urifilepath互转 21 uri转path 22 path转uri 23 file转

Android随笔--使用ViewPager实现简单地图片的左右滑动切换

Android中图片的左右切换随处可见,今天我也试着查阅资料试着做了一下,挺简单的一个小Demo,却也发现了一些问题,话不多说,上代码~: 使用了3个xml文件作为ViewPager的滑动page,布局都是相同的,如下只展示其中之一: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/

Android随笔之——Android时间、日期相关类和方法

今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和SimpleDateFormat,今天会稍微提到关于这两个类的用法,下次会找个时间细讲. 一.Time类 在官方的API中,有建议说使用Time代替Calendar,原因不明,据说用Time对CPU的负荷比较小. 在Time中,年月日时分秒的转义字符分别对应%Y%m%d%H%M%S,切记,大小写千万不能写错