android开发
mingzhu_ustc
做有意思的事
展开
-
Java Mail邮件SMTP协议返回信息 535 5.7.3 Authentication unsuccessful
说明用户名与或密码不正确导致验证失败,有可能是你更改过密码。 详见点击打开链接 2.2.1.4 SMTP_AUTH_Fail_Response MessageSMTP_AUTH_Fail_Response is defined as follows. This message, identified by the 535 status code, is de原创 2014-08-10 11:54:01 · 10868 阅读 · 0 评论 -
adb服务启动失败
总结一下各种方法: 初级版: 1、重启eclipse 2、重启命令行窗口 3、重启电脑 中级版: 1、adb kill-server adb-start server 2、打开任务管理器,杀掉所有adb.exe 3、打开eclipse的DDMS,点击下拉菜单选择重启adb 4、打开任务管理器,杀掉tadb.exe 高级版:原创 2014-08-09 17:41:22 · 969 阅读 · 0 评论 -
利用DisplayMetrics 获取手机屏幕分辨率
网上找到一个很巧妙的方法,可以利用context示例获取,不需要getWindowManager: DisplayMetrics dm = new DisplayMetrics();//getWindowManager().getDefaultDisplay().getMetrics(dm);dm = this.getApplicationContext().getResource原创 2014-08-10 11:57:37 · 538 阅读 · 0 评论 -
android获取屏幕某一点的像素值
Android屏幕绘制基本与linux相同,都是使用Framebuffer机制来绘制屏幕。FrameBuffer提供接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,应用程序可以简单地通过改变这段内存的值来改变屏幕上某一点的颜色。例如如果你想把一张bitmap图片显示到屏幕上去,你只要解析bitmap之后把数据bit cop转载 2014-08-10 12:09:27 · 10140 阅读 · 0 评论 -
android Pair
孤陋寡闻,竟然才知道android里有Pair这个数据结构。使用起来真是太方便了,与ArrayList配合使用,完美的解决了HashMap输出时顺序错乱的问题。位置在android.util.Pair中()。原创 2014-08-10 14:52:47 · 4017 阅读 · 0 评论 -
常用正则表达式大全
常用正则表达式正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。用户名:/^[a-z0-9_-]{3,16}$/密码:/^[a-z0-9_-]{6,18}$/十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}转载 2014-08-10 14:54:15 · 606 阅读 · 0 评论 -
android代码混淆常见问题及解决
代码混淆就是把代码中的类、方法、变量名等替换成无义字符,以防源码被反编译泄露。 android SDK自2.3.3以来就把代码混淆工具Proguard集成进来了,在项目中可以直接使用,非常方便。步骤:1、打开项目的project.properties文件,可以看到这样两行:# To enable ProGuard to shrink and obfuscate your cod原创 2014-08-10 11:26:37 · 1704 阅读 · 1 评论 -
在android程序中执行adb shell命令
在android程序中执行adb shell命令行的函数: public static void doCmds(List cmds) throws Exception { Process process = Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(proces原创 2014-08-10 12:10:31 · 9473 阅读 · 4 评论 -
android结束进程方法总结
方法1(需root): adb shell ps 获取正在运行的进程列表 adb kill 根据进程id杀死杀死进程 方法2: 使用DDMS 方法3: 只能杀死后台进程 adb shell am kill [options] 方法4(需root): adb shell pm disable 方法5(3.0及原创 2014-08-10 12:11:00 · 1080 阅读 · 0 评论 -
重签名工具re-sign.jar的实现原理
re-sign.jar可以将一个apk文件重签名,使用的是android自带的debug签名原创 2014-08-12 17:06:11 · 5148 阅读 · 0 评论 -
android动态注册广播接收器
简单一段代码足以说明: if(value!="close"){ IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.NEW_OUTGOING_CALL");//注明要注册接收哪种广播 filter.setPriority(Integer.MAX_VALUE);//设置优先级原创 2014-08-09 17:39:51 · 709 阅读 · 0 评论 -
Android设置应用界面显示方向
自己写的应用,如果界面不太适合横屏,则为了避免横屏出现意外情况,可以直接把显示设置为竖屏 在AndroidManifest.xml文件中加上一句android:screenOrientation="portrait",位置如下: android:label="@string/app_name" and原创 2014-08-09 17:27:28 · 1151 阅读 · 0 评论 -
根据包名获取进程pid
根据包名来获取进程pid: ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); List mRunningProcess = am.getRunningAppProcesses(); int pid=-1; //int原创 2014-08-10 12:11:45 · 12296 阅读 · 0 评论 -
利用jenkins+ant实现编译前修改文件和批量打包签名
测试框架通过instrume要服务于不同的产品,每次打包时都需要修改AndroidManifest.xml文件中instrument对应的包名,并引用不同的keystore和密码来签名。这个过程本身就易出错,而且由于引入了代码混淆,变得更加痛苦地漫长。现在利用jenkins+ant将整个过程实现了自动化,真是省了好大辛苦。 这个过程自动化的关键在于: 1、ant提供了编译前修改文原创 2014-08-10 11:30:46 · 4034 阅读 · 1 评论 -
java时间与日期转换
//毫秒转换为日期DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");long now = System.currentTimeMillis();Calendar calendar = Calendar.getInstance();calendar.setTimeInMillis(now);System.转载 2014-08-10 12:07:18 · 547 阅读 · 0 评论 -
Class resolved by unexpected DEX
出错log如下:W/dalvikvm( 4427): Class resolved by unexpected DEX: Lcom/telenav/app/android/cingular/TeleNav;(0x470ebe60):0x14ad50 ref [Lcom/telenav/tnui/core/android/AndroidActivity;] LcoW/dalvikvm( 4原创 2014-08-10 14:41:40 · 3581 阅读 · 0 评论 -
Activity与Service通信
Activity向Service发消息(在Service运行过程中):在Service中实现一个继承自Binder的内部类,在Activity中获取这个binder实例:private boolean isConnected; private ServiceConnection mConnection = new ServiceConnection() {原创 2014-08-10 14:55:25 · 523 阅读 · 0 评论 -
获取context的方法总结
在activity或service中,用this用类中的activity或service对象用instrument对象的getContext方法在函数中增加context参数,去调用它的地方获取继续补充(欢迎回复补充,集思广益:)原创 2014-08-10 11:44:42 · 939 阅读 · 0 评论 -
使用BlockingQueue进行多线程间的异步通信
写单元测试时遇到一个问题,我要获取一串数据复制给一个变量,但获取数据的操作比较耗时(这里是http请求),且耗时长短不定。我当然不能让这种耗时操作阻塞主线程,于是每次获取数据,我都开了一个新线程,把操作放到线程里去完成。问题出现在这:由于获取数据是在线程里的,所以我并不知道它什么时候被获取到了,只能等待一段时间(肯定比它需要的时间略长),然后去访问这个变量。这种方式最大的问题不是盲目的等待原创 2014-08-10 15:12:40 · 1504 阅读 · 0 评论 -
利用batch批量安装卸载android应用
批量安装: @echo offdir /b | find ".apk" > filelist.txtfor /F "delims=|" %%i in (filelist.txt) do (rem echo %%iadb install "%%i")pause批量卸载: @echo offfor /F "delims=|" %%i in (filel原创 2014-08-10 12:04:09 · 584 阅读 · 0 评论 -
android模拟器加速,堪比真机
android模拟器慢的要死,因为速度问题几乎失去了利用价值。现在找到了一种办法可以把模拟机变得和真机一样快。前提条件:1、使用intel处理器的电脑(公司的电脑应该都达标)2、进入bios,enable CPU栏下面的Virtualization Technology选项(进入bios的方法为开机时连续按F1)具体步骤:详见点击打开链接遇到问题:使用SDK Man原创 2014-08-10 12:18:40 · 659 阅读 · 0 评论 -
在代码中对apk文件重签名
废话不说,上代码:原创 2014-08-12 17:43:06 · 923 阅读 · 0 评论