Welcome 微信登录

首页 / 移动开发 / Android

Android中Java和JavaScript交互实例

Android中Java和JavaScript交互实例

Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。如何实现实现Java和js交互十分便捷。通常只需要以下几步。1.WebView开启JavaScript脚本执行2.WebView设置供JavaScript调用的交互接口。3.客户端和网页端编写调用对方的代码。本例代码为了便于讲解,先贴出全部代码Java代码复制代码...
Android中AsyncTask详细介绍

Android中AsyncTask详细介绍

AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操作场合。其实AsyncTask并不是那么好,甚至有些糟糕。本文我会讲AsyncTask会引起哪些问题,如何修复这些问题,并且关于AsyncTask的一些替代方案。AsyncTask从Android API 3(1.5 Cupcake)开始,AsyncTask被引入用来帮助开发者更简单地管理线程。实际上在Android 1.0和1.1也是有类似的实现,那就是UserTask。Use...
Android中实现根据资源名获取资源ID

Android中实现根据资源名获取资源ID

接触过Android开发的同学们都知道在Android中访问程序资源基本都是通过资源ID来访问。这样开发起来很简单,并且可以不去考虑各种分辨率,语言等不同资源显式指定。痛点但是,有时候也会有一些问题,比如我们根据服务器端的值取图片,但是服务器端绝对不会返回给我们的是资源id,最多是一种和文件名相关联的值,操作资源少的时候,可以维护一个容器进行值与资源ID的映射,但是多的话,就需要另想办法了。便捷的方法在这种情况下,使用文件名来得到资源ID显得事半功倍。 通...
Android中判断是否有前置摄像头、后置摄像头的方法

Android中判断是否有前置摄像头、后置摄像头的方法

