一.服务是什么 服务(Service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行. 不过需要注意的是,服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程.当某个应用程序进程被杀掉时,所有依赖于该进程的服务也会停止运行. 另外,也不要被服务的后台概念所迷惑,实际上服务并不会自动开启线程,所有的代码都…
上一讲学习了很多关于服务的使用技巧,但是当在真正的项目里需要用到服务的时候,可能还会有一些棘手的问题让你不知所措.接下来就来综合运用一下,尝试实现一下在服务中经常会使用到的功能——下载. 在这一讲我们将要编写一个完整版的下载示例,其中会涉及到前面的许多内容,算是目前综合程度最高的一个例子了. 1.创建一个ServiceBestPractice项目 2.首先将项目中会使用到的依赖库添加好,编辑app/build.gradle文件,在dependencies闭包中添加如下内容,这里只需要添加一个Ok…
一.详解build.gradle文件 1.Android Studio是采用Gradle来创建项目的,Gradle是非常先进的构建的项目的工具,基于Groovy领域特定的语言(DSL)来声明项目配置,摒弃了传统基于XML(如Ant.Maven)的各种烦琐的配置. 2.Android项目中存在两个build.gradle文件,一个在外层,一个在app中: A.外层的build.gradle文件:当需要添加全局的项目构建配置时才修改其中的内容 jcenter():代码托管仓库,存放Android开源…
接下来的分析先从MMS中四大组件(Activity ,BroadCastReceiver,Service,ContentProvider),也是MMS中最核心的部分入手: 一. Activity  1.ConversationList 对话列表界面,这是进入应用程序的主界面.它有两个配置属性android:configChanges="orientation|keyboardHidden":在Android系统中,当程序所运行的环境(如:屏幕方向.键盘状态.字体等级,等等 )发生变化后…
Android应用程序使用java语言编写的.Android SDK工具将所有的数据和资源文件以及代码进行编译,打包称为一个apk文件.一个apk文件中的所有代码被认为是一个应用,android系统的设备使用这个apk文件来安装应用.          一旦在设备上安装了,每个android应用都生存在自己的安全沙盒内部:     ①android操作系统是一个多用户的linux系统,在这之中每一个应用是一个不同的用户     ②默认情况系,系统给每一个应用分配一个不相同的user id,这个u…
一.跨程序共享数据——内容提供器简介 内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性,目前,使用内容提供器是Android实现跨程序共享数据的标准方式. 不同于文件存储和SharedPreferences存储中的两种全局可读写操作模式,内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险. 在正式学习内容提供器之前,我们还需要…
一.Android的系统架构: 1.Linux内核层:提供Android硬件的各种驱动(显示驱动,音频驱动,蓝牙驱动,WiFi驱动等等) 2.系统运行库层:提供各种特性支持(数据库支持,绘图支持,浏览器内核支持) 3.应用框架层:构建应用程序的各种API 4.应用层:所有安装到手机的应用程序就属于该层. 二.Android四大组件: 1.活动(activity):所有Android应用程序的根本,应用程序上看到的东西都是放在activity 2.服务(service):不出现在屏幕上,在后台运行…
一.Android碎片(Fragment)的最佳实践——简易版新闻应用 第一步:新建FragmentBestPractice项目,在app/build.gradle当中添加:RecyclerView 依赖库,注意:添加完成后,一定要记住点击右上角的:Sync now 第二步:创建新闻实体类 第三步:创建新闻内容的布局文件:news_content_frag.xml 新闻内容布局主要分为两个部分:头部显示新闻标题.正文显示新闻内容,中间用一条细线分隔开,细线利用View来实现,通过backgrou…
相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了.Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色.它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务.必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态. 不过,虽然Service几乎被每一个Android程序员所熟知,但并不是每个人都已经将Service的各个知识点都掌握得…
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Microsoft都有各自的网络协议,互不兼容,这就好比一群人有的说英语,有的说中文,有的说德语,说同一种语言的人可以交流,不同的语言之间就不行了. 为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite…