摘要: 一般的apk文件如果后缀改为rar并解压的话,可以得到一些图片资源,和一堆打开乱码的文件。但我们往往想要的是得到它的xml文件学习下怎么布局的,或者看看它的源码学习下优秀程序的思路。这时就要借助以下工具对apk进行反编译了。一、工具准备:apktool ,dex2jar ,jd-gui 工具包也可以在这里下载。1、dex2jar可以在这里下载,jd-gui可以在这里下载。2、apktool,可以去Google的官方下载,apktool-1.0.0.tar.bz2(里面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压a... 阅读全文
posted @ 2011-10-12 12:50 瓦尔登湖 阅读(3960) 评论(1) 推荐(2) 编辑
摘要: 首先是几个基本概念:1.屏幕尺寸Screen size即显示屏幕的实际大小,按照屏幕的对角线进行测量。为简单起见,Android把所有的屏幕大小分为四种尺寸:小,普通,大,超大(分别对应:small, normal, large, and extra large).应用程序可以为这四种尺寸分别提供不同的自定义屏幕布局-平台将根据屏幕实际尺寸选择对应布局进行渲染,这种选择对于程序侧是透明的。2.屏幕长宽比Aspect ratio长宽比是屏幕的物理宽度与物理高度的比例关系。应用程序可以通过使用限定的资源来为指定的长宽比提供屏幕布局资源。3.屏幕分辨率Resolution在屏幕上显示的物理像素总和。 阅读全文
posted @ 2011-10-09 19:08 瓦尔登湖 阅读(835) 评论(0) 推荐(0) 编辑
摘要: RT,程序中需要禁用横竖屏切换,只需要在想禁用切换的Activity的OnCreate方法里加入以下这句即可: //禁止横竖屏切换 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); 阅读全文
posted @ 2011-10-09 18:56 瓦尔登湖 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 1、程序中用到了sqlite,结果运行时报错如下: java.lang.IllegalArgumentException: column '_id' does not exist2、网上搜索一番,出现该错误原因是: 使用Cursor相关的Adapter时需要一个自增的列,且名字必需为 _id。而我创建的表里没有这个字段,只有一个名为id的自增列。3、解决办法: 1)创建数据表时插入一个名为_id的列,类型为自增量,因为在使用Cursor相关的Adapter时需要用到这个列 2)如果实在不需要这个列的话,可以把数据表中某一列使用AS映射为 _id,再进行操作参考:http://h 阅读全文
posted @ 2011-10-09 18:49 瓦尔登湖 阅读(5694) 评论(0) 推荐(0) 编辑
摘要: 写了个小程序竟然报错了,查看DDMS发现错误如下:java.lang.RuntimeException: Unable to instantiate activityComponentInfo{com.android/activity.MainTabActivity}:java.lang.ClassNotFoundException: ativity.MainTabActivity in loader alvik.system.PathClassLoader@444a88b0网上搜一下,说是AndroidManifest.xml 配置 activity 时路... 阅读全文
posted @ 2011-10-09 18:31 瓦尔登湖 阅读(4917) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个应用,其中一个界面上有几个EditText,我发现每次启动这个界面之后焦点就自动落在第1个EditText上,从而使EditText的提示不能显示。解决的方法是: 在EditText的父组件(比如linearlayout)添加两个属性: android:focusable="true" android:focusableInTouchMode="true" 如果没有父组件的话可以添加一个隐藏的 linearLayout,并加上上面的两个属性<LinearLayout android:focusable="true" 阅读全文
posted @ 2011-10-09 11:07 瓦尔登湖 阅读(2334) 评论(0) 推荐(0) 编辑
摘要: 1 1)更改AlertDialog窗口大小的方法: 2 AlertDialog dialog = new AlertDialog.Builder(this).create(); 3 dialog.show(); 4 WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); 5 params.width = 200; 6 params.height = 200 ; 7 dialog.getWindow().setAttributes(params); 8 9 2)去除边框10 AlertDialog.set.. 阅读全文
posted @ 2011-09-28 12:54 瓦尔登湖 阅读(11493) 评论(3) 推荐(0) 编辑
摘要: 文章来自:http://blog.csdn.net/blue6626/article/details/6641105今天我用自己写的一个Demo 和大家详细介绍一个Android中的对话框的使用技巧。1.确定取消对话框对话框中有2个按钮 通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件。我们使用AlerDialog 创建对话框view plainAlertDialog.Builderbuilder=newAlertDialog.Builder(MainDialog.this);使用builder设置对话框 阅读全文
posted @ 2011-09-22 23:26 瓦尔登湖 阅读(7312) 评论(2) 推荐(0) 编辑
摘要: 1 // 判断当前是否使用的是 WIFI网络 2 public static boolean isWifiActive(Context icontext){ 3 Context context = icontext.getApplicationContext(); 4 ConnectivityManager connectivity = (ConnectivityManager) context 5 .getSystemService(Context.CONNECTIVITY_SERVICE); 6 ... 阅读全文
posted @ 2011-09-22 17:10 瓦尔登湖 阅读(4165) 评论(0) 推荐(0) 编辑
摘要: 最近即将做的一个项目里面需要使用到AIDL(Android Interface Definition Language:接口描述语言)技术,自己早前只是简单瞄了一眼,我的理解它和java中的RMI的概念差不多,在这里我就不相信讲解什么事AIDL了,网上这种介绍非常多。不过概念毕竟是书本上的东西,我决定亲自测试一下。废话不说了,直接开始1、 既然AIDL是既然是可以在不同进程间进行操作,那么我们首先就需要准备两个项目,我们先来看看不同的两个项目结构式什么样子的。如图:我们先暂且定义一个项目为“服务器端项目”,一个为“客户端项目”,其中紫色线框里面的东西是第一个需要注意的地方,就是不管你两个项目包 阅读全文
posted @ 2011-09-06 23:42 瓦尔登湖 阅读(2721) 评论(0) 推荐(0) 编辑