上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 82 下一页
摘要: 作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk-windows\tools\lib\proguard.cfg的内容:-op 阅读全文
posted @ 2011-08-28 23:07 程序员天下 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7- 阅读全文
posted @ 2011-08-28 22:42 程序员天下 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 先明确几个概念的区别:padding margin:都是边距的含义,关键问题得明白是什么相对什么的边距padding:是控件的内容相对控件的边缘的边距.margin :是控件边缘相对父空间的边距android:gravity是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.android:layout_gravity 是用来设置该view中的子view相对于父view的位置.比如一个button 在linearlayout里,你想把该button放在靠左,靠右等位置就可以在linearlayout中通过该属 阅读全文
posted @ 2011-08-26 21:42 程序员天下 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Android --- 图片处理的方法转换 - drawable To bitmap缩放 - Zoom圆角 - Round Corner倒影 - ReflectedbitmapPrcess code:package com.learn.games; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.graphics.Matrix; import android.graphics.Paint; import . 阅读全文
posted @ 2011-08-23 22:25 程序员天下 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲解下AsyncTask的使用以及Handler的应用首先,我们得明确下一个概念,什么是UI线程。顾名思义,ui线程就是管理着用户界面的那个线程!android的ui线程操作并不是安全的,并且和用户直接进行界面交互的操作都必须在ui线程中进行才可以。这种模式叫做单线程模式。我们在单线程模式下编程一定要注意:不要阻塞ui线程、确保只在ui线程中访问ui组件当我们要执行一个复杂耗时的算法并且最终要将计算结果反映到ui上时,我们会发现,我们根本没办法同时保证上面的两点要求;我们肯定会想到开启一个新的线程,让这个复杂耗时的任务到后台去执行,但是执行完毕了呢?我们发现,我们无法再与ui进行交互了 阅读全文
posted @ 2011-08-23 20:40 程序员天下 阅读(161) 评论(0) 推荐(0) 编辑
摘要: android字体闪烁动画,使用线程和Timer实现public class ActivityMain extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); spark(); } private int clo = 0; public void spark() { final TextView touchScreen = (TextView) find... 阅读全文
posted @ 2011-08-23 20:02 程序员天下 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 当你创建自己的类型,一种有效的建议就是去重新实现那些属于Object类的一些方法——toString()、equals()、hashcode()。没错,这些都是正确的建议。但是,对于这些方法有时我们并不能很有效地去为我们的类给出高效的实现,比如说eqauls()。假设有一个类,point:/* * created by:yh * date:2011-08-18 */ public class Point { private int x,y; public Point(int x,int y) { this.x=x; this.y=y; } @Override ... 阅读全文
posted @ 2011-08-19 22:48 程序员天下 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 前几天写js,跟踪调试时,发现误传了参数类型【原本需要的是number类型的,结果传递的实参却是string类型的】。结果居然没有产生异常,仍然顺利地执行了。于是,今天特地做了几个测试。(1)字符串类型数字的自加/* *测试字符串类型数字的自加操作 */ function testStringSelfAdd() { var i = "0"; for (var j = 0; j < 100; j++) { i++; } ... 阅读全文
posted @ 2011-08-16 22:44 程序员天下 阅读(372) 评论(0) 推荐(0) 编辑
摘要: android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533结果很不靠谱,于是自己写了几行代码,亲测一下测试参数:测试环境: i9000(三星)物理屏幕:480*800pxdensity :1.5测试代码: // 获取屏幕密度(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px) int screenHeight = getWindowM... 阅读全文
posted @ 2011-08-15 16:31 程序员天下 阅读(185) 评论(0) 推荐(0) 编辑
摘要: px :是屏幕的像素点in :英寸mm :毫米pt :磅,1/72 英寸dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dpsp :同dp相似,但还会根据用户的字体大小偏好来缩放。建议使用sp作为文本的单位,其它用dip针对dip和px 的关系,做以下概述:QVGA屏density=120; QVGA(240*320)HVGA屏density=160; HVGA(320*480)WVGA屏density=240; WVGA(480*800)WQVGA屏density=120 WQVGA(240*400)den... 阅读全文
posted @ 2011-08-15 14:11 程序员天下 阅读(381) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 82 下一页