版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、2015/11/13当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到 IntentFilter对象除了用于过滤广播的IntentFilter可以在代码中创建外,其他的IntentFilter必须在AndroidManifest.xml文件中进行声明。2、3、静态注册实现开机启动不要在on Receive。方法中添加过多的逻辑或者进行任何的耗时操作,因为在广播接收 器中是不允许开启线程的,当on ReceiveO方法运行了较长时间而没有结束时,程序就会报错。发送有序广播MODE_PRIVATE仍然是默认的操作模式,和直接传入0效
2、果是相同的,表示只有当前的应用程序才可以对这个Shared Prefere nces文件进行读写6、android:layout_span控件跨越的列数7、要调用setCancelable()方法将对话框设为不可取消2015/11/16 1、Log for Java创建对话框两种方式 activity、fragment 设计模式蓝牙低功耗模式通信1、静态注册实现开机启动:程序在未启动的情况下就能接收到广播。2、在广播接收器中是不允许开启线程的3、发送标准广播在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发。4、发送有序广播:sendOrderedBro
3、adcast()方法接收两个参数,第一个参数仍然是Intent,第二个参数是一个与权限相关的字符串,这里传入null就行了。5、 设定广播接收器的先后顺序:an droid: priority属性给广播接收器设置了优先级,优先级比较高的广播接收器就可以先收到广播。6、中断广播:在onReceive()方法中调用了 abortBroadcast()方法,就表示将这条广播截断, 后面的广播接收器将无法再接收到这条广播。5.4使用本地广播1、系统全局广播:即发出的广播可以被其他任何的任何应用程序接收到,并且我们也可以 接收来自于其他任何应用程序的广播。2、本地广播是无法通过静态注册的方式来接收的。其
4、实这也完全可以理解,因为静态注册主要就是为了让程序在未启动的情况下也能收到广播,而发送本地广播时,我们的程序肯定是已经启动了,因此也完全不需要使用静态注册的功能。3、最后我们再来盘点一下使用本地广播的几点优势吧。1. 可以明确地知道正在发送的广播不会离开我们的程序,因此不需要担心机密数据泄漏的 问题。2. 其他的程序无法将广播发送到我们程序的内部,因此不需要担心会有安全漏洞的隐患。3. 发送本地广播比起发送系统全局广播将会更加高效。5.5广播的最佳实践一一实现强制下线功能1、实现强制下线功能的思路:只需要在界面上弹出一个对话框,让用户无法进行任何其他 操作,必须要点击对话框中的确定按钮,然后回
5、到登录界面即可。2、强制下线功能需要先关闭掉所有的活动,然后回到登录界面。3、 类名.class是能对类名的引用取得在内存中该类型class对象的引用。4、 setCancelable()方法将对话框设为不可取消,否则用户按一下 Back键就可以关闭对话框 继续使用程序了。6.2文件存储1文件存储不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件 当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。2、MODE_PRIVATE是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而MODE_A PP END 则表示如果该文件已存在就往文件
6、里面追加内容,不存在就创建新文件。3、关于JAVA流1. 数据从内存中写入硬盘时,顺序是,缓冲流-转化流-文件流;而缓冲流是字符流,本例中的文件流out是字节流,所以是字符流到字节流的桥梁;数据从硬盘中读入内存时,顺序是,文件流-转换流-缓冲流;所以读入的时候,转换流是字节流到字符流的桥梁;2. 转换流 InputStraemReader 和 OutputStreamWriter 是将字节流转换成字符流BufferedReader带缓冲的字符流输入,BufferedInputStream带缓冲的字节流输入,最后一个单词是 Reader Writer还是InputStream OutputStr
7、eam说明了这个流是字符流还是 字节流例如BufferedReader,为字符输入流前面的单词是什么代表了这个流具备了什么增强的功能,增加了缓冲区的功能FileOutputStream,是用来操作文件的字节输入流,File代表操作的目的, OutputStream代表这是个输出的字节流4、setSelection方法将输入光标移动到文本的末尾位置以便于继续输入6.3 Shared Preferences 存储1、 SharedPreferences是使用键值对的方式来存储数据的。 也就是说当保存一条数据的时候, 需要给这条数据提供一个对应的键, 这样在读取数据的时候就可以通过这个键把相应的值取
8、 出来。2、 MODE_PRIVATE仍然是默认的操作模式, 和直接传入 0效果是相同的,表示只有当前 的应用程序才可以对这个 Shared Prefere nces文件进行读写。MODE_MULTI_ PROCESS则一 般是用于会有多个进程中对同一个Shared Prefere nces文件进行读写的情况。3、 getShared Prefere nces 是 Con text 类中的方法,可以指定file name 以及 mode。getPreferences 是 Activity 类中的方法,只需指定mode。4、 每个应用有一个默认的偏好文件Preferences.xml,使用get
9、DefaultSharedPreferences获取6.4 SQLite数据库存储1表名大小写无所谓NULL , 般我2、第二个参数用于在未指定添加数据的情况下给某些可为空的列自动赋值们用不到这个功能,直接传入null即可。3、getReadableDatabase()和getWritableDatabase()。这两个方法都可以创建或打开一个现有的数据库(如果数据库已存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。不同的是,当数据库不可写入的时候(如磁盘空间已满) getReadableDatabase()方法返回的对象将以只读的方式去打开数据库,而 get
10、WritableDatabaseO方法则将出现异常。2、3、5、6、7、8、9、4、adb 的全称为 Android Debug Bridge ,就是起到调试桥的作用。5、android_metadata 表是每个数据库中都会自动生成的,不用管它。6、 更新数据:up date()方法,这个方法接收四个参数,第一个参数和in sert()方法一样,也是表名,在这里指定去更新哪张表里的数据。第二个参数是ContentValues 对象,要把更新数据在这里组装进去。 第三、 第四个参数用于去约束更新某一行或某几行中的数据,不指定的话默认就是更新所有行。7、moveToFirst() 方法将数据的指
11、针移动到第一行的位置8、 getColumnindex(string name)根据 name 的名称获得它的列索引,因为getString,getInt 这些方法需要的是列索引。而不是列名称,这是一个转化。第 7 章跨程序共享数据,探究内容提供器1、内容提供器( Content Provider )主要用于在不同的应用程序之间实现数据共享的功能, 它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访 数据的安全性。Projection: 指定查询的列名bin 目录和 gen 目录下的文件都是会自动生成的, 我们不应该将这部分文件添加到版本 控制当中,否则有可能会对文件
12、的自动生成造成影响8.1 使用通知1、PendingIntent 简单地理解为延迟执行的 Intent。2、 layout_centerlnParent:居中显示,将这个控件显示在父窗口的中间位置.3、 sms是short message的缩写sms message就是短消息又称短信4、 bundle.get(pdus);这是去 bundle 中取值,bundle 就像一个 map 样,key-value 的形式保 存数据的,这个pdus就是一个keyabort 中止(Environment.getExternalStorageDirectory() 获得根目录uri 资源标识符 ; 资源定位
13、 ; 统一资源定位符decode 解码bitmap 位图10、 album 相册1、2、3、4、5、6、7、8、9、9 服务服务是安卓实现程序后台运行的解决方案Android 不允许在子线程里进行 UI 操作Handler 处理者Looper 循环器 ;Looper 则会一直尝试从 MessageQueue 中取出待处理消息;由于Handier是在主线程中创建的,所以此时handleMessage()方法中的代码也会在主线程中运行Async 异步的AsyncTask 背后的实现原理也是基于异步消息处理机制的, 只是 Android 帮我们做了很 好的封装而已。 AsyncTask 为抽象类cl
14、ass DownloadTask extends AsyncTaskWoid, Integer, Boolean 第一个泛型参数指定为Void,表示在执行 AsyncTask的时候不需要传入参数给后台任务。第二个泛型参数指定为Integer,表示使用整型数据来作为进度显示单位。第三个泛型参数指定为Boolean,则表示使用布尔型数据来反馈执行结果onPreExecute() 后台任务开始之前调用,用于执行页面上一些初始化操作 doInBackground() 方法中的所有代码都会在子线程中运行,我们应该在这里去处理所有的耗时任务。任务一旦完成就可以通过 return 语句来将任务的执行结果返回
15、。该方法 不能执行 UI 操作,如果需要更新 UI 元素,比如反馈当前任务执行进度,可以调用 p ublish Progress。方法执行onProgressUpdate(),在 publishProgress。调用之后执行,对 UI 进行操作 onP ostExecute(Result)当后台任务执行完毕并通过return语句进行返回时,这个方法就很快会被调用。返回的数据会作为参数传递到此方法中,可以利用返回的数据来进 行一些 UI 操作;比如:提醒任务执行结果,关闭掉进度条对话框使用 AsyncTask 的诀窍就是, 在 doInBackground() 方法中去执行具体的耗时任务, 在o
16、nProgressUpdate()方法中进行 UI操作,在 onPostExecute()方法中执行一些任务的 收尾工作。调用 publishProgress() 方法就可以轻松地从子线程切换到 UI 线程on StartComma nd()服务一旦启动立刻去执行某个操作on Create()方法是只在服务第一次创建的时候调用一个服务既调用了 startService()方法,又调用了 bindService()方法,要同时调用 stopService()和 unbindService 方法,onDestroy()方法才执行。前台服务一直会有图标在状态栏显示 安卓手机在长时间不操作的情况下,会
17、让 CPU 进入睡眠状态,导致 Timer 中的定 时服务无法正常进行 .Alarm 机制在这种情况下,具有唤醒 CPU 的功能。AlarmManager 的工作类型,有四种类型可以选择 ELAPSED_REALTIME 表示让定时任务的触发时间从系统开机开始算起,但不会唤醒CPU。ELAPSED_REALTIME_WAKEUP 同样表示让定时任务的触发时间从系统开机开始算起, 会唤醒 CPU。RTC 表示让定时任务的触发时间从10、11、12、13、14、15、16、17、18、19、1970 年 1 月 1 日 0 点开始算起,但不会唤醒 CPU。1970 年 1 月 1 日 0 点开始算
18、起,但RTC_WAKEUP 同样表示让定时任务的触发时间从 会唤醒 CPU。使用 SystemClock.elapsedRealtime() 方法可以获取到系统开机至今所经历时间的毫秒数使用 System.currentTimeMillis() 方法可以获取到 1970 年 1 月 1 日 0 点至今所经历时间 的毫秒数。二个参数定时任务的触发时间 (延迟时间 )20、21、22、第三个参数是 PendingIntent,Intent 是及时启动, intent 随所在的 activity 消失而消 失。 PendingIntent 可以看作是对 intent 的包装,通常通过 getActi
19、vity,getBroadcast ,getService 来得到 pendingintent 的实例,当前 activity 并不能马 上启动它所包含的 intent, 而是在外部执行 pendingintent 时,调用 intent 的。Intent 一般是用作 Activity 、Sercvice、BroadcastReceiver 之间传递数据, 而 Pendingintent , 一般用在 Notification 上,可以理解为延迟执行的 intent, PendingIntent 是对 Intent 一个 包装。triggerAtTime 触发时间elapsedRealtime
20、 经过的时间10 网络技术WebView 已经在后台帮我们处理好了发送 HTTP 请求、接收服务响应、 解析返回数据, 以及最终的页面展示。1、2、3、4、5、6、7、9、10、11、12、13、14、15、Htt pURLCo nn ecti on 和 Htt pCIie nt 都是 An droid 发送 Http 请求GET表示希望从服务器那里获取数据,而 POST给服务器提交数据Entity实体obj物体,对象执行execute()方法之后会返回一个HttpResponse对象,服务器所返回的所有信息就会包含在这里面。通常情况下我们都会先取出服务器返回的状态码,如果等于200就说明请求
21、和响应都成功了Parser解析器In de nt 让xml文件缩进Omit忽略,遗漏,删掉declaratio n 声明uri资源标识符qualified name 限定名称Attribute 属性attrs.clear(); /清空属性列表openFileOutput()方法的第一参数用于指定文件名称,创建的文件保存在/data/data/files 目录第二参数用于指定操作模式Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身 访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用 Con text.MODE
22、_A PP ENDContext.MODE_APPEND :模式会检查文件是否存在,存在就往文件追加内容,否则就 创建新文件。16、17、Context.MODE_WORLD_READABLE 和 Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。MODE_WORLD_READABLE :表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE :表示当前文件可以被其他应用写入。如果希望文件被其他应用读和写,可以传入:openFileOutput( “ itcast.txt ” ,Con text.MODE_WORLD_READABL
23、E + Con text.MODE_WORLD_WRITEABLE);property 属性Pull解析文件的获取* 1.xml文件放在res的xml文件夹下(推荐)使用XmlResource Parser xmlP arser = this.getResources().getXml(R.xml.XXX);* 2.xml文件放在raw的xml文件夹下使用Inpu tStream inpu tStream =this.getResources(). op enRawResource(R.raw.XXX);* 3.xml 文件放在 assets文件夹下 InputStream inputStre
24、am = getResources().getAssets().openfileName);* 4.xml文件放在SD卡,path路径根据实际项目修改,此次获取SDcard根目录:* String p ath = Environment.getExternalStorageDirectory().toString();* File xmlFlie = new File (p ath+fileName);* Inpu tStream inpu tStream = new Filel npu tStream(xmlFlie);5、SharedPreferences是An droid平台上一个轻量级的存储类18trim()去掉字符串两边的内容;传感器1、2、3、4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金太阳2026届高三联考313C语文试题(含答案)
- 护理老年护理学知识
- 放射科护理人员的营养支持护理能力培养
- 2026年小学生科学素养分阶段培养目标与课程设计
- 2026年边缘计算识别砂轮磨损与颤振自主调整参数
- 2026年CCER项目投资风险识别与回报周期评估框架
- 2026年AI手机AI笔记本电脑智能网联汽车等新一代智能终端推广指南
- 2025年前台服务技能考核
- 环境监测行业环境监测设备升级方案
- 2026年人工智能开源社区建设与开源生态繁荣路径操作手册
- 2026年枣庄职业学院单招职业适应性测试必刷测试卷及答案1套
- 农副食品醋创新创业项目商业计划书
- 天津警务通系统应用培训
- 机械加工标准作业指导书范本
- 村文书考试题及答案甘肃
- 扎兰屯护理单招题库及答案解析
- 养老机构服务质量评估报告范文
- 2025吉林农业大学三江实验室人才招聘考试参考试题及答案解析
- 安全生产责任制矩阵
- 2025内蒙古鄂尔多斯生态环境职业学院人才引进38人模拟试卷附答案详解(突破训练)
- 字体侵权培训课件
评论
0/150
提交评论