- 博客(27)
- 资源 (10)
- 收藏
- 关注
原创 Android中View滑动的六种方式
View的滑动是Android实现自定义控件的基础,同时在开发中我们也难免会遇到View的滑动处理。其实不管是哪种滑动方式,其基本思想都是类似的:当点击事件传递到View时,系统记下触摸点的坐标,手指移动式系统记下移动后的触摸的坐标并算出偏移量,并通过偏移量来修改View的坐标。
2024-08-07 15:44:13
1173
原创 Android Dalvik虚拟机
虽然Android平台使用Java语音来开发应用程序,但Android程序却不是运行在Java虚拟机上的。可能是为了解决移动设备上软件运行效率的问题,也可能是为了规避与Oracle公司的版权纠纷。Google为Android平台专门设计了一套虚拟机来运行Android程序,它就是Dalvik Virtual Machine(Dalvik虚拟机)。
2024-08-01 14:43:06
795
原创 使用GDB调试指南(C程序)
软件开发的一个很重要的工作就是测试程序和排除错误,特别是在一个大程序中,编程错误(bug)是不可避免的。程序可能会返回错误的结果,因无穷循环而死机,甚至因内存操作不当导致系统崩溃。找出这些错误并消灭它们,就需要“调试”程序。仅仅研究源代码很难找出太多bug的。程序的测试版本如果能够提供额外的信息输出,会有很大帮助的,也可以增加状态输出语句,以显示运行时变量内容和其他信息。也可以使用调试器排除运行时错误。调试器是一个程序,可以在一个严密的环境中执行另一个程序。
2024-07-22 15:05:53
2110
原创 Android中打印某应用的堆栈信息
debuggerd是android的一个daemon进程,负责在进程异常出错时,将进程的运行时信息dump出来供分析。debuggerd生成的coredump数据是以文本形式呈现,被保存在 /data/tombstone/ 目录下(名字取的也很形象,tombstone是墓碑的意思),共可保存10个文件,当超过10个时,会覆盖重写最早生成的文件。从4.2版本开始,debuggerd同时也是一个实用工具:可以在不中断进程执行的情况下打印当前进程的native堆栈。
2024-06-04 18:05:07
610
原创 Android中GRPC的使用-拦截器
在构建GRPC应用程序时,无论是客户端应用程序,还是服务端应用程序,在远程方法执行之前后之后,都可能需要执行一些通用逻辑。在GRPC中可以拦截RPC的执行,来满足特定的需求,如日志、认证、性能度量指标等,这会使用一种名为拦截器的扩展机制。GRPC提供了简单的API,用来在客户端和服务器端的GRPC应用程序中实现拦截器。根据所拦截的RPC调用的类型,GRPC拦截器可风味两类:客户端拦截器和服务端拦截。
2022-12-29 15:29:57
7367
原创 Android中GRPC的使用-4种通信模式
GRPC四种基础通信模式:一元RPC、服务器端流RPC、客户端流RPC以及双向流RPC。下面分别四种模式进行介绍,并在Android环境中来实现服务和客户端。
2022-12-15 16:49:17
8299
原创 Kotlin面向对象
面向对象编程通过对事物的抽象,大大的简化了程序的开发难度。我们常用的编程语言:Java、C++、Python都属于面向对象编程。Kotlin与java类似,也是一种面向对象编程语言。本文从面向对象三个基本特征:封装、继承、多态,来阐述一下Kotlin中的面向对象编程。
2021-12-20 16:09:15
18215
原创 Kotlin基础语法
Kotlin是一种在Java虚拟机上运行的静态类型编程语言,被称为之为Android世界的Swift,Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言,足见Kotlin将来会成为android开发的主流语言。
2021-12-07 10:15:08
9716
原创 Android高级工程师面试题整理——java面试题
相信每次面试之前,大家都会大量刷一下面试题来应该对各种公司的面试吧,下面整理一下android方面的面试题分享给大家。本文主要分为以下几部分:java面试题Android面试题高级开发技术面试题跨平台Hybrid 开发1、Java中equals、hascode和==的区别答:==(双等号):对于基本数据类型(byte、short、char、int、long、float、doubl...
2019-09-23 16:44:42
1001
原创 android事件分发机制原理源码分析详解
我们都知道,在android里当点击一个控件时,系统能准确地将事件传递给真正需要这个事件的控件,那么当android系统捕获到用户的各种输入时间之后,是如何传递分发的呢?其实android系统我们提供了一整套完善的事件传递、分发、处理机制,来帮助开发者完成准确的事件分发与处理。 要了解触摸事件的拦截机制,首先要了解什么是触摸事件?顾名思义,触摸事件就是捕获触摸屏幕后产生的事件。通常的当点击屏...
2019-09-12 14:49:16
1178
原创 Beyond Compare 4 注册码
--- BEGIN LICENSE KEY --- H1bJTd2SauPv5Garuaq0Ig43uqq5NJOEw94wxdZTpU-pFB9GmyPk677gJ vC1Ro6sbAvKR4pVwtxdCfuoZDb6hJ5bVQKqlfihJfSYZt-xVrVU27+0Ja hFbqTmYskatMTgPyjvv99CF2Te8ec+Ys2SPxyZAF0YwOCNOWmsyq...
2019-09-07 20:50:58
1381
原创 Git 常用基本命令使用详细大全
在进行项目开发时,都会用到版本控制工具,如svn、git等,随着git的发展,渐渐的被越来越多的人使用,甚至慢慢在取代svn的地位。下面从git仓库的创建、git常用的基本命令、git的分支管理、git提交历史查看来介绍git的使用。当然下面所涉及的命令都是在git bash中操作的,所有必须先安装git,至于怎样安装git,这里就不介绍了,网络有一大把安装教程。git 创建仓库创建一个git...
2019-08-01 17:44:20
205075
10
原创 android实现蓝牙耳机的连接及列表的管理
随着物联网的发展,现在蓝牙设备越来越多了,像蓝牙耳机、蓝牙音箱等,那么怎样去连接管理这些设备呢,本文将通过蓝牙耳机做实例,来实现蓝牙的开关、搜索、配对、连接、设备蓝牙的可见性、获取蓝牙信息等;先来看看具体效果:1、添加权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...
2019-07-29 18:10:42
20219
12
原创 雷达扩散效果的实现
相信大家都看像搜索附近、周边人或事物的雷达扩散效果吧,那这个效果是这样实现的呢,怎样以一种高效的方式来实现呢?好了,先看看效果吧实现思路 雷达扩散效果我们可以把它看成是一组同心圆,并且随着半径的不断增大,圆的填充色逐渐变成透明;并且发现两个相邻的同心圆的间距是相等的,这样我们就可以只要最外边缘的半径值,就可以退出其他圆的半径,从而用一个定时任务去实现这种渐变效果。代码部分自定...
2019-07-09 17:35:09
9143
原创 Android中SurfaceView的简单使用
SurfaceView可以说是View的孪生兄弟了,其实在Android系统提供的View就可以满足大部分的绘图需求了,但是在某些时候,View也有些心有余而力不足。我们知道,View通过刷新来重回视图,android系统通过发出VSYNC信号进行视图的重绘,刷新间隔为16ms,然后对于操作逻辑太多,需要频繁刷新页面(如:游戏界面)时,就会不断的阻塞主线程,从而导致页面卡顿。为了避免这一问题...
2019-03-24 22:00:04
3098
1
原创 ADB常用基本命令的使用
ADB(Android Debug Bridge)就是我们用来操作(调试)Android手机的一套指令集。 ADB下载配置和驱动安装 ADB的命令类型 1、设备的查看指令 ● 设备的查看:adb devices ● 设备的重新挂载 :adb remount(需要root权限) ● 设备的重启:adb reboot ● 设备的关机:adb shutdown(或 adb
2017-11-25 10:12:27
2860
原创 XML文件和JSON文件的解析及生成
在Android中最常见的两种数据格式就是XML和JSON,这方面也有很多好的解析框架,如果有兴趣不可网上找找。当然对于一个开发者而言,不仅仅是只会使用这些框架,而应该还要了解基本实现原理。今天主要是来讲讲XML文件和JSON文件的解析及生成
2017-08-11 10:13:02
3020
原创 Android中的四大组件之-Boradcast
Android引入广播机制的用意从MVC的角度考虑程序间互通消息(例如在自己的程序内中监听系统电话)效率上(参考UDP的广播协议在局域网的方便性)设计模式上(反转控件的一种应用,类你监听者模式)广播发送的两种类型普通广播:完全异步的,所有的广播接收者在同一时刻以未定义的顺序运行,消息传递的效率比较高。但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播 顺
2017-07-20 09:40:05
3617
原创 Android中View的测量模式
Android系统给我们提供了一个设计短小精悍却功能强大的类——MeasureSpec类,通过它来帮助我们测量View。MeasureSpec是一个32位的int值,其中高2位测量的模式,低30位为测量的大小,在计算中使用位运算的原因是为了提高并优化效率。 测量的模式可以为以下三种: EXACTLY:即精确值模式,当我们将控制的layout_width或layout_height属性指定为具体数
2017-07-11 14:16:24
2827
1
翻译 Android中进程和线程的概念
进程和线程当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用的所有组件在相同的进程和线程(称为“主”线程)中运行。 如果某个应用组件启动且该应用已存在进程(因为存在该应用的其他组件),则该组件会在此进程内启动并使用相同的执行线程。 但是,您可以安排应用中的其他组件在单独的进程中运行,并为任
2017-07-11 12:32:27
2608
原创 Android中的四大组件之-Service
Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。两种创建服务的方式:继承Service:是所有服务的基类,
2017-07-10 16:39:13
2336
翻译 Android中的四大组件之-Activity
首先,Activity是Android系统中的四大组件之一,可以用于显示View。Activity是一个与用户交互的系统模块,几乎所有的Activity都是和用户进行交互的,但是如果这样就能说Activity主要是用来显示View就不太正确了。在深入了解Activity之前,我们先要知道一下MVC设计模式,在JAVAEE 中MVC设计模式已经很经典了,而且分的也比较清晰了,但是在Andr
2017-07-10 12:33:57
2350
原创 Android支付宝支付
一、支付宝支付支付宝支付相对微信支付来说,就要简单点,1、导入开发资源 老规矩:获取APPID、导入jar包。这个不多说,第三方集成都要的。2、修改Manifest文件 在应用项目的AndroidManifest.xml文件里面添加声明:<activity android:name="com.alipay.sdk.app.H5PayActivity" androi
2017-05-27 10:58:13
2667
原创 Android中的微信支付
一、微信支付1、获取APPID 在微信开放平台申请开发应用后,获取唯一标识APPID。需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。设置界面在【开放平台】中的栏目【管理中心 / 修改应用 / 修改开发信息】里面。如下图所示。<font color=#FF0000 >(注意了注意了:应用签名、应用包名一定要填写,否则掉不起支付。应用签名填的是签名文件的MD5值;包名就不说了,大家
2017-05-26 20:30:26
2809
Gradle for Android-中文版
2018-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人