随笔分类 - Android
摘要:使用AnimationDrawable类的API.,可以简单通过XML文件列出动画中的所有帧,这种类别动画的XML文件放入工程中的res/anim目录在XML文件包含一个根节点元素和好几个子节点来定义每帧。一个资源分别定义了帧的名字与帧的持续时间。,下面为范例:这个动画播放三个帧动画,通过设置android:oneshot属性为true,它将会在最后一帧停下来,如果设置为false这个动画将循环播放。这个文件保存到工程目录res/anim目录下为rocket_thrust.xml,你也可以添加一个背景图片到视图中,然后开始播放。下面为范例:AnimationDrawable rocketAni
阅读全文
摘要:为了引入这个概率 首先从需求说起 即:现有某Activity专门用于手机属性设置 那么应该如何做呢?根据已学知识 很快一个念头闪过 即:Activity + Preference 组合 前者用于界面构建后者用于设置数据存放 其实 这是正确的 但是 这会比较繁琐 因为 每个设置选项都要建立与其对应的Preference所以 现在有更好的选择了 那就是本文的主角:PreferenceActivity从名字应该可以看出 其实 Activity 与 Perference 的混合物还是从需求说起 常见属性设定 有哪几种方式:1. CheckBox 用于 确定/取消某项功能如:是否静音对应于:Check.
阅读全文
摘要:xml文件中使用include:接下来在main.xml文件中将其include进来,如下Java代码 不管include几次,都只相当于include一次。
阅读全文
摘要:Eclipse 格式化代码块快捷键:Ctrl+Shift+F但对于XML文件来说有时格式化后,一个控件的配置属性全都挤在一行,阅读和修改起来都很不方便。而我们希望最佳的格式化效果如下,控件的每个属性配置占一行方便阅读修改,没有子元素的控件直接使用/> 关闭: 为了达到上述的格式化效果,需要修改Eclipse的一些配置及进行一些额外的操作:1)修改Eclipse的XML格式化配置 这一步的配置是使格式化的效果为控件的每个属性配置占一行。进入 Window/Preferences,展开到 XML/XML Files/Editor,勾选 “Split multiple attributes e
阅读全文
摘要:一个xxx.apk提交给测试、ok,去倒杯水,看看网页~~~~~呃,忽然觉得 是不是应该 给我的代码 提高点安全性,记得看过 apk直接可以 解压,然后很容易的就可以 反编译出 .java找了找,果然,这一切 只不过是 一分钟的事儿,1、得到 classes.dex文件;直接用你机器上的 解压软件 打开 .apk 文件 解压出 classes.dex 文件,(这个就是 .jar 的前生--- 其实应该说 后世) 2、还原.jar文件;这一步需要用到一个工具dex2jar(谷歌的代码库里有 http://code.google.com/p/dex2jar/) 看名字也不难知道他是干嘛的了吧...
阅读全文
摘要:Gallery(画廊)是android提供的一个用于水平显示的图片查看控件,但是默认的Gallery滑动切换的时候,由于OnFling的速度参数关系,一次会切换N多个图片,这样的话交互性就不太友好了。那么如何实现单屏切换呢,其实很简单,写一个自定义的Gallery类,该类继承自Gallery,然后重写Gallery的OnFling()方法,让其直接return false,具体如下:@Overridepublicboolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {//TODO Au.
阅读全文
摘要:The reference to entity "characterEncoding" must end with the ';' delimiterCaused by: org.xml.sax.SAXParseException: The reference to entity "characterEncoding" must end with the ';' delimiter. atcom.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSA
阅读全文
摘要:使用Eclipse开发android应用,但突然logcat用不了了!报错:Could not create the view: For input string:name。使用不了logcat调试程序!遂网上求解:出此错的原因是Logcat视图中的filter包含了“:”解决方法是:更改eclipse的工作空间(workspace)中的文件“.metadata/.plugins/org.eclipse.core.runtime/.settings/com.android.ide.eclipse.ddms.prefs”。将com.android.ide.eclipse.ddms.logcat.
阅读全文
摘要:解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析。DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这个树结构了。 优点:整个文档读入内存,方便操作:支持修改、删除和重现排列等多种功能。 缺点:将整个文档读入内存中,保留了过多的不需要的节点,浪费内存和空间。 使用场合:一旦读入文档,还需要多次对文档进行操作,并且在硬件资源充足的情况下(内存,CPU)。为了解决DOM解析存在的问题,就出现了SAX解析。其特点为: 优点:不用实现调入整个文档,占用资源少。尤其在嵌入式环境中,如android,极力推荐使用SAX解析。 ...
阅读全文
摘要:一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zipJD-GUI:http://laichao.googlecode.com/files/jdgui.zip具体步骤:首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;解压
阅读全文
摘要:LayoutInflater 的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。 它可以在很多地方使用,如BaseAdapter的getView中,自定义Dialog中取得view中的组件widget等等。它的用法有2种:Java代码LayoutInflaterinflater=LayoutInflater.from(this);Viewview=inflater.inflate(R.l.
阅读全文
摘要:android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。(该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)2。 如果修改android sdk版本,则需要以下几个步骤:1)修改SDK选择工程,build path --> configure build path---> library 删除引用的低版本SDK,然后add External JARs,选择高版本SDK,OK,保存2)修改classpath文件该文件可能存在该项: 3)
阅读全文
摘要:原文地址:Android开发者必须深入学习的10个应用开源项目作者:蝈蝈 Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多 多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项 目,贡献出他们的智 慧和创造力。Android开发者必须深入学习的10个应用开源项目android开发, 开源项目Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项 目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意
阅读全文
摘要:1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent);2.浏览网页 Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it)
阅读全文
摘要:[2012-07-26 21:49:54 - h3] Failed to install h3.apk on device 'emulator-5554': timeout[2012-07-26 21:49:54 - h3] Launch canceled!window->preferences->Android->DDMS。把ADB connection time out (ms):调大。如把原来的值5000改为50000.
阅读全文
摘要:一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)String res = "";try{InputStream in = getResources().openRawResource(R.raw.bbi);//在\Test\res\raw\bbi.txt,int length = in.available();byte [] buffer = new byte[length];in.read(buffer);//res = EncodingUtils.getString(buffer, "UTF-8");//res =
阅读全文
摘要:Eclipse突然启动不了了,弹出提示框“ Failed to create the Java Virtual Machine”在网上寻找解决方案,发现此问题是一bug。“The Java bug was closed for voting and comments at6969236 on the Java BugParade because the change has been reverted;the related Eclipse bug report is open for oting and comments atbug 319514. ”--引用eclipse官网在修复版本推出
阅读全文
摘要:TextToSpeech简称 TTS,是Android 1.6版本中比较重要的新功能。将所指定的文本转成不同语言音频输出。它可以方便的嵌入到游戏或者应用程序中,增强用户体验。在讲解TTS API和将这项功能应用到你的实际项目中的方法之前,先对这套TTS引擎有个初步的了解。对TTS资源的大体了解:TTS engine依托于当前AndroidPlatform所支持的几种主要的语言:English、French、German、Italian和Spanish五大语言(暂时没有我们伟大的中文,至少Google的科学家们还没有把中文玩到炉火纯青的地步,先易后难也是理所当然。)TTS可以将文本随意的转换成以
阅读全文
摘要:在网上找了一篇关于Android语音识别的文章,自己慢慢研究。 Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。而且语音识别在模拟器上是无法测试的,因为语音识别是访问google云端数据,所以如果手机的网络没有开启,就无法实现识别声音的!一定要开启手机的网络,如果手机不存在语音识别功能的话,也是无法启用识别!RecognizerIntent的一些常量:我们只需要通过Intent来传递一个动作以及一些属性,然后通过startActivityFo.
阅读全文
摘要:在这里我写了一个实例代码,帮大家讲解传感器的操作。为了能够在手机模拟器上能调试包含了传感器的应用程序,需要使用一个小工具SensorSimulator。该工具开源免费,读者可以从http://code.google.com/p/openintents/wiki/SensorSimulator找 到下载链接。下载下来的文件为sensorsimulator-1.0.0-beta1.zip,将该压缩包解压到磁盘的任意目录,本例使用 F:\sensorsimulator\sensorsimulator-1.0.0-beta1\bin目录。然后需要进行如下步骤才可以使用该工具模 拟传感器的变化。1、 在
阅读全文

浙公网安备 33010602011771号