Android
oLevin
这个作者很懒,什么都没留下…
展开
-
Java Callable用法
Java Thread ExecutorService Callable Runnable Callable 和 Runnable 的使用方法大同小异, 区别在于: 1.Callable 使用 call() 方法, Runnable 使用 run() 方法 2.call() 可以返回值, 而 run()方法不能返回。 3.call() 可以抛出受检查的异常,比如Clas转载 2013-11-18 19:25:12 · 1670 阅读 · 0 评论 -
android httpClient 支持HTTPS的2种处理方式
http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 浅谈https\ssl\数字证书http://my.oschina.net/blackylin/blog/144136 android httpClient 支持HTTPS的2种处理方式转载 2013-11-21 16:35:25 · 1023 阅读 · 0 评论 -
android虚拟机和java虚拟机的区别
为什么android不直接用java虚拟机,而自己开发了一个叫dalvik虚拟机?android中使用的是dalvik虚拟机和普通的虚拟机不同sun java 虚拟机dalvik 虚拟机花大力气开发出该虚拟机的原因是因为 sun虚拟机是有版权问题的 而且 dalvik 更适合于移动的设备 。为什么呢 接下来 我去比较下dalvik 虚拟机和java转载 2013-11-22 14:56:30 · 1185 阅读 · 0 评论 -
Service是跑在主线程中
Service是跑在主线程中,所以的耗时操作还是要起线程(Task)来执行比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。原创 2013-11-23 12:38:11 · 2809 阅读 · 0 评论 -
startService和bindService的区别
我们有两种方式启动一个Service,他们对Service 生命周期的影响是不一样的。 1 通过startService Service会经历 onCreate -> onStartCommand, stopService的时候直接onDestroy 如果是调用者(TestServiceHolder)自己直接退出而没有调用stopServic转载 2013-11-23 12:46:09 · 1079 阅读 · 0 评论 -
Service生命周期
http://android.blog.51cto.com/268543/527314Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过来声明。可以通过contect.startservice和contect.bindserverice来启动。 Service和其他的应用组件一样,运行在进程的主线程中转载 2013-11-24 14:39:09 · 765 阅读 · 0 评论 -
从TelephonyManager获取设备信息
直接看api文档就一目了然了:http://developer.android.com/reference/android/telephony/TelephonyManager.html#getSubscriberId()Public MethodsListCellInfo>getAllCellInfo()Returns all原创 2013-11-25 19:14:30 · 1621 阅读 · 0 评论 -
Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
private boolean isRoot(String command){Process process = null; DataOutputStream os = null; try { process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStr转载 2013-11-26 10:17:41 · 4591 阅读 · 0 评论 -
LAC+CELLID定位手机位置
表示一个移动通信基站的某个扇区,LAC是位置区码,CELLID是扇区代码。由这两个加上国家码,如86(中国),和运营商识别码,如中国移动 01,就可以用于精度为500、600米左右的全球唯一定位了。原创 2013-11-27 16:41:12 · 9429 阅读 · 0 评论 -
Android定时器的用法
/** * 当我们设置了新时间时触发。 */ @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // 将时间设置为定时的时间 calendar.set(Calendar.原创 2013-11-14 18:40:46 · 689 阅读 · 0 评论 -
Java实现生产者消费者模型:多线程+BlockingQueue
转载:http://blog.163.com/chenxiaojie89@126/blog/static/15105000920126231418429/认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大致如下图所示:从上图我们可以很清楚看到,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端输出;常用的队列转载 2013-11-14 13:39:16 · 1757 阅读 · 0 评论 -
Android 各种网络信号强度术语
http://stackoverflow.com/questions/15054498/android-signalstrength-terminology-explanation转载 2013-11-28 14:28:49 · 1397 阅读 · 0 评论 -
Android获取经纬度的方法
方法1:LocationManager.GPS_PROVIDER方法2:LocationManager.NETWORK_PROVIDER方法3:通过网络的方式,请google服务分析定位:http://blog.csdn.net/lancees/article/details/7616735方法1和方法2是常规的方式,但是在国内这写Provider经常被阉割了,根本取不到经纬度数据原创 2013-11-28 17:37:34 · 1058 阅读 · 0 评论 -
Cellid LAC(获取)监听
com.android.internal.telephony Class PhoneStateIntentReceiverjava.lang.Object android.content.BroadcastReceiver com.android.internal.telephony.PhoneStateIntentReceiverDeprecated.原创 2013-11-27 18:41:56 · 3401 阅读 · 0 评论 -
ContentProvider,SQLiteOpenHelper,SQLiteDatabase三者之间的区别和联系
http://blog.csdn.net/androidzhaoxiaogang/article/details/81806281.SQLiteOpenHelper是将对数据库和表的创建、插入、更新、删除操作进行了简单的封装;2.而ContentProvider可以说是一个对外的接口,除了可以实现对SQLiteOpenHelper的封装,还可以实现对文件操作、图片操作、对象操作等实转载 2013-11-29 15:33:20 · 812 阅读 · 0 评论 -
Java解析json数据
json格式如下:{"response":{"data":[{"address":"南京市游乐园","province":"江苏","district":"玄武区","city":"南京"}]},"status":"ok"}JSONObject dataJson=new JSONObject("你的Json数据“);JSONObject response=dataJson.ge转载 2013-12-03 17:16:10 · 1002 阅读 · 0 评论 -
VLC重定义ActionBarSherlock的背景色
1. AndroidManifest.xml 使用了自定义的Theme.VLC <activity android:name="org.videolan.vlc.gui.MainActivity" android:configChanges="orientation|screenSize" android:l原创 2013-12-28 23:39:36 · 1273 阅读 · 0 评论 -
将android 系统自动的app导出来(备份出来)
发现系统app的一个资源很漂亮,想copy过来用,得先把系统app导出来。搜了一堆工具,都不好用,最后发现了这个很牛B的工具:钛备份。钛备份,能够把系统自动的app导出来(备份出来),导出来的app放在/sdcard/TitaniumBackup目录下,拷出来,然后你就自由发挥啦原创 2013-12-29 15:39:49 · 1793 阅读 · 1 评论 -
国内阉割版安卓手机无法使用google maps
关于谷歌地图的问题:requires unavailable shared library com.google.android.maps博客分类: Android 关于谷歌地图和百度地图的抉择: 补充:http://news.3snews.net/industry/20120305/18896.shtml 经过调研(或许不够准确,但目前我得到的转载 2013-12-17 10:30:23 · 2668 阅读 · 2 评论 -
vlc android 代码编译
cannot execute binary file使用uname -a 查看ubuntu是32位的还是64位的,如果是32位的,你却安装了64位的adt 和 ndk,就会报这个错系统:ubuntu12.04代码:git://git.videolan.org/vlc-ports/android.git代码版本:375646994d0602年初的时候搞了三转载 2013-12-25 14:53:17 · 982 阅读 · 0 评论 -
Android httpClient自动处理302重定向
通过代码获取http网页,我在代中使用的是android.net.http.AndroidHttpClient, 这个AndroidHttpClient继承自org.apache.http.client.HttpClient之所以使用AndroidHttpClient,是因为其可以设置UserAgent默认情况下,HttpClient是不处理302跳转的,直接返回302错误码,和跳转的Lo原创 2014-01-10 16:31:45 · 6874 阅读 · 0 评论 -
bindServer的作用
由于Android 中的Service使用了onBind 的方法去绑定服务,返回一个Ibinder对象进行操作,而我们要获取具体的Service方法的内容的时候,我们需要Ibinder对象返回具体的Service对象才能操作,所以说具体的Service对象必须首先实现Binder对象,这个样子的话我们才能利用bindService的方法对Service进行绑定,获取Binder对象之后获取具体的S转载 2013-12-27 12:54:38 · 1455 阅读 · 0 评论 -
startService和bindService最好不要混用
startService和bindService最好不要混用,当然,如果你对Servie的生命周期烂熟于心的话,你想怎么用就怎么用。个人建议还是不要混用,以免思维混乱,吧自己搞的云里雾里的。使用startService启动的Service,在调用方销毁后,Service任然运行,除非调用自己调用stopSelf或者外部调用stopService()主要,如果某个app中原创 2013-12-27 10:49:20 · 1467 阅读 · 0 评论 -
使用fragment替换Tab
Ryutaku() 14:01:41问一下大家,fragment组件在实际手机开发当中应用得多不?北京-呼吸() 14:02:01挺多的扯淡、的生活() 14:02:14 我没用过,不过看别的项目挺多的 Ryutaku() 14:02:19能不能列出几种应用场景啊,我好有针对性的学习学习北京-呼吸() 14:02:36当一个原创 2013-12-27 14:11:11 · 970 阅读 · 0 评论 -
开机即启动Activity
大概的步骤如下:1. 继承BroadcastReceiver,监听BOOT_COMPLETED广播 2. 在onReceive回调中,启动Activity即可。public class BootReceiver extends BroadcastReceiver { @Override原创 2014-01-26 17:00:17 · 728 阅读 · 0 评论 -
在后台Service中直接启动Activity
如果你有Service在跑,但是没有处于resume的activity,这时候如果你想启动一个Activty,比如提醒用户升级应用,在后台Service中直接启动Activity是可以的:如果用的context不是Activity的context,会报错:Calling startActivity() from outside of an Activity context requ原创 2014-01-26 17:08:35 · 1757 阅读 · 0 评论 -
Android 获取ROOT权限原理解析
http://blog.csdn.net/chaihuasong/article/details/8463212一、 概述本文介绍了android中获取root权限的方法以及原理,让大家对android玩家中常说的“越狱”有一个更深层次的认识。 二、 Root的介绍1. Root 的目的可以让我们拥有掌控手机系统的权限,比如删除一些s转载 2014-01-26 15:27:07 · 871 阅读 · 0 评论 -
待学习:高并发高流量网站架构(解决方案)
1.nginx反向代理配置及优化2.硬件F53. 服务端分模块给app,部署多个服务端,指定app链接到某个负载较低的服务端。mogodb采用分布式架构原创 2014-01-22 11:11:40 · 974 阅读 · 0 评论 -
Android图片,PNG还是JPG?用哪种?
观点一:Android的界面能用png最好是用png了,因为32位的png颜色过渡平滑且支持透明。jpg是像素化压缩过的图片,质量已经下降了,再拿来做9path的按钮和平铺拉伸的控件必然惨不忍睹,要尽量避免。对于颜色繁杂的,比如照片墙纸之类的图片(有些应用的启动画面喜欢搞这种),那用jpg是最好不过了,这种图片压缩前压缩后肉眼分辨几乎不计,如果保存成png体积将是jpg的几倍甚至几十倍,严重浪转载 2014-02-25 14:15:00 · 4566 阅读 · 1 评论 -
java匿名内部类范例
//填充ViewPager的数据适配器 //Levin: PagerAdapter 是抽象类(abstract class),这里的用法abstract class //实际上是定义了一个匿名内部类,继承自PagerAdapter PagerAdapter mPagerAdapter = new PagerAdapter() { @Ov原创 2014-02-25 15:12:25 · 1080 阅读 · 0 评论 -
Android Animation时间插入器Interpolator
http://blog.csdn.net/lixiang0522/article/details/7893239属性动画系统是非常强健的框架,允许你移动几乎任何东西。你可以定义一个动画去改变任何对象属性,不管它是否绘制到屏幕上。一个属性动画在一个指定时间内改变一个属性(对象中的一个字段)的值。你需要先指定要改变的对象属性,例如一个对象在屏幕中的位置,然后指定你想在多长时间内改变它,转载 2014-02-27 17:03:06 · 1688 阅读 · 0 评论 -
PNG8和PNG24的区别
首先先做下比较,因为估计做前端的人和我一样知道最多的就是png是一种包含半透明格式的图片。其实我们还要知道: 1.png8和png24的根本区别,不是颜色位的区别,而是存储方式不同。 2.png8有1位的布尔透明通道(要么完全透明,要么完全不透明),png24则有8位(256阶)的布尔透明通道(所谓半透明)。 png-8 和 gif 有一些相似之处,模式都是索引颜色,转载 2014-02-18 16:54:54 · 2863 阅读 · 0 评论 -
BaiduMapsApiDemo报错:请在 DemoApplication.java文件输入正确的授权Key
BaiduMaps的程序猿真是恶心,弄个BaiduMapsApiDemo,下载下来了还报错,让人申请授权Key:请在 DemoApplication.java文件输入正确的授权Key!申请地址:http://dev.baidu.com/wiki/static/imap/key/我勒个去,你丫的搞个demo给人看,还要申请什么授权key,真蛋疼!没办法,除了百度地图,其他的原创 2014-03-06 16:32:55 · 5132 阅读 · 1 评论 -
Android WatchDog正解
转载:http://blog.csdn.net/21cnbao/article/details/7748729在一个典型的嵌入式系统中,会存在一个硬件看门狗,正常运转的系统会周期喂狗,否则证明系统hang了。硬件看门狗存在相当大的局限性,它只能监控整个系统而不能监控单个的进程或者线程。于是发明软件看门狗意义重大。SystemServer会用到软件看门狗来确保AM 、PM、WM这几个服务转载 2014-03-06 10:06:42 · 1071 阅读 · 0 评论 -
Android系统启动过程
Android系统启动过程首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。启动的过程如下图所示:(图片来自网上,后面有地址) 下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解转载 2014-03-06 09:31:30 · 955 阅读 · 0 评论 -
使用Android自带DownloadManager下载文件
SDK在API Level 9中加入了DownloadManager服务,可以将长时间的下载任务交给系统,完全由系统管理。直接看实例代码:[java] view plaincopypackage com.hebaijun.downloadtest; import java.io.UnsupportedEncodi转载 2014-03-06 13:56:18 · 1358 阅读 · 0 评论 -
apk签名的重要性和方法
apk签名的重要性:Android使用这个证书作为辨别应用程序更新的真实性和已安装应用程序之间进行通信的凭证。这个证书是你今后升级apk的唯一凭证。如果你丢了这个证书,想对已经安装了你的apk的设备上,或者Google Play上无缝升级你的apk,那是不可能的事,会被系统拒绝安装。解决办法就是先卸载掉,在安装新的apk,或者你改包名(严格来说你改包名等与发了另外一个新的apk)。如果原创 2014-03-07 13:21:47 · 1422 阅读 · 0 评论 -
android 模拟器 PANIC: Could not open: AVD 解决方法
参加文章:http://stackoverflow.com/questions/18540607/starting-emulator-for-avd-then-panic-could-not-openhttp://android.stackexchange.com/questions/51742/cannot-start-emulated-android-device-avd-devi转载 2014-03-19 14:16:47 · 3269 阅读 · 0 评论 -
百度Frontia应用数据存储在后台运行不起来
通过百度Frontia sdk的应用数据存储功能,从云存储下载或上传文件,百度提供的Demo是正常的。但是加到自己的代码中就不能运行,后来发现,自己的代码是在后台运行的,Frontia Demo是在前台运行的。原因是mCloudStorage.downloadFile()会创建Handler,而创建Handler是需要Looper消息循环来初始化的。如果在自己的子线程中调用mC原创 2014-03-28 13:03:42 · 2299 阅读 · 0 评论 -
android中socket连接不到服务器导致卡机处理
转载:http://blog.csdn.net/wq_tft/article/details/6222581private String ip;private String port;private Socket client; private int timeout = 5000; private InetSocketAddre转载 2014-03-20 17:21:48 · 1415 阅读 · 1 评论