自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 第13章 继续进阶——你还应该掌握的高级技巧

这13章的内容不算很多,但却已经把Android中绝大部分比较重要的知识点都覆盖到了。从搭建开发环境开始学起,后面逐步学习了四大组件、UI、碎片、数据存储、多媒体、网络、定位服务、Material Design等内容,本章中又学习了如全局获取Context、定制日志工具、调试程序、多窗口模式编程、Lambda表达式等高级技巧。

2024-04-25 17:27:20 816

原创 第12章 最佳的UI体验——Material Design实战

Material Design是由谷歌的设计工程师们基于传统优秀的设计原则,结合丰富的创意和科学技术所发明的一套全新的界面设计语言,包含了视觉、运动、互动效果等特性。那么谷歌凭什么认为Material Design就能解决Android平台界面风格不统一的问题呢?一言以蔽之,好看!这次谷歌在界面设计上确实是下足了功夫,很多媒体评论,MaterialDesign的出现使得Android首次在UI方面超越了iOS。

2024-04-25 17:25:04 952

原创 第11章 Android特色开发——基于位置的服务

基于位置的服务简称LBS,其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置,而这种定位技术早在很多年前就已经出现了。在过去移动设备的功能极其有限,即使定位到了设备所在的位置,也就仅仅只是定位到了而已,我们并不能在位置的基础上进行一些其他的操作。而现在就大大不同了,有了Android系统作为载体,可以利用定位出的位置进行许多丰富多彩的操作。

2024-04-25 17:22:31 1313 2

原创 第10章 后台默默的劳动者——探究服务

首先看一下如何在项目中定义一个服务。新建一个ServiceTest项目,然后右击com.zhouzhou. servicetest→New→Service→Service→MyService,会弹出如图所示的窗口:将服务命名为MyService, Exported属性表示是否允许除了当前程序之外的其他程序访问这个服务,Enabled属性表示是否启用这个服务。将两个属性都勾中,点击Finish完成创建。@OverrideMyService是继承自Service类的,说明这是一个服务。

2024-04-25 17:20:28 553

原创 第9章 看看精彩的世界——使用网络技术

因此,一般我们都会在网络上传输一些格式化后的数据,这种数据会有一定的结构规格和语义,当另一方收到数据消息之后就可以按照相同的结构规格进行解析,从而取出他想要的那部分内容。其实没有你想象中的那么容易,因为如果我们在sendHttpRequest()方法中开启了一个线程来发起HTTP请求,那么服务器响应的数据是无法进行返回的,所有的耗时逻辑都是在子线程里进行的,sendHttpRequest()方法会在服务器还没来得及响应的时候就执行结束了,当然也就无法返回响应的数据了。

2024-04-25 17:19:32 509

原创 第8章 丰富你的程序——运用手机多媒体

首先需要创建出一个MediaPlayer对象,然后调用setDataSource()方法来设置音频文件的路径,再调用prepare()方法使MediaPlayer进入到准备状态,接下来调用start()方法就可以开始播放音频,调用pause()方法就会暂停播放,调用reset()方法就会停止播放。同意授权之后就可以开始播放音乐了,点击一下Play按钮,优美的音乐就会响起,然后点击Pause按钮,音乐就会停住,再次点击Play按钮(或者Pause按钮),会接着暂停之前的位置继续播放。

2024-04-25 17:17:35 1291

原创 第7章 跨程序共享数据——探究内容提供器

内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。目前,使用内容提供器是Android实现跨程序共享数据的标准方式。不同于文件存储和SharedPreferences存储中的两种全局可读写操作模式,内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险。不过在正式开始学习内容提供器之前,我们需要先掌握另外一个非常重要的知识——

2024-04-25 17:15:56 533

原创 第6章 数据存储全方案——详解持久化技术

数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失。保存在内存中的数据是处于瞬时状态的,而保存在存储设备中的数据是处于持久状态的,持久化技术则提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。持久化技术被广泛应用于各种程序设计的领域当中,而本书中要探讨的自然是Android中的数据持久化技术。Android系统中主要提供了3种方式用于简单地实现数据持久化功能,即文件存储、SharedPreferences存储以及数据库存储。

2024-04-25 17:14:30 602

原创 第5章 全局大喇叭——详解广播机制

为什么说Android中的广播机制更加灵活呢?注册和接收自己感兴趣的广播Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其他应用程序的。完整APIAndroid提供了一套完整的API,允许应用程序自由地发送和接收广播。发送/接收广播的方法发送广播的方法,就是借助之前稍微提到过学过的Intent。而接收广播的方法则需要引入一个新的概念——广播接收器(Broadcast Receiver)。

