-
G而试图热Over腊月View的简单解释查看全部
-
SimpleOnGestureListener包含了两种接口查看全部
-
OnDoubleTapListener接口的几种方法查看全部
-
OnGestureListner借口的几种方法查看全部
-
1.Broadcast广播 广泛运用在应用程序之间传输信息的机制 2.BroadcastReceiver广播接收者 对广播进行过滤接收并响应的一类组件,就是用来接收来自系统和应用中的广播 3.用途 开机完成后系统会产生广播 网络状态改变时系统会产生广播 电池电量改变时,系统会产生广播 Android为什么要这样设计? 大大减少开发工作量和开发周期 作为应用开发者只需要掌握BroadcastReceiver 使用方法: 发送: 把信息装入一个Intent对象(如Action,Category) 通过调用相应的方法将Intent对象以广播方式发送 sendBroadcast() sendOrderBroadcast() sendStickyBroadcast() 接收: 当Intent发送后,所有已经注册的BroadcastReceiver会检查注册时IntentFilter是否与发送的Intent相匹配,匹配成功就会调用BroadcastReceiver的onReceive()方法。 所以定义一个BroadcastReceiver时都需要实现onReceive()方法 注意: BroadcastReceiver需要注册 静态注册 代码注册 注意!! BroadcastReceiver生命周期只有10秒左右 在BroadcastReceiver里不能做耗时操作 应该通过发送Intent给Service,由Service来完成 不能使用子线程 广播的种类: 普通广播Normal broadcasts -所有监听该广播的广播接受者都可以间听到该广播 有序广播Oraered broadcasts -按照接受者的优先级顺序接收广播,优先级别在intent-filter中的priority中声明,-1000到1000间,值越大优先级越高.可终止光比意图的继续传播,接收者可以篡改内容. 异步广播(滞留广播) -不能将处理结果传给下一个接受者,无法终止广播 普通广播贴点: 同级别接收先后是随机的(无序) 级别低的后收到广播 接收器不能截断广播继续传播也不能处理广播 同级别动态注册高于静态注册 有序广播特点: 同级别接收顺序时随机 能截断广播的继续传播,高级别广播接收器收到该广播后,可以决定把该广播是否截断 接收器能截断广播的继续传播,也能处理广播 同级别动态注册高于静态注册查看全部
-
实现一个contentprovider子类查看全部
-
手势识别查看全部
-
增加查询联系人的读取权限 <uses-permissionandroid:name="android.permission.READ_CONTACTS"/> 增加输入内容时要增加两个权限 <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 使用系统提供的ContentProvider --查询联系人 --增加联系人 --短信读取 --通话记录 --多媒体(图片,视频,音频) --.......... 使用自定义的ContentProvider -实际意义不大,需要写所有的Provider查看全部
-
何为Uri? -Uri是指通用资源标志符 content://com.imooc.provider/music/# content://---前缀表明数据受控于一个内容提供者.它从不修改,也就是schema com.imooc.provider---是指在AndroidMainfest.xml中我们注册的provider中的authorities属性所对应的唯一的 /music---具体操作于哪个条目 /#---具体指定到哪个条目下的那条记录(#标识通配符) UriMatcher类 UriMatcher matcher=new UriMatcher(UriMatcher.NO_MATCH); UriMatcher.NO_MATCH 表示不匹配任何路径的返回码 matcher.addURI("com.imooc.provider","music",1); 往UriMatcher类里面添加一个拼凑的Uri UriMatcher为一个Uri的容器,容器里面包含着我们即将可能要操作的Uri 如果通过match()方法匹配成功就返回code值 matcher.match(uri) 受限与通过addURI()方法添加进来的Uri匹配 匹配成功则返回设置的code值,反之,返回一个UriMatcher.NO_MATCH常量(-1) ContentResolver: -使用ContentResolver操作ContentProvider中的数据: 当外部应用需要对ContentProvider中的数据进行添加,删除,修改和查询操作时,可以使用ContentResolver类来完成 使用Activity提供的getContentResolver()方法获取ContentResolver对象 ContentResolver类提供了与ContentProvider类相同签名的四个方法查看全部
-
数据储存方式: -Shared Preferences -文件储存 -SQLite -其他还有网络存储等 以上不可完成的任务 -都只能在单独的一个应用程序之中达到一个数据的共享 如何理解ContentProvider? 数据ContentProvider<-----增,删,改,查(通过Uri访问)其他程序等等 如何实现ContentProvider? 1继承抽象类ContentProvider实现一系列针对数据的增,删,改,查等方法; 2需在AndroidMainfest.xml中完成对ContentProvider的注册. <provider android:name="com.imooc.MusicProvider" android:authorities="com.provider.music"> </provider> 注:注册authorities属性值时全局唯一的查看全部
-
当应用程序在安装时系统就会分配给它一个userid,当该应用取访问其他资源比如文件的时候,就需要userid匹配.默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/<包名>/files),其他程序无法访问.除非在创建时指定了MODE_WORLD_WRITEABLE或者MODE_WORLD_READABLE查看全部
-
MODE_PRIVATE -为默认操作模式,代表该文件时私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文的内容 MODE_APPEND -模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件 MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE -用来控制其他应用是否由权限读写该文件 MODE_WORLD_READABLE -标识当前文件可以被其他应用读取 MODE_WORLD_WRITEABLE -标识当前文件可以被其他应用写入 //这个目录是当前应用程序默认的数据储存目录 File file=this.getFilesDir(); //这个目录是当前应用程序默认的缓存文件的存放位置 //把一些不是非常重要的文件在此处创建,使用 //如果手机的内存不足时,系统会自动去删除APP的cache目录数据 File file1=this.getCacheDir(); //这个目录是当前应用程序默认目录下的自定义目录 // /data/data/<包名>/app_imooc File file2=this.getDir("imooc",MODE_PRIVATE); //可以得到外部的存储位置 该位置的数据跟内置的使用时一样的 //如果APP卸载了 这里面的数据也会自动清除掉 //如果开发者不遵守这样的规则,不把数据放入 // data/data/<包名>或者/mnt/sdcard/Android/data/<包名> // 卸载之后数据将不会自动清除掉 将会造成所谓的数据垃圾 File file3=this.getExternalFilesDir(Type); File file4=this.getExternalCacheDir();查看全部
-
Android常用的四中存储方式: 1、shareprences 2、sqlite 3、contentProvider 4、file/网络 sharePrences 的使用方式: 1、首先获取一个sp对象 ## 第一种方式: 在Activity的onCreate()方法里 通过getSharePrences() ## 第二种方式: PrencesManager.getDefaultPrences 获取了sp对象 2、获取编辑器对象 sp对象.editor() ; 3、通过edit对象put("key","value"); 4、 commit()提交数据; 我们还可以edit对象.remove("key") 移除数据 如何获取数据 通过sp对象.get(“key”); 获取数据 根据 getXX类型获取什么类型的数据。查看全部
-
GestureDetector的详解查看全部
-
手势识别中关键字的解释查看全部
举报
0/150
提交
取消