Android反编译

摘要: 先说一下apk的结构。APK采用了zip格式的压缩,我们可以很容易解压。一个APK文件结构为:META-INF/ Jar文件中常可以看到res/ 存放资源文件的目录AndroidManifest.xml 程序全局配置文件classes.dex Dalvik字节码resources.arsc 编译后的二进制资源文件apk下的文本文件是做了二进制处理的。如果我们只是想看APK 的Manifest信息。可以使用aapt命令。命名格式为:aapt dump badging *.apk (这里*.apk是你的apk名)aapt命令我们可以在SDK下对应版本下的tools文件夹下找到:这个是我的路径:C: 阅读全文
posted @ 2012-06-21 11:10 jiezzy 阅读(1285) 评论(0) 推荐(0) 编辑

优化 Android ListView 异步加载图片

摘要: 写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,比如这位仁兄写的就很好:http://www.iteye.com/topic/685986我也是因为看了这篇文章而受到了启发。先说说这篇文章的优点把,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销。这样做无疑是非常可取的方法,但是加载图片时仍然会感觉到轻微的卡屏现象,特别是listview里的item在进行快速滑动的时候。我找了一下原因,可能是在listview快速滑动屏幕的时候划过的item太多 而且每次调用getView方法后就会异步的在过去 阅读全文
posted @ 2012-06-21 11:04 jiezzy 阅读(923) 评论(1) 推荐(0) 编辑

什么是9.png,如何制作,如何使用。

摘要: 一、什么是9.png: 可能做过任务栏美化的同学都会知道,***,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会看不见摸不着(详情见下面具体内容)。 9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意(挺高级的吧),也许有的同学在做美化的时候很喜欢一个图片素材,重命名替换了drawable-hdpi下的素材,但是运行系统后发现,怎么被拉伸得不像样子了,哈哈,这就是9.png图片不能... 阅读全文
posted @ 2012-06-21 11:02 jiezzy 阅读(578) 评论(0) 推荐(0) 编辑

众多Android 开源项目推荐

摘要: FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。项目地址:http://www.fbreader.org/FBReaderJ/AngleAngle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现。项目地址:http://code.google.com/p/angle/android-shuffleandroid-shuffle是一个GTD(Gett 阅读全文
posted @ 2012-06-21 11:00 jiezzy 阅读(191) 评论(0) 推荐(0) 编辑

Android应用开发笔记——打造自己的标签栏

摘要: 使用Android自带的TabHost容器。传统的TabHost的使用效果大概是这样的(左图):这是大众点评网早期的Android客户端,标签栏使用了系统自带的控件。然而这个效果和我们看到的很多底部标签栏相差甚远(右图,twitter客户端Twidroyd截图)。他们到底是怎么实现的呢?为此,我在网上查了不少资料,大致有以下种方案:Button Bar实现;修改TabWidget。1. Button Bar基本思路:用一个Layout来呈现整个标签栏,在上面添加若干按钮作为标签,整个Layout作为一个部件include到各个界面的布局里去。当用户点击按钮时,切换到相应的界面(多个Activi 阅读全文
posted @ 2012-06-21 10:44 jiezzy 阅读(541) 评论(0) 推荐(0) 编辑

Fragments(Android官方文档中文版)

摘要: Fragment 表现 Activity 中用UI的一个行为或者一部分. 可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个 fragment.把fragment 想象成一个activity的模块化区域, 有它自己的生命周期, 接收属于它的输入事件, 并且可以在activity运行期间添加和删除.Fragment 必须总是被嵌入到一个activity中, 它们的生命周期直接被其所属的宿主activity的生命周期影响. 例如, 当activity被暂停,那么在其中的所有fragment也被暂停; 当activity被 阅读全文
posted @ 2012-06-21 10:42 jiezzy 阅读(225) 评论(0) 推荐(0) 编辑

Android 屏幕兼容性

摘要: 本文摘自http://www.cnblogs.com/jiezzy/archive/2012/08/11/2633897.html?updated=1 http://yuanzhifei89.iteye.com/blog/1010497http://www.cnblogs.com/jiezzy/archive/2012/08/11/2633886.htmlhttp://blog.csdn.net/andypan1314/article/details/6632533http://www.cnblogs.com/jiezzy/archive/2012/06/11/2544788.html参考:h 阅读全文
posted @ 2012-06-19 16:21 jiezzy 阅读(1295) 评论(0) 推荐(0) 编辑

Android 程序退出的办法

摘要: 在Android中退出程序比较麻烦,尤其是在多个Activity的程序中,在2.2之前可以采用如下代码退出程序:Java代码 ActivityManageram=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);am.restartPackage(getPackageName());此种方法是一种最方便和最简单的退出程序的办法,但是在2.2和2.2之后就不能用了,那么如果我们要退出程序有4种办法:采用content view栈:如果程序是多界面,但是又没有强制要求每一个界面一个Activity,可以将每个界面设计为一个Vie 阅读全文
posted @ 2012-06-19 14:49 jiezzy 阅读(918) 评论(0) 推荐(0) 编辑

Android ListView根据项数的大小自动改变高度

摘要: ListAdapter listAdapter = listView.getAdapter();if (listAdapter == null) {return;}int totalHeight = 0;for (int i = 0; i < listAdapter.getCount(); i++) {View listItem = listAdapter.getView(i, null, listView);listItem.measure(0, 0);totalHeight += listItem.getMeasuredHeight();}ViewGroup.LayoutParams 阅读全文
posted @ 2012-06-18 19:43 jiezzy 阅读(857) 评论(0) 推荐(0) 编辑

Activity的四种加载模式

摘要: Activity的启动模式可以通过AndroidManifest.xml文件中的<activity>元素的属性来指定,一共有4中模式:?1<activity android:name="ActivityMain" android:launchMode="singleTask"></activity>standardsingleTop singleTask singleInstance 这4中模式又分两类,standard和signleTop属于一类, singleTask和signleInstance属于另一类。 st 阅读全文
posted @ 2012-06-18 18:05 jiezzy 阅读(165) 评论(0) 推荐(0) 编辑