2024-04-25 17:09:51 1053 1

原创 第4章 手机平板要兼顾——探究碎片

需要注意的是,之前我们都是将适配器写成一个独立的类,其实也是可以写成内部类的,这里写成内部类的好处就是可以直接访问NewsTitleFragment的变量,比如isTwoPane。可以看到,在onCreate()方法中通过Intent获取到了传入的新闻标题和新闻内容,然后调用FragmentManager的findFragmentById()方法得到了NewsContentFragment的实例,接着调用它的refresh()方法,并将新闻的标题和内容传入,就可以把这些数据显示出来了。

2024-04-25 17:07:53 924 1

原创 第3章 软件也要拼脸蛋——UI开发的点点滴滴

在前面两节已经学习了Android中的一些常用控件以及基本布局的用法,不过当时我们并没有关注这些控件和布局的继承结构:可以看到,所用的所有控件都是直接或间接继承自View的,所用的所有布局都是直接或间接继承自ViewGroup的。View是Android中最基本的一种UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在View的基础之上又添加了各自特有的功能。

2024-04-25 17:05:29 1099

原创 第2章 先从看得到的入手——探究活动

从打印信息中就可以明显看出了,在SecondActivity中启动FirstActivity时,会发现返回栈中已经存在一个FirstActivity的实例,并且是在SecondActivity的下面,于是SecondActivity会从返回栈中出栈,而FirstActivity重新成为了栈顶活动,因此FirstActivity的onRestart()方法和SecondActivity的onDestroy()方法会得到执行。活动在onStart()方法和onStop()方法之间所经历的,就是可见生存期。

2024-04-25 17:03:53 617

原创 第一章 开始启程——你的第一行Android代码

Android从面世以来到现在已经发布了二十几个版本了。谷歌为Android王国建立了一个完整的生态系统。手机厂商、开发者、用户之间相互依存,共同推进着Android的蓬勃发展。

2024-04-25 17:02:42 1101 2

原创 页面置换算法之改进型CLOCK算法

2024-04-24 12:20:50 293

原创 Java学习——lambda表达式

一 、Lambda表达式前瞻知识什么是Lambda表达式?可以将Lambda表达式理解为一个匿名函数;Lambda表达式允许将一个函数作为另外一个函数的参数;我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码作为实参),也可以理解为函数式编程,将一个函数作为参数进行传递。为什么要引入Lambda表达式?Lambda表达式能够让程序员的编程更加高效lambda表达式和方法引用使用前提:函数式接口。

2024-04-07 11:25:29 473

原创 Android 中文 API (36) —— Toast

前言  本章内容是android.widget.Toast,版本为Android 2.2 r1,翻译来自"cnmahj"和"jiahuibin",欢迎大家访问他的博客:http://p.toolib.com/step,再次感谢"cnmahj"和"jiahuibin" !欢迎你一起参与Android API 的中文翻译,联系我[email protected]。声明  欢迎转载,但请保留文章原始出处    博客园:博客园 - 开发者的网上家园    Android中文翻译组:农民伯伯 - 博客园 正文  一

2024-03-29 11:28:44 741

原创 爬虫Python

print('%s视频大小:' % video_name, video_content.headers['content-length'])print('%s音频大小:' % video_name, audio_content.headers['content-length'])print("开始下载视频:%s" % video_name)# 视频分多种格式,直接取分辨率最高的视频 1080p。print('视频地址为:', video_url)print('音频地址为:', audio_url)

2024-03-08 09:28:29 702 1

原创 一文彻底搞懂 TCP三次握手、四次挥手过程及原理

TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过进行初始化的。同时由于TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议,TCP是,所以需要关闭连接。

2023-10-16 08:59:01 61

原创 一文读懂OSI七层模型和TCP/IP五层模型

本文主要介绍OSI七层模型和TCP/IP五层模型。维基百科定义:“OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。”OSI定义了网络互连的七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),如下图所示:图 1 OSI七层模型应用层:为应用程序或用户请求提供各种请求服务。OSI参考模型最高层,也是最靠近用户的一

2023-10-16 08:11:55 55

原创 修改浏览器编码格式

1.打开设置,点击默认浏览器,允许在IE模式下重新加载网站,然后重启浏览器。4.鼠标右键网页,点击编码,就可以实现了。3.选择在IE模式下重新加载。2.点击右上角的设置。

2023-09-25 11:57:47 2520

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除