Android
发量惊人
这个作者很懒,什么都没留下…
展开
-
第一行代码——服务(4)服务的更多技巧
前台服务优点:服务一直保持运行状态,不会由于系统内存不足的原因导致回收。前台服务与普通服务的区别:前者会一致有一个正在运行的图标在系统显示栏显示。创建一个前台服务:注意:调用startForeground()方法将MyService变成前台服务,并将通知显示出来。startForeground()方法中参数:第一个为id,第二个为Notification对象。修改MyService中代码...原创 2019-03-17 16:03:53 · 221 阅读 · 0 评论 -
通知的更多功能
1. 播放音频setSound()方法接收一个Uri参数,所以在指定音频文件时要先获取音频文件对应的URI。例如每个手机/system/media/audio/ringtones目录下有很多音频文件,我们从中随便选一个文件,就可这样指定:Notification notification = new NotificationCompat(this,"default") ...原创 2019-06-16 18:41:11 · 270 阅读 · 0 评论 -
使用通知
创建通知的基本步骤1. 获取NotificationManager实例getSystemService():接收一个字符串参数用于确定获取系统哪个服务。NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);2. 使用Builder构造器创建No...原创 2019-06-16 17:50:30 · 218 阅读 · 0 评论 -
持久化技术——文件存储
该方法不对存储内容进行任何格式化处理,比较适合用于一些简单的文本数据或二进制数据。将数据存储到文件中Context类中提供了一个openFileOutput()方法,用于将数据存储到指定的文件中。该方法接收两个参数:文件名。这里指定的文件名不能包含路径,所有文件默认存储在/data/data//files/目录下。文件的操作模式。MODE_PRIVATE:当指定同样的文件名时,所写的内...原创 2019-06-13 16:19:10 · 150 阅读 · 0 评论 -
内容提供器——跨程序共享数据
在DatabaseTest项目的基础上继续开发DatabaseTest项目见持久化技术——SQLite数据库存储1. 创建内容提供器右击com.example.databasetest包–>New–>Other–>Content Provider,将内容提供器命名为DatabaseProvider,authority指定为com.example.databasetest.p...原创 2019-06-16 11:55:59 · 186 阅读 · 0 评论 -
广播的最佳实践——实现强制下现功能
新建项目BroadcastBestProctice1.创建一个类ActivityCollector用于管理所有活动package com.example.broadcastbestpractice;import android.app.Activity;import java.util.ArrayList;import java.util.List;public class A...原创 2019-06-16 15:54:29 · 197 阅读 · 0 评论 -
内容提供器——创建自己的内容提供器
URI的格式:(1)content://comple.app.provider/table:期望访问com.example.app应用中table表中数据。(2)content://comple.app.provider/table/1:期望访问com.example.app应用中table表中id为1的数据。通配符:(1)*:匹配任意长度的任意字符。(2)#:匹配任意长度的数字。Ur...原创 2019-03-17 16:03:10 · 572 阅读 · 0 评论 -
发送自定义广播:跨进程通信、发送有序广播、发送标准广播、本地广播
发送标准广播1.新建一个广播接收器MyBroadcastReceiverpackage com.example.broadcasttest;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget...原创 2019-06-16 15:54:14 · 666 阅读 · 0 评论 -
静态注册实现开机启动
静态注册方式:在AndroidMainfest中注册。可以让程序在未启动的情况下就能接收到广播。1.创建广播接收器右击com.example.broadcasttest包–>New–>Other–>BroadcastReceiver,将广播接收器命名为BootCompletedReceiver,选择Exported和Enable属性。Exported:表示是否允许这个广播...原创 2019-06-16 15:54:44 · 438 阅读 · 0 评论 -
内容提供器——在程序运行时申请管理权限
Android现在将所有的权限分为了两类,一类是普通权限,一类是危险权限。普通权限:指那些不会直接威胁到用户的安全和隐私的权限,对于这一部分权限申请,系统会自动帮我们授权。危险权限:表示那些可能会触及用户隐私,或者对设备安全性造成影响的权限,如获取设备联系人信息,定位设置的地理位 置等,对于这部分权值,必须由用户手动点击授权才可以使用相应功能。在本例...原创 2019-02-21 13:48:05 · 182 阅读 · 0 评论 -
数据存储全方案——SQLite数据库存储
创建数据库SQLiteOpenHelper是一个抽象类。包含抽象方法:onCreat()、onUpgrade()。包含实例方法:getReadableDatabase()、getWritableDatabase()。两个实例方法都可创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象。但当数据可以不可写入的时候,getReadableDatabase()方法返回的对象将以只...原创 2019-06-13 17:41:46 · 753 阅读 · 0 评论 -
持久化技术——使用LitePal操作数据库
LitePal是一款开源的Android数据库框架,采用了对象关系映射的模式。LitePal的项目主页上有详细的使用文档,地址为http://github.com/LitePalFramework/LitePal。配置LitePal在app/buile.gradle文件中声明该开源库的引用。在dependencies闭包中添加该内容compile 'org.litepal.andro...原创 2019-06-13 16:16:56 · 244 阅读 · 1 评论