Welcome 微信登录

首页 / 移动开发 / Android

C/C++在Java、Android和Objective-C三大平台下实现混合编程

C/C++在Java、Android和Objective-C三大平台下实现混合编程

Android和iOS开发都支持C++开发,可以一套代码多平台使用。同时C++难以反编译的特性也可以为Android开发带来代码的保密,另一native特性也可以提高代码的运行效率。一、为什么使用C/C++便于移植,用C/C++写得库可以方便在其他的平台上再次使用。代码的保护,由于java层代码很容易被反编译,而C/C++库反汇难度较大。提高程序的执行效率,将要求高性能的应用逻辑使用C/C++开发,从而提高应用程序的执行效率。访问现有开源库,需要访问底层的...
Android新闻广告条滚动效果

Android新闻广告条滚动效果

项目中需要用到类似公告栏的控件,能用的基本不支持多行显示,于是只好自己动手,苦于没有自定义过一个像样的控件,借鉴Android公告条demo,实现了多行向上滚动的控件。在原控件基础之上添加如下功能:•传入数据分页显示•添加Left Drawable•手指触摸事件处理•添加3D动画翻滚效果效果图源码package com.android.view;import android.content.Context;i...
学习Android Handler消息传递机制

学习Android Handler消息传递机制

Android只允许UI线程修改Activity里的UI组件。当Android程序第一次启动时,Android会同时启动一条主线程(Main Thread),主线程主要负责处理与UI相关的事件,如用户的按键事件、屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以,主线程通常又被称为UI线程。Android只允许UI线程修改Activity里的UI组件,这样会导致新启动的线程无法动态改变界面组件的属性值。但在实际的Android程序开发中,尤其是涉及...
Android入门教程之Picasso框架

Android入门教程之Picasso框架

一、简介:Picasso是Square公司开源的一个Android图形缓存库。可以实现图片下载和缓存功能。二、Picasso的特性Picasso是一个Android图片加载缓存框架,它具有如下特性: 1.支持任务优先级,会优先加载“优先级”较高的图片。 2.带有统计监控功能,可以统计缓存命中率,实时监控已使用的内存等等。 3.能够根据当前网络状态自动调整并发线程数。 4.支持图片的延迟加载。5.本身不具有本地缓存,而是使用的OkHttp实现。Picasso...
教你一步步实现Android微信自动抢红包

教你一步步实现Android微信自动抢红包

本文介绍微信自动抢红包的实现方法,主要实现以下几个功能: 1.自动拆开屏幕上出现的红包 2.处于桌面或聊天列表时接收到红包信息时自动进入聊天界面并拆红包 3.日志功能,记录抢红包的详细日志实现原理 1.利用AccessibilityService辅助服务,监测屏幕内容,实现自动拆红包的目的。 2.利用ActiveAndroid数据库简单记录红包日志 3.利用preference实现监控选项纪录最终界面抢红包核心代码AccessibilityService...
Android进程间通信(IPC)机制Binder简要介绍

Android进程间通信(IPC)机制Binder简要介绍

在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。 我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼容了丰富的Unix系统进程间通信(IPC)机制。有传统的管道(Pipe)、信号(...
Android实现对图片放大、平移和旋转的功能

Android实现对图片放大、平移和旋转的功能

先来看看要实现的效果图在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识。关于实现的流程 1、自定义View 2、获得操作图片的Bitmap 3、复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件。 4、定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix。 5、完成最终的Ma...
Android深入浅出之Binder机制

Android深入浅出之Binder机制

Android深入浅出之Binder机制一 说明Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用: ServiceManager,这是Android OS的整个服务的管理程序 MediaService,这个程序里边注册了提供媒体播放的服务程...
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager,它是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Server远程接口的功能。 既然Service Manager组件...
Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

在前面一篇文章浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路中,介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程,Service Manager的职责当然就是为Server和Client服务了。那么,Server和Client如何获得Service Manager接口,进而享受它提供的服务呢?本文将简要分析Server和Client获得Service Man...
Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

在前面一篇文章Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路中,介绍了在Android系统中Binder进程间通信机制中的Server角色是如何获得Service Manager远程接口的,即defaultServiceManager函数的实现。Server获得了Service Manager远程接口之后,就要把自己的Service添加到Service Manager中去,然...
Android高仿IOS 滚轮选择控件

Android高仿IOS 滚轮选择控件

最近根据项目需要,整理了一个相对比较全面的 WheelView 使用控件,借用之前看到的一句话来说,就是站在巨人肩膀上,进行了一些小调整。 这里先贴上效果图一般常用的时间选择格式,,单项选择,以及城市联动,这里基本都可以满足了。这里把 单项选择,和 日期时间选择 给提出到 Util 类中,代码如下:public class Util { /*** 时间选择回调*/ public interface TimerPickerCallBack {void onT...
Android自定义Dialog实现文字动态加载效果

Android自定义Dialog实现文字动态加载效果

之前在技术问答上面看到一个提问 “加载中…” 后面三个点是动态的,这么一个效果实现。想来想去,好像没想到好的处理方式。 尝试了一下,以一个最笨的方式实现了。先来看一下效果 :我是通过自定义一个Dialog,加载中的效果,是在Dialog内部实现的,进度还是从Activity里面控制的。 下面是Dialog实现类:public class CustomDialog extends AlertDialog { public CustomDialog(Conte...
Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

在上一篇文章中,我们分析了Android系统进程间通信机制Binder中的Server在启动过程使用Service Manager的addService接口把自己添加到Service Manager守护过程中接受管理。在这一篇文章中,我们将深入到Binder驱动程序源代码去分析Client是如何通过Service Manager的getService接口中来获得Server远程接口的。Client只有获得了Server的远程接口之后,才能进一步调用Ser...
Android 跨进程通Messenger(简单易懂)

Android 跨进程通Messenger(简单易懂)

不需要AIDL也不需要复杂的ContentProvider,也不需要SharedPreferences或者共享存储文件!只需要简单易懂的Messenger,它也称为信使,通过它可以在不同进程中传递message对象,在message中放入我们需要传递的数据你就可以实现跨进程通讯和传递数据。废话不多说,直接上代码。首先是服务端:public class Ser extends Service{@Overridepublic IBinder onBind(In...
Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码。细心的读者会发现,这几篇文章分析的Binder接口都是基于C/C++语言来实现的,但是我们在编写应用程序都是基于Java语言的,那么,我们如何使用Java语言来使用系统的Binder机制来进行进程间通信呢?这就是本文要介绍的Android系统应用程序框架层的用Java语言来实现的Binder接口了。 熟悉Andr...
<< 81 82 83 84 85 86 87 88 89 90 >>