随笔分类 -  android

摘要:http://stackoverflow.com/questions/9598629/mdm-workflow-in-androidhttp://developer.android.com/guide/topics/admin/device-admin.html#overview 阅读全文
posted @ 2014-01-24 09:55 imlucky 阅读(1218) 评论(0) 推荐(0)
摘要:推送方案的公认评价采取4s标准:1.Safe(安全) 2. Stable(稳定) 3.Save(省电省流量省成本) 4.Slim(体积小)Safe (安全)推送方案应支持透传及各种加密方案,保障信息传递安全。推送方案的ID系统应该独立于已有的网站或服务的ID系统,这样保障用户在不同手机上登录后的信息投递准确性,避免因为取消绑定事件失败因网络传输而造成的信息误投送。Stable(稳定)稳定包括两个部分一个是服务器端的稳定性,一个是手机端的稳定性。服务端稳定性,因为使用长连接方案,对服务器的开销和要求很大,推送方案对服务器开发要求很高,海量线程连接下的服务器稳定性是非常具有挑战性的。一般的评判标准 阅读全文
posted @ 2013-11-12 15:05 imlucky 阅读(603) 评论(0) 推荐(0)
摘要:导读:1 HashMap不是线程安全的 hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。2 HashTable是线程安全的一个Collection。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashta 阅读全文
posted @ 2013-11-08 16:24 imlucky 阅读(329) 评论(0) 推荐(0)
摘要:Hashtable和HashMap类有三个重要的不同之处。第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。 也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable,但你必须同样地为一个HashMap提供外同步。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回。这个对象... 阅读全文
posted @ 2013-11-08 16:20 imlucky 阅读(276) 评论(0) 推荐(0)
摘要:抓包准备1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted;2. 如果Android手机尚未root,可通过superoneclick或其它方法进行root处理(需要先安装Microsoft .NET Framework)。Superoneclick刷root权限教程:(http://soft.shouji.com.cn/news/501.shtml)3. 需要先获得 Android SDK4. 需要获得tcpdump软 阅读全文
posted @ 2013-11-06 13:56 imlucky 阅读(681) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/ithomer/article/details/6727581一、Apk反编译得到Java源代码下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码dex2jar 和 jdgui 最新版本下载,分别见google code:dex2jar(google code)jdgui(google code) 阅读全文
posted @ 2013-10-30 15:28 imlucky 阅读(250) 评论(0) 推荐(0)
摘要:(转自:http://www.cnblogs.com/plokmju/p/android_AsyncTask.html)前言 本片博客将介绍AsyncTask的使用,之前有介绍过线程和进程。而在AsyncTask中,运行在用户界面中,执行异步操作,并且把执行结果发布在UI线程上,且也不需要处理线程和Handler。在本篇博客里,将会讲解到AsyncTask的基本介绍,以及如何使用,最后会以一个简单的Demo讲解AsyncTask的使用。AsyncTask AsyncTask,异步任务,可以简单进行异步操作,并把执行结果发布到UI主线程。AsyncTask是一个抽象类,它的内部其实也是结合了.. 阅读全文
posted @ 2013-08-20 18:31 imlucky 阅读(1199) 评论(0) 推荐(0)
摘要:Java通过JNI调用本地C++代码是在同一个线程中的同步调用。JNI中如果新建的线程调用java的代码,那么java代码是运行在JNI线程中的;但是,如果调用UI相关的代码时需要与java主线程通信来调用。 阅读全文
posted @ 2013-08-20 15:42 imlucky 阅读(1469) 评论(0) 推荐(0)
摘要:Android设计模式系列(3)--SDK源码之单例模式:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/07/2130306.htmlAndroid 设计模式 之 单例模式:http://blog.csdn.net/liguangzhenghi/article/details/8076361我喜欢下面这种。定义://单例模式public final class MySingleton{ //线程同步 static final Object mInstanceSync = new Object(); //内... 阅读全文
posted @ 2013-08-16 10:37 imlucky 阅读(215) 评论(0) 推荐(0)
摘要:ANRs (“Application Not Responding”),意思是”应用没有响应“。1)什么引发了ANR?在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR:在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)BroadcastReceiver在10秒内没有执行完毕一个ANR对话框显示给用户2)如何避免ANR?考虑上面的ANR定义,让我们来研究一下为什么它会在Android应用程序里发生和如何最佳构建应用程序来避免ANR。Android应用 阅读全文
posted @ 2013-08-15 14:12 imlucky 阅读(1589) 评论(0) 推荐(0)
摘要://隐去标题栏(应用程序的名字) this.requestWindowFeature(Window.FEATURE_NO_TITLE);//隐去状态栏部分(电池等图标和一切修饰部分)this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 阅读全文
posted @ 2013-08-14 18:29 imlucky 阅读(198) 评论(0) 推荐(0)
摘要:(转自:http://www.cnblogs.com/xitang/archive/2011/09/24/2189460.html)Processes and Threads译者署名:呆呆大虾译者微博:http://weibo.com/popapa版本:Android 3.2 r1原文http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html快速查看·默认情况下,每个应用程序运行在各自的进程中,应用程序中的所有组件也都运行在其中。·activity中所有运行缓慢的、阻塞的 阅读全文
posted @ 2013-08-08 16:24 imlucky 阅读(621) 评论(0) 推荐(0)
摘要:一.Linux系统进程间通信有哪些方式?1.socket;2.name pipe命名管道;3.message queue消息队列;4.singal信号量;5.share memory共享内存;二.Java系统的通信方式是什么?1.socket;2.name pipe;三.Android系统通信方式是什么?Binder 通信;四.Binder通信的优势是什么?高效率五.Binder通信的特点是什么?是同步,而不是异步;六.Binder通信是如何实现的?1.Binder通信是通过linux的binder driver来实现的,2.Binder通信操作类似线程迁移(threadmigration), 阅读全文
posted @ 2013-08-08 16:03 imlucky 阅读(10412) 评论(0) 推荐(1)
摘要:(转自:http://www.cnblogs.com/allin/archive/2010/05/19/1738800.html) andriod提供了 Handler 和 Looper 来满足线程间的通信。例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传递的。在Android,这里的线程分为有消息循环的线程和没有消息循环的线程,有消息循环的线程一般都会有一个Looper,这个事android的新 概念。我们的主线程(UI线程)就是一个消息循环的线程。针对这种消息循环的机制,我们引入一个新的机制Handle,我们有消息循环, 阅读全文
posted @ 2013-08-08 15:55 imlucky 阅读(627) 评论(0) 推荐(0)
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl 阅读全文
posted @ 2012-09-07 16:25 imlucky 阅读(182) 评论(0) 推荐(0)
摘要:有两种方法可以分析 crash 的堆栈信息1 google提供了一个python脚本,可以从http://code.google.com/p/android-ndk-stacktrace-analyzer/ 下载这个python脚本,然后使用 adb logcat -d > logfile 导出 crash 的log, 使用 arm-eabi-objdump 位于build/prebuilt/linux-x86/arm-eabi-4.2.1/bin下面 把so或exe转换成汇编代码,如:arm-eabi-objdump -S mylib.so > mylib.asm, 使用脚本 p 阅读全文
posted @ 2012-08-28 09:43 imlucky 阅读(7840) 评论(0) 推荐(0)
摘要:(转自)http://makingmoneywithandroid.com/forum/showthread.php?tid=298[HOW TO] Get the Number of CPU Cores in anAndroidDevice/** * Gets the number of cores available in this device, across all processors. * Requires: Ability to peruse the filesystem at "/sys/devices/system/cpu" * @return The n 阅读全文
posted @ 2012-08-21 09:53 imlucky 阅读(3770) 评论(0) 推荐(0)
摘要:经过千辛万苦将skia编译成了静态库,但是发现图片解码都不成功,后来发现是图片解码库没有注册成功,可能是代码优化导致的,但是加上-O0编译选项也不行。后来就在SkImageDecoder_Factory.cpp中直接调用各个解码库的注册文件,结果png解码可以了,但是jpeg和gif编译不通过,后来发现时需要一个-fvisibility=hidden编译选项,增加后就OK了。修改的skia文件如下:SkImageDecoder_Factory.cppSkImageDecoder_Factory.cpp/* libs/graphics/ports/SkImageDecoder_Factory.c 阅读全文
posted @ 2012-08-01 10:20 imlucky 阅读(1962) 评论(0) 推荐(0)
摘要:(转自:http://www.iteye.com/topic/1123524)关于ListView异步加载图片有很多方式,也有很多方法可以解决图片错位的现象,看完他们写的代码,多半是基于回调的方式,比如这位:http://www.iteye.com/topic/685986他解决错位的方式很巧妙:ImageView imageViewByTag = (ImageView) listView.findViewWithTag(imageUrl);在构造适配器是传入ListView的引用,由唯一的TAG来找显示的ImageView;还有这位:http://www.iteye.com/topic/11 阅读全文
posted @ 2012-07-31 09:49 imlucky 阅读(17626) 评论(3) 推荐(0)
摘要:NDK编译时指定NDK_MODULE_PATH的方法:ndk-build NDK_MODULE_PATH=`pwd`可以写在一个build.sh文件里面:ndk-build $1 NDK_MODULE_PATH=`pwd`这样,编译就输入:./build.sh 清除就输入:./build.sh clean是不是很方便? 阅读全文
posted @ 2012-07-27 15:41 imlucky 阅读(6845) 评论(0) 推荐(0)