http://www.apkbus.com/android-20978-1-1.html
android 来电自动接听和自动挂断 注意:android2.3版本不支持下面的自动接听方法。(会抛异常:java.lang.SecurityException: Neither user xxxxx nor current process has android.permission.MODIFY_PHONE_STATE.) 第一步:准备应用环境需要的系统包和aidl文件。 (1)在应用中创建包:android.telephony 将android系统框架下的\framework\telephony\java\android\telephony目录中的NeighboringCellInfo.aidl文件复制到上面创建的包(android.telephony )中; (2)在应用中创建包:com.android.internal.telephony 将android系统框架下的\framework\telephony\java\com\android\internal\telephony目录中的ITelephony.aidl文件复制到上面创建的包(com.android.internal.telephony )中; 第二步:创建一个获取ITelephony的方法 PhoneUtils.java Java代码 package com.zhouzijing.android.demo; import java.lang.reflect.Method; import com.android.internal.telephony.ITelephony; import android.telephony.TelephonyManager; public class PhoneUtils { /** * 根据传入的TelephonyManager来取得系统的ITelephony实例. * @param telephony * @return 系统的ITelephony实例 * @throws Exception */ public static ITelephony getITelephony(TelephonyManager telephony) throws Exception { Method getITelephonyMethod = telephony.getClass().getDeclaredMethod(“getITelephony”); getITelephonyMethod.setAccessible(true);//私有化函数也能使用 return (ITelephony)getITelephonyMethod.invoke(telephony); } [...]
最近一个项目需要实现挂断电话,实际上1.1版本后.Google已经把该API隐藏掉 今天看资料,发现可以通过AIDL(Android远程方法)及反射,调用hide API,废话不多说了.附上过程 一:在你的项目中新建包com.android.internal.telephony,因为要使用AIDL,该包与ITelephony.aidl一致 在该包下新建文件ITelephony.aidl view source print? 01 package com.android.internal.telephony; 02 /* * Copyright (C) 2007 The Android Open Source Project 03 * * Licensed under the Apache License, Version 2.0 (the “License”); 04 * you may not use this file except in compliance with the License. 05 * You may obtain [...]
使用msysgit可以很方便的从android Git库中下载各个模块的源码具体的步骤如下: 1、安装msysgit 下载地址 http://code.google.com/p/msysgit/downloads/list 2、启动git shell 可以在windows平台下模拟linux 使用msysgit可以很方便的从android Git库中下载各个模块的源码 具体的步骤如下: 1、安装msysgit 下载地址 http://code.google.com/p/msysgit/downloads/list 2、启动git shell 可以在windows平台下模拟linux命令行操作 3、打开android源码git 库地址 http://android.git.kernel.org/ 里面列出了所有android的源码,每个git都是一个独立的模块 4. 下载源码并且在eclipse中使用 在安装好git后, 新建一个文件frameworks,这个文件夹就是用来存放你将要下载的Android SDK源代码的目录 通过git clone https://android.googlesource.com/platform/frameworks/base.git 然后运行git tag,显示分支,因为android有很多版本,如得到 >git tag android-1.0 android-1.5 android-1.5r2 android-1.5r3 android-1.5r4 android-1.6_r1 android-1.6_r1.1 android-1.6_r1.2 android-1.6_r1.3 android-1.6_r1.4 android-1.6_r2 android-sdk-1.5-pre android-sdk-1.5_r1 android-sdk-1.5_r3 android-sdk-1.6-docs_r1 android-sdk-1.6_r1 然后运用 git checkout android-1.5r4 [...]
今天在ubuntu上面安装adt的时候,查找依赖关系后说 org.eclipse.wst.sse.core 0.0.0′ but it could not be found 无法继续安装。 在网上找了一些解决办法,有的人说要重新安装eclipse,蛋疼的解决方案。。。 现在我把我的解决办法写下来: 首先 help -> install new software -> Available software sites 看看里面有没有你的eclise的更新版本,比如我的是indigo 我就添加一个 http://download.eclipse.org/releases/indigo 的站点 (注意eclipse的版本名,3.7叫indigo,3.6叫helios,3.5叫galileo,这个对所下插件的版本有影响,然后找到一个叫WST Server Adapters的插件安装好。 返回到Install new software界面,加入adt的下载地址 https://dl-ssl.google.com/android/eclipse/ 点击下一步,eclipse搜索依赖关系,这里需要很久,因为它要到indigo更新站点里面去搜索,搜索完成就可以安装eclipse了。 一个这问题就要重装eclipse的解决方案真是让我汗颜。。。。
Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用: 1、Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。 地址:http://www.apkbus.com/android-13506-1-1.html 2、 Remote Droid RemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触摸屏手指运动等很好的样例。 地址:http://www.apkbus.com/android-13507-1-1.html 3、 TorProxy和Shadow TorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以掌握socket连接、管理cookie等方法。 地址:http://www.apkbus.com/android-13510-1-1.html 4、 Android SMSPopup SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。 地址:http://www.apkbus.com/android-13513-1-1.html 5、 Standup Timer Standup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。 地址:http://www.apkbus.com/android-13514-1-1.html 6、 Foursquare 是Foursquare.com的一个客户端应用,该应用主要分为两个模块:API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中,可以学会如何同步、多线程、HTTP连接等技术。 地址:http://www.apkbus.com/android-13516-1-1.html 7、 Pedometer Pedometer应用用于记录你每天走路步数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服务等。 地址:http://www.apkbus.com/android-13515-1-1.html 8、 OpenSudoku-android OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数据,以及如何和一个网站交互等技术。 地址:http://www.apkbus.com/android-13517-1-1.html 9、 ConnectBot ConnectBot是Android平台的一个客户端安全壳应用。从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用时经常需要考虑的安全问题。 地址:http://www.apkbus.com/android-13518-1-1.html 10、 WordPress的Android应用 当然在最后不能不提WordPress的Android应用了,这是WordPress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调用(当然还有更多的优秀内容)。 地址:http://www.apkbus.com/android-13520-1-1.html Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/ 个人记账工具 OnMyMeans [...]
通过http协议,采用HttpClient向服务器端action请求数据。当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据, 那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。 我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,做过JAVA ME的人都知道有KSOAP这个第三方的类库,可以帮助我们获取服务器端webService调用,当然KSOAP已经提供了基于android版本的jar包了,那么我们就开始吧: 首先下载KSOAP包:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar包 然后新建android项目:并把下载的KSOAP包放在android项目的lib目录下:右键->build path->configure build path–选择Libraries,如图: 以下分为七个步骤来调用WebService方法: 第一:实例化SoapObject 对象,指定webService的命名空间(从相关WSDL文档中可以查看命名空间),以及调用方法名称。如: View Code //命名空间 private static final String serviceNameSpace=”http://WebXml.com.cn/”; //调用方法(获得支持的城市) private static final String getSupportCity=”getSupportCity”; //实例化SoapObject对象 SoapObject request=new SoapObject(serviceNameSpace, getSupportCity); 第二步:假设方法有参数的话,设置调用方法参数 request.addProperty(“参数名称”,”参数值”); 第三步:设置SOAP请求信息(参数部分为SOAP协议版本号,与你要调用的webService中版本号一致): View Code //获得序列化的Envelope SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut=request; 第四步:注册Envelope, (new MarshalBase64()).register(envelope); 第五步:构建传输对象,并指明WSDL文档URL: View Code //请求URL private static final String serviceURL=”http://www.webxml.com.cn/webservices/weatherwebservice.asmx”; //Android传输对象 [...]
在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有 一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了——- 那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。 那么,接下来我们便开始这一路程: 首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。 服务器端:新建WebProject ,选择Java ee 5.0. 为了给项目添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可(有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去): 1: xwork-core-2.2.1.1.jar 2: struts2-core-2.2.1.1.jar 3: commons-logging-1.0.4.jar 4: freemarker-2.3.16.jar 5: ognl-3.0.jar 6: javassist-3.7.ga.jar 7:commons-ileupload.jar 8:commons-io.jar 9:json-lib-2.1-jdk15.jar 处理JSON格式数据要使用到 10:struts2-json-plugin-2.2.1.1.jar 基于struts2的json插件 以上的jar包,需要放在WebRoot/WEB-INF/lib目录下 然后在web.xml文件中敲下: View Code <?xml version=”1.0″ encoding=”UTF-8″?> <web-app version=”2.5″ xmlns=”http://java.sun.com/xml/ns/javaee” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd”> <!– 定义Struts2的核心控制器:FilterDispatcher –> <filter> <!– 定义核心Filter的名称 –> <filter-name>struts2</filter-name> <!– 定义Filter的实现类 –> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> [...]
近期评论