Welcome 微信登录

首页 / 移动开发 / Android

实例讲解Android中的AIDL内部进程通信接口使用

实例讲解Android中的AIDL内部进程通信接口使用

首先描述下我们想要实现的内容,我们希望在一个应用中通过点击按钮,去操作另一个进程中应用的音乐播放功能。如图,我们点击“播放”时,系统就会去远程调用我们提供的一个service(与当前service不是同一个应用哦),然后操作service中的音乐播放,点击“停止”则会终止播放。想要重新播放的话,必须先点“销毁service”,再点播放按钮哦。(至于这里为什么要先点销毁按钮才能播放,完全是为了给大家展示下,远程调用service时,怎么去解绑service)...
浅析Android系统的架构以及程序项目的目录结构

浅析Android系统的架构以及程序项目的目录结构

Android框架结构直接上图:由上图,我们可以看出Android系统架构由5部分组成,分别是:Linux Kernel(linux内核)、Android Runtime(运行时环境)、Libraries(类库)、Application Framework(应用框架)、Applications(应用)。1.1、Linux KernelAndroid基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Ker...
详解Android App中使用VideoView来实现视频播放的方法

详解Android App中使用VideoView来实现视频播放的方法

通过VideoView播放视频的步骤:1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件2、调用VideoView的如下两个方法来加载指定的视频(1)setVidePath(String path):加载path文件代表的视频(2)setVideoURI(Uri uri):加载uri所对应的视频3、调用VideoView的start()、stop()、psuse()方法来控制视频的播放VideoView通过与MediaCo...
完美解决Android三星手机从图库选择照片旋转问题

完美解决Android三星手机从图库选择照片旋转问题

最近解决了一个令我头疼好久的问题,就是三星手机拍照图片旋转的问题,项目中有上传图片的功能,那么涉及到拍照,从相册中选择图片,别的手机都ok没有问题,唯独三星的手机拍照之后,你会很清楚的看到会把照片旋转一下,然后你根据路径找到的图片就是已经被旋转的了,解决办法终于被我找到了。我们可以根据图片的路径读取照片exif(Exchangeable Image File 可交换图像文件)信息中的旋转角度,至于这个EXIF可以看一下大牛的文章Android 下的EXIF...
Android下的EXIF是什么

Android下的EXIF是什么

一.什么是ExifExif(Exchangeable Image File 可交换图像文件)是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍 摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图 等。简单地说,Exif=JPEG+拍摄参数。因此,你可以利用任何可以查看JPEG文件的看图软...
Android去除烦人的默认闪退Dialog

Android去除烦人的默认闪退Dialog

安卓应用闪退后总会出现一个“抱歉,App已经停止运行”的弹窗,这样的用户体验并不好。很多大厂的App都去除了这个弹窗,因此本文主要介绍如何去除默认闪退弹窗,以及在闪退时做一些必要的善后工作。UnCaughtExceptionHandlerUnCaughtExceptionHandler能够在Thread遇到未catch住的Exception而终止前做一些善后工作。但是它无法阻止线程停止运行,线程最后还是要退出。 Thread.setDefaultUncau...
Android实现多次闪退清除数据

Android实现多次闪退清除数据

很多时候由于后台返回的数据异常,可能会导致App闪退。而如果这些异常数据被App本地缓存下来,那么即使杀掉进程重新进入还是会发生闪退。唯一的解决方法就是清除App数据,但是用户可能没有这个意识或者嫌麻烦就直接不再使用了,这是我们无法接受的。在使用淘宝、追书神器等App时我发现有时候它们也会连续闪退,但是往往闪退三次后就恢复正常了,所以一般成熟的App都会做连续闪退三次后清除缓存数据的工作。而目前笔者搜不到有哪篇blog来讲这方面的事情,所以就姑且由我来讲讲...
Android开发中多进程共享数据简析

Android开发中多进程共享数据简析

背景 最近在工作中遇到一个需求,需要在接收到推送的时候将推送获得的数据存起来,以供app启动时使用。我们会认为这不是So easy吗?只要把数据存到SharedPreferences中,然后让app打开同一个SharedPreferences读取数据就可以了。但是在实际的测试中,我们发现推送进程存入的数据,并不能在app进程中获得。所以这是为什么呢,也许聪明的读者从我们上面的陈述中已经发现了原因,因为我们有两个进程,推送进程负责将推送数据存入,而app进程...
Android应用程序的编译流程及使用Ant编译项目的攻略

Android应用程序的编译流程及使用Ant编译项目的攻略

