- 博客(51)
- 资源 (6)
- 收藏
- 关注
原创 EventBus源码分析
EventBus的使用这里就不讲了,从几个问题来分析源码吧1:subscribe 注解的方法如何读取,并维护数据2:post后如何找到对应的方法3:线程间如何切换先举个栗子public class Test1 { private final String TAG = getClass().getSimpleName(); public Test1() { ...
2019-06-26 20:25:20
229
原创 JAVA线程池的一些见解
java线程池用法这里就不说了,直接说一些ThreadPoolExecutor的原理。public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...
2019-06-22 21:55:14
211
原创 由Future, FutureTask,Callable再到AsyncTask
如转载请标明出处:https://blog.youkuaiyun.com/dxh040431104/article/details/93329349Future, FutureTask,Callable网上的说明很多,我这里就不说了,只说一些我的见解FutureTask是一个实现了Future的Runable,所以它可以直接丢到Thread中使用如Callable<Integer&g...
2019-06-22 15:58:23
1015
原创 String为什么要设计成不可变的
我觉得就一个主要原因字符串池的需要字符串池是方法区(Method Area)中的一块特殊的存储区域。当一个字符串已经被创建并且该字符串在 池 中,该字符串的引用会立即返回给变量,而不是重新创建一个字符串再将引用返回给变量。如果字符串不是不可变的,那么改变一个引用(如: string2)的字符串将会导致另一个引用(如: string1)出现脏数据。网上很多人说是因为多线程时的线程安全,我觉得...
2019-06-19 17:29:11
159
原创 android局域网通讯框架
该框架是用来实现局域网中多台机器通讯的,基于TCP协议实现了多台C连接一台S,https://github.com/MurrayDu/lan该框架支持消息失败重复,消息发送成功或失败的返回,支持心跳包,支持服务端断网重连,话不多说直接上图上图是整个框架的结构图TcpService是服务端通讯的类,负责监听客户端连接请求,维护客户端列表Finder是服务端,客户端端搜索的基类...
2019-06-18 15:13:16
900
原创 opensips 调试过程中的错误总结和对应解决方案
运行opensipsctl start时 出现 ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed错误。一般opensips的错误我们需要从 /var/log/syslog 里面看错误的原因。在syslog中果然有Jun 11 10:25:08 szty-Inspiron-3
2015-06-11 10:50:04
4545
原创 屏蔽长按menu键弹出的输入键盘
@Override public void onAttachedToWindow(){ this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); }
2012-12-13 16:01:18
792
转载 Android获取图片大小以及获取指定大小的缩略图
怎样获取图片的大小?0 }# S! I5 g+ W思路很简单:首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。& V ~" k% W8 }& P Z新问题又来了,在通过Bi
2011-08-07 19:39:46
22251
转载 android.resource://这个Uri你知道吗
如何访问平时APK文件Res目录下的内容呢? 如果直接访问Apk下的assets目录可以使用AssetManager类处理,而需要访问 res/raw这样的文件夹怎么办呢? 这里Android123可以告诉大家APK在安装时已经解压缩,部分资源存放在/data/data /package_name/这里, 比如我们想访问res/raw/android123.cwj文件,可以使用android.re
2011-06-21 14:47:00
1881
原创 adnroid源码mms中composeMessageActivity中创建listview的一些分析
<br />点击conversationList的列表后会调用composeMessageActivity.java 然后初始化一个单个联系人的短信界面。<br />一开始调用onCreate()。通过setContentView(R.layout.compose_message_activity);initResourceRefs(); 加载一些UI界面。<br />在initialize()中初始化一些数据,在initActivityState()中初始化和composeMessageActivity相
2011-05-31 09:55:00
3269
1
原创 获得android模拟器root权限的命令
<br />adb shell<br />mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
2011-04-21 10:01:00
1303
原创 利用canvas画text时的换行实现
<br /><br />private void drawText(String str,Paint pa,Canvas ca) {<br />float[] widths ;<br />float toalwidth = 0 ;<br />int mTextXPoint = 10 ; //text的起始点X<br />int mTextYPoint = 10 ; //text的起始点Y<br />widths = new float[50];<br />int index = 0;<br />int
2011-01-21 16:46:00
3971
转载 Android学习笔记之mainfest文件中android属性
<br /><br />以前的零散笔记, 共享一下, 有错误的地方还请指正。<br />android:allowTaskReparenting<br />是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。<br />--------------------------------------------------------------------------------------<br />android:alwaysRetainTaskState<br />是否保留状态不
2011-01-12 17:36:00
601
原创 TranslateAnimation 一点分析
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)这个是我们最常用的一个构造方法,float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值;float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值;float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值;float toYDelta)这个参数
2011-01-10 17:07:00
5360
原创 数据存储之sharePreference
<br /><br />Shared Preferences 类似于winform中做一些小型配置的ini文件,用来保存一些用户设置的参数。例<br /> <br />如,可以通过它保存上一次用户所做的修改或者自定义参数设定,当再次启动程序后依然保持原有设置<br /> <br />。<br /> <br />Shared Preferences 处理数据有3种模式 MODE_PRIVATE 是 preferences 的操作模式。这是默认的模<br /> <br />式,代表只有创建这个 prefere
2011-01-07 13:34:00
10298
转载 Android Animation学习笔记
<br /><br />关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式:<br />1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;<br />2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。动画类型<br />下面先来看看Android提供的动画类型。Android的animation由四种类型组成<br />在XML文件中:alph
2010-12-06 19:24:00
614
转载 OPhone 2D UI 动画教程之一——Animation介绍
<br /><br />在本系列教程中将介绍OPhone中提供的2D UI 动画(Animation),利用OPhone提供的动画功能可以很容易的创建各种UI动画效果,恰当的使用不同的动画组合可以使我们的程序更加招人喜爱。OPhone 2D UI动画概述在前面的《OPhone平台SurfaceView教程》中介绍了如何使用SurfaceView来创建一个现实GIF动画的自定义View,虽然OPhone不支持GIF动画显示但是OPhone却提供了其他动画效果。目前OPhone中提供了三种动画效果:逐帧动画(f
2010-12-06 19:23:00
833
转载 分析android动画模块
主要思路Tween 动画通过对 View 的内容完成一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。具体来讲,预先定义一组指令,这些指令指定了图形变换的类型、触发时间、持续时间。这些指令可以是以 XML 文件方式定义,也可以是以源代码方式定义。程序沿着时间线执行这些指令就可以实现动画效果。动画的进度使用 Interpolator 控制,android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如LinearInterpolator 实现了匀速效果、 Accele
2010-12-02 16:05:00
436
转载 OPhone动画原理及示例
<br />OPhone平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述OPhone平台的动画框架是如何实现的。任何一个框架都有其优势和局限性,只有明白了其实现原理,开发者才能知道哪些功能可以利用框架来实现,哪些功能须用其他途径实现。 (作者:鲁威)5 s+ _6 x5 v* g( I9 ^; g<br />OPhone动画框架原理0 C7 ~! U) G* y; C& o1 S<br /> 现有的OPhone动画框架是建立在View的级别上的,在View类
2010-12-02 14:51:00
612
转载 android事件处理总结--dispatchTouchEvent
从今天解决的一个问题了解到, viewGroup的dispatchTouchEvent方法会在其onInterceptTouchEvent方法之前被触发.又搜了些资料,个人觉得最受用的总结如下:首先触发ACTIVITY的dispatchTouchEvent然后触发ACTIVITY的onUserInteraction然后触发LAYOUT的dispatchTouchEvent然后触发LAYOUT的onInterceptTouchEvent供参考的文章蛮多的,我不再废话了:http://blog.youkuaiyun.com
2010-12-02 11:11:00
2923
原创 如何调试跟踪Android源代码
<br /><br />Android平台代码很多,关系也很复杂,通常我们调试程序的时候是无法跟踪到Android framework code里的,如果能调试跟踪Android source code将给我们这些初学者带来很多便利,本文将给出一个调试跟踪Android source code 的方法。<br /> 1. 首先,得到Android 源代码(可参考之前的文章--如何获取Android源代码并编译.doc),并且编译,得到output file,在(Android source)/out
2010-11-30 15:36:00
1251
转载 linux man 手册各个章节的意义和用法
<br />转载自http://hi.baidu.com/lieal/blog/item/eee71981063481d4bc3e1ec7.html<br /> <br />Linux的man很强大,该手册分成很多section,使用man时可以指定不同的section来浏览,各个section意义如下: <br /><br />1 - commands<br />2 - system calls<br />3 - library calls<br />4 - special files<br />5 -
2010-11-24 14:24:00
549
转载 android animation
动画效果编程基础--AnimationAndroid 动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果
2010-11-11 13:53:00
494
转载 Android Launcher 分析
<br />Home screen可以说是一个手机的最重要应用,就像一个门户网站的首页,直接决定了用户的第一印象。下面对home screen做一简要分析。<br /><br />home screen的代码位于packages/apps/Launcher目录。从文件launcher.xml,workspace_screen.xml可获知home screen的UI结构如下图所示:<br /><br /><br />整个homescreen是一个包含三个child view的FrameLayout(
2010-11-04 16:45:00
778
原创 sensor使用的一些理解
<br /><br />如果想要调用系统的sensor,那就得用到系统自带的sensorservice。一般的调用方法是.<br />先开启服务:<br />mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);<br /> mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);//这个是light sensor的实例<br />然后
2010-10-29 17:09:00
4836
1
转载 SD/USB
<br /><br />9 SD/USB<br /> <br />9.1 主流程<br /> <br />文件:system/core/vold/Vold.c<br />int main(int argc, char **argv)<br />{<br /> ...<br />mkdir("/dev/block/vold", 0755);<br /> ...<br /> /*<br /> * Bootstrap<br /> */<br /> <br />
2010-10-22 15:15:00
1321
转载 Gsensor lis301 driver 升级到 lis331 driver 过程总结,以及android中Gsensor相关流程
<br /><br />1.使G-sensor正常工作需要做的事:<br /> <br />G-sensor driver文件包括:<br /> <br />driver/i2c/chips/lis331dl.c<br />driver/i2c/chips/sensorioctl.h<br />include/linux/lis331dl.h<br /> <br />并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2c_dev
2010-10-22 15:13:00
1157
转载 设计自己的Android Preference
设计自己的Android PreferenceSeekBar PreferenceAndroid提供了Preference供应用可以进行功能设置以及属性配置等操作,检查android.preference可以看到Preference下有若干子类,例如常用的EditTextPreference、CheckBoxPreference、ListPreference等。但是仅仅有这些是不够的。在我现在的工作当中,应用里有这么一个场景,用户手指在屏幕滑动,应用绘制出移动的轨迹。熟悉Android API Demo
2010-10-22 15:12:00
1169
转载 ADROID 2.1 架构解析 9 SD/USBk
9 SD/USB9.1 主流程文件:system/core/vold/Vold.cint main(int argc, char **argv){ ...mkdir("/dev/block/vold", 0755); ... /* * Bootstrap */ bootstrap = 1; // Volume Manager volmgr_bootstrap();
2010-10-19 18:07:00
972
2
原创 sed命令的用法
<br />由于最近在学习shell和makefile的用法,所以时不时会上传一些自己的心得和一些总结:<br />s e d是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道的文本。s e d可以做些什么呢?别忘了,Vi也是一个文本编辑器。s e d可以随意编辑小或大的文件,有许多s e d命令用来编辑、删除,并允许做这项工作时不在现场。s e d一次性处理所有改变,因而变得很有效,对用户来讲,最重要的是节省了时间。<br />
2010-10-18 16:37:00
541
转载 Android Recovery模式 详细出处参考
Recovery简介Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级。升级一般通过运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级,脚本中是一组recovery系统能识别的UI控制,文件系统操作命令,例如write_raw_image(写Flash分区),copy_dir(复制目录)。该包一般被下载至SDCARD和CACHE分区下。如果对该包内容感兴趣,可以从http://forum
2010-09-30 13:47:00
999
转载 可循环显示图像的Android Gallery组件
<br /><br />Gallery组件主要用于横向显示图像列表,不过按常规做法。Gallery组件只能有限地显示指定的图像。也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了。这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示。要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行一番改进。<br /><br />Gallery组件的传统用法<br /><
2010-09-27 11:16:00
428
转载 分析Android 根文件系统启动过程(init守护进程分析)
在Android系统启动时,内核引导参数上一般都会设置“init=/init”,这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Readthe Fucking Source code)!!init程序源码在Android官方源码的system/core/init中,main在init.c里。我们的分析就从main开始。init:(1)安装SIGCHLD信号。(如果父进程不等待子进程结束,子进程
2010-09-15 18:54:00
422
转载 Android SDK Add-on Configure, Compile and Release
<br />SDK Add-on 是一个比较小众的话题,一是通常厂商不会公开自己的add-on,二是即便公开了,应用开发者也很少使用。所以通常是厂商自己的技术团队自娱自乐,框架团队抽取公用的控件,制成一个 add-on,然后公布给自家的应用程序开发团队。<br />由于是小众的,所以网络中关于这方面的资料比较少。这几天由于工作原因,我有幸接触到 Add-on,因此把这方面的知识进行了汇总,整理成如下内容。这些知识来自于我对 sample 示例的理解,并经过项目实践验证,我竭力保证无误,但差错
2010-09-14 18:17:00
3763
转载 Android系统铃声音乐文件夹
<br />一、/system/media<br /><br />铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音<br />/system/media/audio<br />/system/media/audio/alarms 闹铃音<br />/system/media/audio/notifications 提示音<br />/system/media/audio/ringtones 铃声<br />/system/media/audio/ui 界面操作事件音<b
2010-09-14 16:18:00
9702
转载 Android的属性系统
<br />每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。<br />在系统初始化时,Android将分配一个共享内存区来存储的属性。这些是由“init”守护进程完成的,其源代码位于:device/system/init。“init”守护进程将启动一个属性服务。属性服务在“init”守护进程中运行。每一个客户端想要设置属性时,必须连接属性服务,再向其发送信
2010-09-13 15:00:00
2112
转载 开机动画(闪动的ANDROID字样的动画图片)
<br />开机动画(闪动的ANDROID字样的动画图片)<br /><br />Android 的系统登录动画类似于Windows系统的滚动条,是由前景和背景两张PNG图片组成,这两张图片存在于/system/framework /framework-res.apk文件当中。前景图片(android-logo-mask.png)上的Android文字部分镂空,背景图片(android-logo-shine.png)则是简单的纹理。系统登录时,前景图片在最上层显示,程序代码控制背景图片连续滚
2010-09-10 18:10:00
2353
转载 使用AIDL(AndRoid接口描述语言)设计和使用远程接口
Since each application runs in its own process, and you can write a service that runs in a different process from your Application's UI, sometimes you need to pass objects between processes. On the Android platform, one process can not normally acc
2010-09-10 12:42:00
1401
转载 内存监测工具 DDMS --> Heap
<br />无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方。Android tools中的DDMS就带有一个很不错的内存监测工具Heap(这里我使用eclipse的ADT插件,并以真机为例,在模拟器中的情况类似)。用Heap监测应用进程使用内存情况的步骤如下:<br />1. 启动eclipse后,切换到DDMS透视图,并确认Devices视图、Heap视图都是打开的;<br />2. 将手机通过USB链接至电脑,链接时需要
2010-09-09 13:54:00
1927
Android-framework详细分析
2010-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人