- 博客(79)
- 资源 (1)
- 收藏
- 关注
原创 总结的点
1、线程如何打断 2、& 0xff 3、PagerTabStrip+ViewPager+Fragment 4、GraphicalView 5、Android里的强制停止程序是如何实现的 6、模板模式 7、CRC校验 8、IPC数据的正确性与安全性
2015-11-04 18:11:54
513
原创 习惯命令
1、 adb shell ps | findstr systemui adb shell kill -9 xxxx(pid) 2、 git reset --hard commitId 3、 git log --pretty=oneline path 查看某文件的修改记录 4、 adb logcat -c adb logcat -v time >e:\log.txt 保存log
2015-11-02 11:26:42
879
转载 Android framework系统默认设置修改
原文地址:http://blog.youkuaiyun.com/cbk861110/article/details/25216765 Launcher 总结: 1、launcher的布局太居中,要想两边拉伸 apps_customize_pageLayoutPaddingLeft">40dp apps_customize_pageLayoutPaddingRi
2015-09-01 12:05:39
1975
转载 Android Makefile 文件讲解
原文地址:http://blog.youkuaiyun.com/yangzhiloveyou/article/details/8627969 android编译系统的makefile文件Android.mk写法如下 (1) Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下 Android.mk和需要编译的源文件在同一目录下,宏函数“my-dir”右
2015-07-22 16:13:05
429
转载 追踪调用
StackTraceElement[] stack = new Throwable().getStackTrace(); for (StackTraceElement element : stack) { Slog.d(TAG, " |----" + element.toString()); }
2015-06-25 13:42:55
544
转载 Android 快速模糊
package xxxxx; import android.graphics.Bitmap; import android.util.Log; import android.graphics.Canvas; import android.graphics.Paint; public class Blur { public static int SCALE
2015-06-12 11:25:28
569
原创 android 5.0 SystemUI界面
从SystemServer开始: SystemServer-----》SystemUIService-----》SystemUIApplication.startServicesIfNeeded() startServicesIfNeeded()方法会遍历一个固定数组,分别调用数组中相应的start()方法,其中包括SystemBars.start()方法! 然后SystemBars.s
2015-04-03 14:24:09
1717
转载 Android 4.0 Launcher2源码分析——桌面快捷图标的拖拽
本文来自http://blog.youkuaiyun.com/chenshaoyang0011 转载请申明文章出处! 通过上一篇文章Android4.0Launcher2源码分析(五)——Workspace的滑动中,已经了解了Launcher的ViewTree中各层所负责的工作,在DragLayer中就负责对快捷图标和AppWidget等组件的拖拽工作。桌面的滑动和图标的拖拽是两项独立的工作
2015-03-31 11:17:01
752
转载 Git常用命令的使用情景
原文地址:http://shanewfx.github.io/blog/2012/04/28/git-command-note/ 本文尽量指出在不同情景下如何选择合适的Git命令来达到自己的目的,当然,由于Git太过强大、灵活,有时同一问题可以有多种不同的解决方案,这里不太可能全部列出,只会选择一些自己测试可用的方法。 文中会稍微谈一些Git内部实现的细节,但不会太具体,同时这些内
2015-03-27 13:58:28
542
原创 Android 5.0 SystemServer--->Android入口
main()--->new SystemServer.run() run方法: 1、矫正时间 2、启动性能分析SamplingProfilerIntegration,开机后一小时执行一次 3、设置参数:获取更多内存,确保SystemServer一直有效,定义手势属性,设置UserRequired为true,确保binder的优先执行,准备Looper 4、加载android_server
2015-03-25 11:35:12
1038
转载 Android 开机启动流程
一、FrameWork整体运行框架说明: 1.Activity的创建会创建PhoneWindow,PhoneWindow会创建DocerView,DocerView会创建View和ViewGroup。 2.应用程序在Activity中添加和删除窗口,是通过调用WindowManager类的addView和RemoveView函数达成,具体实现是通过桥接模式实
2015-03-19 14:20:56
522
转载 Android文件或文件夹内容改变监听器(FileObserver)
原文地址:http://blog.youkuaiyun.com/mayingcai1987/article/details/6210904 一. 概述: android.os包下的FileObserver类是一个用于监听文件访问、创建、修改、删除、移动等操作的监听器,基于linux的INotify。 FileObserver是个抽象类,必须继承它才
2015-03-18 13:38:52
534
转载 开机启动的服务
EntropyService:熵(shang)服务,用于产生随机数 PowerManagerService:电源管理服务 ActivityManagerService:最核心服务之一,Activity管理服务 TelephonyRegistry:电话服务,电话底层通知服务 PackageManagerService:程序包管理服务 AccountManagerServ
2015-03-16 15:31:26
456
转载 linux常用快捷键和常用命令
原文地址:http://zdz8207.iteye.com/blog/734798 1.Linux单行命令模式下常用快捷键 ctrl+a 移动光标到最前 ctrl+e 移动光标到最后 ctrl+w 删除光标前面一个字段(以空格分段) ctrl+k 删除光标后面所有 ctrl+u 删除光标前面所有 ctrl+y 粘贴删除的(包括ctrl+w,ctrl+k,c
2015-03-07 11:19:37
472
转载 sudo命令详解
原文地址:http://linux.chinaunix.net/techdoc/system/2008/12/27/1055474.shtml sudo是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务 大家知道ubuntu吧,他就封闭了root用户,都是使用的sudo sudo能够限制
2015-03-06 10:01:22
1081
转载 VI常用命令
_______________________________________________________ 一般模式 光标移动 __________________________________________________________ h 或 向左方向键 光标向左移动一个字符
2015-03-05 16:49:10
412
转载 grep的用法
1.从单个文件中搜索指定的字串 grep的基础用法是如下例的从指定的文件中搜索特定的字串。 语法:grep "literal_string" filename 2. 在多个文件中检索指定的字串语法:grep "string" FILE_PATTERN3. 用 grep -i 进行大小写无关的搜索语法:grep -i "string" FILE4. 使用用正则表达式语法:grep "REGEX
2015-03-05 15:53:15
2766
转载 Ubuntu常用命令大全
原文地址:http://www.educity.cn/linux/660186.html 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回上一次所在的目录 cd ~ 或 cd 回当前用户的宿主目录 mkdir
2015-03-05 13:46:58
832
原创 加密相关
目前的加密算法主要分对称加密算法和非对称加密算法。 对称加密算法: 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 特点是算法公开、计算量小、加密速度快、加密效率高;对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。 对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。而与公开
2015-01-08 17:45:53
928
转载 HttpUrlConnection有关
关于HttpClient用法 1.HttpURLConnection实现步骤 (1).得到HttpURLConnection对象,通过调用URL.openConnection()方法得到该对象 (2).设置请求头属性,比如数据类型,数据长度等等 (3).可选的操作 setDoOutput(true),默认为false无法向外写入数据!setDoInput(true),一般不用
2014-12-26 10:40:29
601
转载 Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符 与运算符用符号“&”表示,其使用规律如下: 两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。 public class
2014-12-04 15:03:42
2972
转载 Values-国际化语言
在res目錄下建立不同名稱的values文件來調用不同的語言包 Values文件匯總如下: 中文(中國):values-zh-rCN中文(台灣):values-zh-rTW 中文(香港):values-zh-rHK 英語(美國):values-en-rUS 英語(英國):values-en-rGB 英文(澳大利亞):values-en-rAU 英文(加拿大):values-en-rC
2014-12-03 11:06:35
660
原创 BLE4.0-->Bluetooth low energy
蓝牙4.0是蓝牙3.0+HS规范的补充,专门面向对成本和功耗都有较高要求的无线方案,可广泛用于卫生保健、体育健身、家庭娱乐、安全保障等诸多领域。 它支持两种部署方式:双模式和单模式。双模式中,低功耗蓝牙功能集成在现有的经典蓝牙控制器中,或再在现有经典蓝牙技术(2.1+EDR/3.0+HS)芯片上增加低功耗堆栈,整体架构基本不变,因此成本增加有限。 单模式面向高度集成、紧凑的设备,使用一
2014-11-24 10:26:42
1718
转载 自定义ViewGroup相关
基本的规则是: 1. down事件首先会传递到onInterceptTouchEvent()方法 2. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,那么后续的move, up等事件将继续会先传递给该ViewGroup,之后才和down事件一样传递给最终的目标view的onTouchEv
2014-11-19 10:36:24
640
原创 Spinner的NullPointerException问题-->未解决(初步怀疑是Spinner本身的问题)
java.lang.NullPointerException // at android.widget.Spinner$DialogPopup.dismiss(Spinner.java:907) // at android.widget.Spinner$DialogPopup.onClick(Spinner.java:945) // at com.android
2014-11-18 17:54:17
1729
原创 Unable to destroy activity-->未解决(原因未知)
java.lang.RuntimeException: Unable to destroy activity {com.urbanmgmapp.Activ ity/com.urbanmgmapp.map.BuyFoodMapActivity}: java.lang.NullPointerException // at android.app.ActivityThread.perfor
2014-11-18 17:53:30
10869
3
转载 Java编程性能优化一些事儿
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到
2014-11-14 14:06:47
538
转载 TabHost分析
分析源码后,总结其设计如下: 对于一些自然和漂亮的设计,其实类图就说明了一切。其中TabHost包括一个用于显示内容的FrameLayout以及排布各个Tab指示的TabWidget,其中各个Tab的规格通过TabSpec指定。由于TabHost的Tab以及各个Tab的内容有不同的风格,因此在TabSpec中定义中IndicatorStrategy和ContentS
2014-11-13 10:45:13
597
转载 获取外置卡、内置卡、USB路径的封装类
public class Dev_MountInfo { /* * ####################### * ## Regular device mount * ## * ## Format: dev_mount * ## label - Label for the volume * ## mount_point - Where the volume will b
2014-10-15 17:56:43
641
转载 获取外置卡路径
public String getExtralCardPath() { try { FileReader fr = new FileReader("/system/etc/vold.fstab"); BufferedReader br = new BufferedReader(fr); while (br.ready()) { String line = br.readLine()
2014-10-15 15:16:09
670
转载 获得机型
public String getMacType() { int version = 3; Class build_version_class = android.os.Build.VERSION.class; // 取得 android 版本 try { java.lang.reflect.Field field = build_version_class.getField("SD
2014-10-15 10:34:39
576
转载 AIDL实现进程间通信
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。
2014-09-22 15:04:42
464
转载 root后静默安装卸载程序
/** * 静默安装 * * @param file * @return */ public boolean slientInstall(File file) { boolean result = false; Process process = null; OutputStream out = null; try { process = Runtime.getRunt
2014-09-22 11:51:36
651
转载 Java中的IO流系统详解
摘要: Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputS
2014-09-22 10:32:58
884
转载 判断是否root了
public static synchronized boolean isRoot() { Process process = null; DataOutputStream os = null; try { process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStr
2014-09-16 17:05:39
484
转载 字符串日期转为时间
/** * 字符串日期转为时间 */ private Date StringDateToDate(String dateStr) { SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd hh:mm"); Date date = null; try { date = formatDate.parse(date
2014-08-26 09:11:21
601
原创 download something
1、得到系统安装的程序的version String version = getPackageManager().getPackageInfo("com.gotsun.tongbulianxi", 0).versionName;
2014-08-11 14:56:04
511
原创 通知栏通知Notification
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification.Builder nb = new Notification.Builder(this); nb.setSmallIcon(R.drawable.appicon); // nb.s
2014-08-11 14:20:55
627
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人