Android 工程构建的持续集成,需要搭建一套编译和打包自动化流程,比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对Android工程的编译和打包有一个比较深入的理解,例如知道它的每一步都做了什么,需要什么环境和工具,输入和输出是什么,等等。首先,假定你的系统(Windows、Linux、Mac OS都行,本文默认使用Linux系统来举例子,但在 Windows中几乎没有什么差别)已经安装了JDK和Android SDK。我们重点关心的是: ...
Android App中使用AudioManager类来编写音频播放器

Android App中使用AudioManager类来编写音频播放器

手机都有声音模式,声音、静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能。在Android手机中,我们同样可以通过Android的SDK提供的声音管理接口来管理手机声音模式以及调整声音大小,这就是Android中AudioManager的使用。AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作以下分别是AudioManager设置声音模式和调整声音大小的方法。如何获取声音管理器:AudioMan...
浅谈Android程序与JavaScript脚本的交互

浅谈Android程序与JavaScript脚本的交互

我们都知道,手机时代的来临的主要标志是啥?能够方便的接入互联网!互联网展现给我们的方式一般都是网页,网页中又必不可少的拥有javascript,所以说,android提供对javascript的支持那是迫在眉睫了,幸好,android早就给我们提供了无缝连接。让我们可以通过android与javascript进行交互。我们的应用很简单,如图:我们有一个输入框,旁边有个按钮,点击按钮就会提示我们输入的内容。当然这只是html中最简单的程序了,但是你将这个程序...
退出Android程序时清除所有activity的实现方法

退出Android程序时清除所有activity的实现方法

本文实例讲述了退出Android程序时清除所有activity的方法。分享给大家供大家参考,具体如下:在一个项目中,要退出android程序,试了restartPackage、 killBackgroundProcesses 、通过异常并在Application的子类中重新注册Thread的 Thread.UncaughtExceptionHandler接口+异常方式,等等,都没有效果。最后发现其实只要在从一个activity A 跳到另一个activit...
Android简单创建一个Activity的方法

Android简单创建一个Activity的方法

本文实例讲述了Android简单创建一个Activity的方法。分享给大家供大家参考,具体如下:1) 创建一个android项目填写项目信息2) 创建一个新Activity右键点击Eclipse左边(默认)你要加入Activity的包,比如,我的包是com.INdroid.layout。然后选New->Class,输入类名后(注意首字母大写),在Superclass的Browse那里点击。最后在Choose a type那里输入Activity。然后...
Android新建Activity的方法

Android新建Activity的方法

本文实例讲述了Android新建Activity的方法。分享给大家供大家参考,具体如下:在一个Android工程中,如何新建一个Activity?方法如下:一、新建一个类(*.class),继承自android.app.Activity类。二、在res/layout目录下新建一个布局xml文件,文件名随意(只能包含小写字母数字或下划线),用来设置新Activity的布局(对于如何设置Activity的布局,可参考本站相关内容)。三、打开AndroidMan...
Android编程中Activity的四种启动模式

Android编程中Activity的四种启动模式

本文实例讲述了Android编程中Activity的四种启动模式。分享给大家供大家参考,具体如下:Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。设置Activity的启动模式,只需要在AndroidManifest.xml里对应的<activity>标签设置andr...
Android编程实现可滑动的开关效果(附demo源码下载)

Android编程实现可滑动的开关效果(附demo源码下载)

本文实例讲述了Android编程实现可滑动的开关效果。分享给大家供大家参考,具体如下:闲着没事,把之前写的一个Demo放上来分享下。就是一个开关,实现可滑动和动画效果。不是图片切换。好了,先上图:完整实例代码点击此处本站下载。直接把自定义的这个View代码放上来,有注释应该很好理解:首先是布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:andro...
Android App调用MediaRecorder实现录音功能的实例

Android App调用MediaRecorder实现录音功能的实例

MediaRecorderAndroid的MediaRecorder包含了Audio和video的记录功能,在Android的界面上,Music和Video两个应用程序都是调用MediaRecorder实现的。MediaRecorder在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaRecorder程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本库中的Binder机制。以开源的Androi...
Android开发中的Surface库及用其制作播放器UI的例子

Android开发中的Surface库及用其制作播放器UI的例子

1、Surface1.1、 就如在C语言编程一样,通过一个文件的句柄,就可以操作文件,获取文件的内容。 同样的,通过Surface就可以获取raw buffer其中的内容。原生缓冲区(raw buffer)存储着当前窗口的像素数据。1.2、事实上,当得到一个Surface对象时,同时会得到一个Canvas(画布)对象。这一点可以通过查看frameworksasecorejavaandroidviewSurface.java文件可知道Surface类定义了...
<< 251 252 253 254 255 256 257 258 259 260 >>