通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。以下代码为一系列的方法,用来判断是否有前置摄像头(Front Camera),后置摄像头。复制代码 代码如下:private static boolean checkCameraFacing(final int facing) { if (getSdkVersion()...
Android系统设置中的清除数据会清除哪些数据?

Android系统设置中的清除数据会清除哪些数据?

What will be removed If you click Clear Data Button in the System Application今天中的一个story突然提到了系统设置中的清理数据,后来开始思考究竟系统的应用的这个清理功能,究竟会清理那些数据。 于是开始研究,以com.mx.browser为例,思路大概为首先为/data/data/com.mx.browser下的每一个文件夹下建立一个标志文件,这里为1.txt,然后执行清理数据操...
Android中EditText和AutoCompleteTextView设置文字选中颜色方法

Android中EditText和AutoCompleteTextView设置文字选中颜色方法

EditText和AutoCompleteTextView设置文字选中颜色 大多数Android Rom上,文本选择的背景色都是很好看的鲜绿色, 但是在某些垃圾的三星手机上,居然是蓝色,令人恶心反感,其实完全可以通过程序来修改,文本的默认选中背景色.所用API解释复制代码 代码如下:android:textColorHighlight Color of the text selection highlight.EditText设置效果AutoComplet...
Android中Webview打开网页的同时发送HTTP头信息方法

Android中Webview打开网页的同时发送HTTP头信息方法

众所周知,当你点击一个超链接进行跳转时,WebView会自动将当前地址作为Referer(引荐)发给服务器,因此很多服务器端程序通过是否包含referer来控制盗链,所以有些时候,直接输入一个网络地址,可能有问题,那么怎么解决盗链控制问题呢,其实在webview加载时加入一个referer就可以了,如何添加呢?从Android 2.2 (也就是API 8)开始,WebView新增加了一个接口方法,就是为了便于我们加载网页时又想发送其他的HTTP头信息的。复...
Android中检测当前是否为主线程最可靠的解决方法

Android中检测当前是否为主线程最可靠的解决方法

如果在Android中判断某个线程是否是主线程?对于这个问题,你可能说根据线程的名字,当然这个可以解决问题,但是这样是最可靠的么?万一某天Google一下子将线程的名字改称其他神马东西呢。方法揭晓下面的方法是最可靠的解决方案。复制代码 代码如下:public static boolean isInMainThread() { return Looper.myLooper() == Looper.getMainLooper();}实际上,写到这里就基本解决了...
Android中扫描多媒体文件操作详解

Android中扫描多媒体文件操作详解

这篇文章从系统源代码分析,讲述如何将程序创建的多媒体文件加入系统的媒体库,如何从媒体库删除,以及大多数程序开发者经常遇到的无法添加到媒体库的问题等。本人将通过对源代码的分析,一一解释这些问题。Android中的多媒体文件扫描机制Android提供了一个很棒的程序来处理将多媒体文件加入的媒体库中。这个程序就是MediaProvider,现在我们简单看以下这个程序。首先看一下它的Receiver复制代码 代码如下: <receiver android:n...
Android中检查、设置默认程序详解

Android中检查、设置默认程序详解

Android作为一个伟大的系统,自然提供了设置默认打开程序的实现.在这篇文章中,我会介绍如何在Android系统中设置默认的程序. 在设置默认程序之前,无非有两种情况,一种是已经有默认的程序,另一种则是没有任何默认程序.检测是否有默认的程序检查是必须的,因为结果关乎着我们下一步该怎么做.复制代码 代码如下:public void testGetDefaultActivity() { PackageManager pm = mContext.getPack...
Android中程序的停止状态详细介绍

Android中程序的停止状态详细介绍

很多人遇到过广播收不到的问题,比如Google Play推广安装广播没有收到等,诸如这些问题,又都是什么原因呢,这篇文章将进行回答.从Android 3.1(HoneyComb) 也就是API 12开始,Android引入了一套新的启动控制,这就是程序的停止状态.那让我们看一下Google对于程序的停止状态的描述.什么是程序的停止状态复制代码 代码如下:Starting from Android 3.1, the system"s package mana...
Android中不支持动态申请权限的原因

Android中不支持动态申请权限的原因

作为Android开发者,为程序增加权限是在正常不过的事情了,做法必然是在mainifest中,写入类似这样<uses-permission android:name="android.permission.INTERNET" />的信息. 以静态申请的形式来完成. 于是这里我想抛出一个问题,Android平台支持动态申请权限么.相信很多人回答都是不支持,当然这个答案是对的,但是为什么不支持呢,知其然更要知其所以然.了解其原因还是相当有必要的....
Android中处理apple-touch-icon详解

Android中处理apple-touch-icon详解

苹果的Touch Icon相对我们都比较熟悉,是苹果为了支持网络应用(或者说网页)添加到桌面需要的图标,有了这些Touch Icon的网页链接更加和Native应用更相像了。由于苹果设备IPod,IPhone,IPad等设备广泛,很多网页都提供了touch icon这种图标资源。由于Android中并没有及早的有一份这样的标准,当我们想把网页添加到桌面时,仍然需要使用苹果的Touch Icon。Touch Icon当我们想让一个网页比较完美地添加到桌面,通...
Android中通知栏跳动问题解决方法

Android中通知栏跳动问题解决方法

曾经遇到过这样的问题,在我的代码中使用了通知栏,一切都正常,但是就是正在进行的通知栏中属于我的程序的那一条总是上下跳来跳去,一闪一闪的。感觉用户体验很不好,于是Google一下,找到了解决方法。在我的代码,我是这样写的。复制代码 代码如下:notification.when = System.currentTimeMillis();这就是问题的关键,对于通知来说,when这个属性值应该在activity一启动的时候就应该固定。如果没有固定,就会使用默认的值...
Android中自定义控件的declare-styleable属性重用方案

Android中自定义控件的declare-styleable属性重用方案

最近接触了Android自定义控件,涉及到自定义xml中得属性(attribute),其实也很简单,但是写着写着,发现代码不完美了,就是在attrs.xml这个文件中,发现属性冗余,于是就想有没有类似属性继承或者include之类的方法.本文将就declare-stylable中属性重用记录一下.不完美的代码复制代码 代码如下:<?xml version="1.0" encoding="utf-8"?><resources...
<< 391 392 393 394 395 396 397 398 399 400 >>