知识空间

私信 关注
柴华松
码龄12年

谁若用真心对我,我便拿命去珍惜

  • 1,072,740
    被访问量
  • 148
    原创文章
  • 6,279
    作者排名
  • 283
    粉丝数量
  • 于 2009-09-08 加入CSDN
获得成就
  • 博客专家认证
  • 获得67次点赞
  • 内容获得188次评论
  • 获得187次收藏
荣誉勋章
兴趣领域
  • #Android
    #Java#Android Studio
TA的专栏
  • Android Performance
    6篇
  • Android系统开发
    8篇
  • LinuxServer配置
    2篇
  • android开发
    92篇
  • Linux开发
    19篇
  • Java基础
    4篇
  • 开发工具经验分享
    10篇
  • linux问题汇总
    5篇
  • git工具问题汇总
    7篇
  • sprd_android
    11篇
  • 网站开发
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

windows cmdline 查看 hash/md5/sha1/sha256的方法

windows 查看 hash/md5/sha1/sha256的方法certutil -hashfile 文件 [md5|sha1|sha256]
原创
16阅读
0评论
0点赞
发布博客于 18 天前

android studio groovy gradle 文件遍历方法

import groovy.io.FileType def path = gradle.getGradleUserHomeDir().getAbsolutePath() + "/caches/modules-2/files-2.1/" println "path:" + path def jarList = [] new File(path).eachFileRecurse(FileType.FILES) { file -> if (file.getName
原创
18阅读
0评论
0点赞
发布博客于 21 天前

检查 GPU 渲染速度和过度绘制

Android 包含一些设备上的开发者选项,可帮助您直观地查看您的应用可能会在何处遇到界面渲染问题,如执行不必要的渲染工作,或执行长时间的线程和 GPU 操作。本页介绍如何调试 GPU 过度绘制问题以及如何分析 GPU 渲染问题。如需详细了解设备上的开发者选项,包括如何启用它们,请阅读配置设备上的开发者选项。分析 GPU 渲染速度GPU 渲染模式分析工具以滚动直方图的形式直观地显示渲染界面窗口帧所花费的时间(以每帧 16 毫秒的速度作为对比基准)。在性能较低的 GPU 上,可用的填充率(GPU 填充
原创
72阅读
0评论
0点赞
发布博客于 4 月前

GAPID: Graphics API Debugger

Git Hub网址GAPID: Graphics API Debugger下载Download the latest version of GAPID here.文档User documentation can be found at gapid.dev目前在维护的工具是AGI,Android GPU InspectorFor Android GPU debugging and profiling, please use AGI which is based on GAPID....
原创
51阅读
0评论
0点赞
发布博客于 4 月前

Android刘海屏适配官方指导文档

支持刘海屏刘海屏是指某些设备显示屏上的一个区域延伸到显示面,这样既能为用户提供全面屏体验,又能为设备正面的重要传感器留出空间。Android 在搭载 Android 9(API 级别 28)及更高版本的设备上正式支持刘海屏。请注意,设备制造商也可以选择在搭载 Android 8.1 或更低版本的设备上支持刘海屏。本主题介绍如何实现对带刘海屏的设备的支持,包括如何处理“刘海区域”,即显示面上包含刘海的无边框矩形。在带刘海屏的设备上有什么要求为了确保一致性和应用兼容性,搭载 Android 9 的设备
原创
81阅读
2评论
0点赞
发布博客于 4 月前

Android高效代码官方优化指南

本文主要介绍了各种微优化,如果将其配合使用,能够提高应用的整体性能;但是,这些更改不太可能对性能产生显著影响。选择正确的算法和数据结构应始终是您的首要任务,但此内容不在本文档的讨论范围内。您应该将本文档中的提示作为编码时的一般做法并养成习惯,从而提高综合代码效率。编写高效代码有两个基本规则:不需要做的工作就不要做。如果可以避免,就不要分配内存。在微优化 Android 应用时,您会遇到的最棘手的问题之一是应用肯定会在多种类型的硬件上运行。不同版本的虚拟机会在不同的处理器上以不同的速度运行。通常并
原创
30阅读
0评论
1点赞
发布博客于 4 月前

Android内存管理机制官方详解文档

很早之前写过一篇《Android内存管理机制详解》点击量已7万+,现把Google官方文档整理输出一下,供各位参考。一、内存管理概览Android 运行时 (ART) 和 Dalvik 虚拟机使用分页和内存映射来管理内存。这意味着应用修改的任何内存,无论修改的方式是分配新对象还是轻触内存映射的页面,都会一直驻留在 RAM 中,并且无法换出。要从应用中释放内存,只能释放应用保留的对象引用,使内存可供垃圾回收器回收。这种情况有一个例外:对于任何未经修改的内存映射文件(如代码),如果系统想要在其他位置使用其内
原创
4053阅读
9评论
4点赞
发布博客于 4 月前

windows server后台运行jar文件配置方法

使用如下命令保存为run-server.bat@echo offstart xxx-server -jar D:\xxx-server-0.0.1-SNAPSHOT.jarexit找到java.exe路径,复制路径下的javaw.exe(注意不是java.exe),重命名为上面定义的xxx-server双击运行run-server.bat即可运行查看是否运行成功命令:netstat -anot | findstr 8888显示结果如下:TCP 0.0.0.0:8888 .
原创
192阅读
0评论
1点赞
发布博客于 4 月前

Android ART 即时 (JIT) 编译器详解

Android Runtime (ART) 包含一个具备代码分析功能的即时 (JIT) 编译器,该编译器可以在 Android 应用运行时持续提高其性能。JIT 编译器对 Android 运行组件当前的预先 (AOT) 编译器进行了补充,可以提升运行时性能,节省存储空间,加快应用和系统更新速度。相较于 AOT 编译器,JIT 编译器的优势也更为明显,因为在应用自动更新期间或在无线下载 (OTA) 更新期间重新编译应用时,它不会拖慢系统速度。
原创
254阅读
0评论
0点赞
发布博客于 4 月前

Android ART详细介绍及配置参数详解

本文从Google Developer 网址摘取整理,让读者可以了解ART的机制,其中包含各种编译选项如verify、quicken、speed和speed-profile含义,以及art和rom的一些常见配置参数。讨论的主题包括:系统映像预编译配置、dex2oat 编译选项,以及如何在 system 分区空间、data 分区空间和性能这三者之间取得平衡。
原创
361阅读
0评论
0点赞
发布博客于 4 月前

Android kernel RenderThread线程调度优先级Debug log

kernel/common/kernel/sched/core.cstatic int __sched_setscheduler(struct task_struct *p, const struct sched_attr *attr, bool user, bool pi){ int newprio = dl_policy(attr->sched_policy) ? MAX_DL_PRIO - 1 : MAX_RT_PRIO - 1 - attr->sc
原创
127阅读
0评论
0点赞
发布博客于 4 月前

Simpleperf工具使用介绍

Simpleperf下载下载Android ndk-bundle ,在simpleperf/bin/android目录下包含有不同体系架构的 Android 上运行的静态二进制文件,在arm目录下打开命令窗口,执行命令:adb push simpleperf data/data/adb shellcd data/data/chmod 777 simpleperf./simpleperf stat -p xxx(pid 或tid) --duration xxx(时间)Simpleperf的工
原创
216阅读
0评论
0点赞
发布博客于 4 月前

Android中内存泄漏之匿名内部类

Android或者Java开发中内存泄漏情况众多,其中较容易出现且经常被人忽略的内存泄漏要数匿名内部类的泄漏了,参考泄漏的代码如下(摘自Android原生SystemUI模块):frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ConfigurableTexts.javaprivate final ArrayMap<TextView, Integer> mTexts = new ArrayMap<>
原创
142阅读
1评论
1点赞
发布博客于 4 月前

linux下通过命令行统计文件的代码行数和文件个数

linux下通过命令行统计文件的代码行数$ wc -l `find your_code_path/ -name *.java`如果统计xml文件行数则用:$ wc -l `find your_code_path/ -name *.xml`统计代码目录下包含子目录的所有文件个数的命令:$ ls -lR your_code_path/ | grep "^-" | wc -l统计代码目录下不包含子目录的所有文件个数的命令:$ ls -l your_code_path/ | grep "^-
原创
199阅读
0评论
1点赞
发布博客于 4 月前

repo forall -c命令

repo forall -c(command) 命令执行技巧下载新分支repo forall -c git checkout -b 本地分支名称(自定义) 服务器分支名称切换到另一个分支repo forall -c git checkout your_branch删除分支repo forall -c git branch -D 分支名称丢弃修改repo forall -c git git reset --hard HEADrepo forall -r kernel/linux-3.
原创
222阅读
0评论
1点赞
发布博客于 5 月前

Selinux 错误解决合辑(持续更新~)

Access denied finding property “hwservicemanager.ready”Log中报如下错误:E libc : Access denied finding property “hwservicemanager.ready”则需要加入如下权限:allow xxx hwservicemanager_prop:file { read open getattr map};Access denied finding property “persist.vendor.
原创
201阅读
0评论
1点赞
发布博客于 5 月前

Android kernel log level查看和设置

如何通过adb shell快速查看kernel log的loglevel在调试过程中,有时需要确认终端kernel log的loglevel,可以通过如下命令快速查看:adb shell cat proc/sys/kernel/printk输出结果如下:1 4 1 7其中第一项代表当前的loglevel,即上述结果对应的loglevel为1。如何设置Kernel loglevel的值?我们可以通过设置Kernel loglevel的值,达到控制Kernel
原创
281阅读
0评论
1点赞
发布博客于 5 月前

Android R user root + remount 修改方案

众所周知,Android在大版本更新上对权限要求越来越严格,AndroidR上user版本包含remount权限也需要进行比较大的修改,如果只需要有root 权限,只需要如下修改即可:修改源码system/core/adb/daemon/main.cpp bool adb_root = (prop == "1"); bool adb_unroot = (prop == "0"); if (ro_debuggable && adb_root) { d
原创
215阅读
2评论
1点赞
发布博客于 5 月前

Android systrace/atrace/ftrace抓取方法

android 中的trace分为三种:systrace、atrace和ftrace,本文主要介绍systrace/atrace/ftrace抓取的详细命令和方法,直接使用命令即可抓取,可以轻松上手各种trace的抓取。
原创
796阅读
0评论
2点赞
发布博客于 5 月前

查看RenderThread tid

for file in find -name comm;do content=cat $file;if [ “$content” == “RenderThread” ];then echo $file;fi done
原创
26阅读
0评论
1点赞
发布博客于 5 月前

Android开机速度优化

cpu升频和task上大核:on init # boost sched tune write /dev/stune/schedtune.prefer_idle 1 write /dev/stune/schedtune.boost 100 write /dev/stune/foreground/schedtune.boost 100 write /dev/stune/background/schedtune.boost 100 write /dev/stu.
原创
188阅读
0评论
1点赞
发布博客于 5 月前

Dagger2使用详解

目的本文主要探讨Dagger2的技术实现原理及使用方法,可以让读者快速上手Dagger2。Dagger2介绍2.1 Dagger2是什么?Dagger2在Github主页上的自我介绍是:“A fast dependency injector for Android and Java“(一个提供给Android和Java使用的快速依赖注射器。)Dagger2是由谷歌接手开发,最早的版本Dagger1 是由Square公司开发的。2.2 Dagger2相较于Dagger1的优势是什么?更好的性.
原创
166阅读
1评论
1点赞
发布博客于 5 月前

Git-2.26.0-64-bit.rar

Git-2.26.0-64-bit.exe windows 64位,原网址下载地址太慢了。。。。 https://github.com/git-for-windows/git/releases/download/v2.26.0.windows.1/Git-2.26.0-64-bit.exe
rar
发布资源于 1 年前

go 语言连接mysql server

package mainimport (“database/sql”“fmt”_ “github.com/go-sql-driver/mysql”)func main() {user := “root”passwd := “abc.123”addr := “47.105.88.20:3306”dbname := “htz_sutra”dsn := fmt.Sprintf("%...
原创
86阅读
0评论
0点赞
发布博客于 1 年前

Ubuntu 18.04 安装MySQL-5.7最新版本

新建一个临时目录:cd ~mkdir mysqlcd mysql执行如下命令下载文件wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz解压tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz ...
原创
727阅读
0评论
1点赞
发布博客于 1 年前

Ubuntu 64位 Java最新安装包

Ubuntu 64位 官网上最新Java安装包 下载地址: https://javadl.oracle.com/webapps/download/AutoDL?BundleId=241526_1f5b5a70bf22433b84d0e960903adac8
gz
发布资源于 1 年前

Linux通过sftp命令进行文件上传和下载

终端远程登录ssh root@IP文件上传和下载:sftp root@IPput -r LocalFile ServerPathget -r ServerFile LocalPath本文仅介绍一些比较实用的命令,后面将会持续更新。。。...
原创
538阅读
0评论
1点赞
发布博客于 1 年前

Linux ubuntu 18.04 apt-get update /etc/apt/sources.list 最新可用源

参考ubuntu下sudo apt-get update Sources 404 Not Found [IP: 91.189.92.200 80]解决办法更新/etc/apt/sources.list并替换如下源:deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mi...
原创
519阅读
0评论
2点赞
发布博客于 1 年前

Linux 云服务器 sudo apt-get update Cannot initiate the connection to archive.ubuntu.com:80

最近买了一个云耀云服务器,使用SSH 登录Linux服务器,使用sudo apt-get update出现如下错误:Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease Cannot initiate...
原创
3765阅读
0评论
3点赞
发布博客于 1 年前

阿里云Linux服务器ftp配置,通过windows FlashFXP进行连接的方法

一、基本安装1.运行以下命令安装 vsftpd。sudo apt-get install vsftpd2.查看相关配置文件ls /etc/vsftpd.conf/etc/vsftpd.conf 是核心配置文件。3.安装systemctlsudo apt-get install systemd4.运行以下命令设置开机自启动。systemctl enable vsftpd5.运行以...
原创
270阅读
0评论
0点赞
发布博客于 2 年前

Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry

最近在调试post方法时遇到SQLIntegrityConstraintViolationException: Duplicate entry xxx for key 这个错误,记录一下,方便后续查看错误信息如下:{ "timestamp": "2019-11-16 13:29:20", "status": 500, "error": "Internal Server ...
原创
5742阅读
0评论
0点赞
发布博客于 2 年前

screenshot_external_storage.rar

Android9.0 SAF框架写外置SD卡方案,里面包含截图程序自动保存为外置SD卡方案的sample code,包含修改差异部分,还有一些工具类 博客地址: https://blog.csdn.net/chaihuasong/article/details/103068782
rar
发布资源于 2 年前

Android9.0中应用如何通过SAF框架写入外置SD卡

背景介绍 Overview基于SAF框架写入外置SD卡网上相关资料比较少,现整理一下具体实现方法,如果是访问主存储,弹出授权后即可正常写入,如果是副卡,在Android9.0上必须要使用SAF框架。本文档详细介绍了应用如何使用Storage Access Framework (SAF框架)访问External SDcard的方法,使得第三方APP或者应用开发者快速集成写入sd卡方法。本文将采用...
原创
646阅读
0评论
0点赞
发布博客于 2 年前

git 上传本地文件到github

git 上传本地文件到githubgit config --global user.name “Your Real Name”git config --global user.email you@email.addressgit initgit add .git commit -m 'Test’git remote add origin git@github.com:XXX/XXX.g...
原创
68阅读
0评论
0点赞
发布博客于 2 年前

Android.bp文件中加入第三方JAR包或者so文件的方法

预制jar包在项目的根目录新建 libs文件夹,放入要导入的jar包比如 testlib.jar新增Android.bp文件在新增的libs文件夹下加入Android.bp文件,新增如下内容java_import { name: "testlib_jar", jars: ["libs/testlib.jar"],}修改模块中的Android.bp需要在android...
原创
5756阅读
0评论
0点赞
发布博客于 2 年前

java图片比较算法

CompareUtil.javapackage com.example.testwebview;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import android.util.Log;import java.io.File;...
原创
439阅读
0评论
0点赞
发布博客于 2 年前

在Keyguard锁屏上面可弹出Toast消息的方法

通过调用toast的getWindowParams方法获取toast的WindowParams,再设置允许在锁屏之上显示的window flag:FLAG_SHOW_WHEN_LOCKED参考代码如下Toast mToast = Toast.makeText(InCallActivity.this, res, Toast.LENGTH_LONG); mToast.getWindowPara...
原创
926阅读
0评论
1点赞
发布博客于 2 年前

支持Android9.0+的增量更新方案

支持Android9.0的增量更新方案增量更新相关介绍如何导入如何制作patch文件增量更新相关介绍要想打造一款优秀的应用,必须要包含的功能之一应该就是应用内更新方案了 :)本文将介绍如何在Android Studio3.3中布局属于自己的增量更新方案如何导入增量更新github代码 https://github.com/chaihuasong/AppSmartUpdate(感谢it...
原创
546阅读
0评论
1点赞
发布博客于 2 年前

bsdiff工具

bsdiff-4.3制作工具,在Linux终端使用,包含操作使用的命令
gz
发布资源于 2 年前

win10 64位下载64位python

非常好用!win10 64位下载64位python win7 64位下载64位python
zip
发布资源于 3 年前

ubuntu adb tools version 1.0.39

ubuntu adb version 1.0.39-CSDN下载 adb tools 工具下载
rar
发布资源于 3 年前

android layout布局计算公式 layout-swxxxdp计算方法

sw: shortest width,最短的宽度。 sw-xxxx-dp的计算公式是  sw *160/dpi比如 1280*800, sw 是800     480*800, sw 是480其中dpi其实是人为在Android/device/softwinner/astar-common/astar-y3.mk中设定的,也可以通过 adb shell getp
原创
2098阅读
3评论
1点赞
发布博客于 4 年前

展讯平台判断otg状态

StorageUtil.getExternalStorageState() 该接口返回的是主卡的状态。 在Iwhale2上默认使用的是内卡为主卡的方案。 内卡是在data分区上模拟出来的存储。 在sd卡不存在,otg不存在的情况下,使用该接口得到的状态仍然为true。区分sd卡还是otg的话,可以使用EnvirontmentEx的接口EnvironmentEx.getExternalStora
原创
759阅读
2评论
2点赞
发布博客于 4 年前

查看so挂在哪行

addr2line -f -e ../../../out/target/product/sp9820a_refh10/symbols/system/lib/libjni_keygen.so 0x2ff1 ./../../../prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-addr2
原创
848阅读
0评论
1点赞
发布博客于 4 年前

linux下git上传代码出现^M解决方法

是用UE(UltraEdit)打开代码 CTRL + H 转码成二进制 CTRL + R 替换 将0D 0A 替换成0A CTRL+S 保存CTRL+ H 再转码成acsii 主要是解决上传到linux中出现^M时使用
原创
1870阅读
0评论
1点赞
发布博客于 4 年前

error: cannot run .git/hooks/pre-commit: No such file or directory解决方法

在执行git命令的时候,可以正常执行git status 命令 但是commit 失败,报error: cannot run .git/hooks/pre-commit: No such file or directory 查看仓库 .git/hooks/pre-commit文件也存在,折腾了很久 发现执行如下命令后就OK了cp .git/hooks/pre-commit /tmp/pre-c
原创
16232阅读
1评论
2点赞
发布博客于 5 年前

vi中将tab键转化为空格

tab键和空格键之间的转换始终是个问题,比如Makefile中,应该用tab键的地方替换成空格,就会出问题。 然而在python代码中,由于其严格要求的缩进格式,不可见的空格和tab键之间的转换同样会造成麻烦。在UltraEdit里,我们可以定义tab键转换为若干个空格字符来满足自已的要求。在linux下的vi中呢? linux下的vi一般是vim的链接,我们在用户主目录下创建.vimrc文件:
原创
6942阅读
0评论
2点赞
发布博客于 5 年前

Linux下查看CPU核心数命令

Linux命令行中执行如下函数即可查询当前是CPU的核心数:cat /proc/cpuinfo | grep "processor" | wc -l
原创
3234阅读
0评论
2点赞
发布博客于 5 年前

android源码中打包so到apk的方法

如下两句命令即可./aapt a ../../../out/target/product/scx35_sp7731gea_hdr/system/app/xxx/xxx.apk libs/armeabi/libxxx.so libs/armeabi/libyyy.so libs/armeabi/libzzz.so上面是把so打包至apk中,这时的apk还无法安装,需要做一下签名:ja
原创
3192阅读
0评论
2点赞
发布博客于 5 年前

sed 批量替换字串命令

sed -i "s/oldstring/newstring/g" `grep oldstring -rl .`如上命令是替换当前目录下的所有oldstring字串为newstring字串
原创
562阅读
0评论
1点赞
发布博客于 5 年前

Git am 合并 patch 时的冲突处理

期间有时会遇到合并冲突,正常的原因一般是未及时下载新版本产生了冲突,特殊一点的原因是手工修改 patch 内容导致的。有时候看注释写得不够准确,忍不住就改了,有时候是 Geany 保存时自动去除了 patch 原文中的行尾空格,有时候是文件回车格式、BOM 等变动了,总之合并 patch 的时候,如果生成 patch 的“原稿”找不到,一般就产生了冲突,比如:$ git am 0001-BUG
原创
5243阅读
0评论
2点赞
发布博客于 5 年前

闪屏情况处理

surfaceflinger中绘制图像,会把每一层的图像进行叠加,处理后的图像会显示在屏幕上。如果是某一层的图像出错导致,就必须把surfaceflinger每一层的图像单独dump出来。具体方法:在surfaceflinger目录下创建文件dump.cpp,此文件负责绘制。再在Layer.cpp中的onDraw函数中加入如下代码:#if defined(LAYER_DUMP_BMP) {
转载
1213阅读
0评论
2点赞
发布博客于 5 年前

Android init.rc 解析

nit.c与init.rc在源码中的位置分别位于如下:init.c : /system/core/initinit.rc : /system/core/rootdir一、init.rc文件结构介绍init.rc文件基本组成单位是section, section分为三种类型,分别由三个关键字(所谓关键字即每一行的第一列)来区分,这三个关键字是 on、service、i
原创
685阅读
0评论
1点赞
发布博客于 5 年前

android linux下编译问题

androidlinux下编译问题adt无法识别手机解决办法:1.手机连接上电脑,在终端中运行命令lsusbBus005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus003 D
原创
604阅读
0评论
1点赞
发布博客于 6 年前

android user 版本如何默认adb调试为打开

该Log为特殊场景Log,请按如下操作步骤进行处理, A. 软件准备 user版本需要先打开USB debug开关,打开方式如下: 1、打开usb调试 build/core/main.mk 请将user版本下也改为ro.debuggable = 1ifeq (true,(strip(strip (enable_target_debugging))) # Target is more d
原创
8819阅读
0评论
1点赞
发布博客于 6 年前

android检查是否插入OTG鼠标或键盘代码

检查otg设备是否是鼠标或键盘 if(mIm == null) { mIm = (InputManager) getSystemService(INPUT_SERVICE); mIm.registerInputDeviceListener(this, null); } final int[] devices = InputDevice.getDe
原创
8144阅读
0评论
1点赞
发布博客于 6 年前

Audacity(音频编辑/录制)快速多轨音频编辑、录制工具

Audacity(音频编辑/录制) Audacity是一个数码音效处理程序,可导入WAV,AIFF,AU,IRCAM,MP3及Ogg Vorbis,并支持大部份常用的工具,如剪裁、贴上、混音、升/降音以及变音特效。内置载波编辑器。 Audacity是一款支持Linux、MacOS以及Windows等多种平台的快速多轨音频编辑、录制工具,支持WAV, AIFF, Ogg和MP3格式音乐文件,提供编辑、混音功能并提供预置效果、插件和无限次反悔操作。audacity.zip是所用的音源修改软件。打开音源后,选 特效--->增幅 调节到可接受程度后导出即可。要避免调节过大导致破音。
zip
发布资源于 6 年前

JavaScript动态增加删除UL节点LI及相关内容

11111111111111111del22222222222222222del33333333333333333del44444444444444444del55555555555555555del please select 11111 22222 33333 44444 function $$(id){ var obj=document.get
原创
1464阅读
0评论
1点赞
发布博客于 6 年前

ajax 获取后台数据显示list

ajax getitemlist// Get the json from the controllerfunction GetListItems() { $.ajax({ type: "POST", url: "/JsonService/GetItems", contentType: "application/json; charset
原创
14563阅读
1评论
5点赞
发布博客于 6 年前

ContentObserver实现数据库的监听

工作中有时需要开启一个线程做大量的查询,来检测某个数据库值发送了变化,导致的开销很大,后来利用了ContentObserver完美的解决了该问题,这里做下总结。 (1)ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库中的触发器,当所察的Uri发生变化时,便会触发它。它的主要方法有: A,public final
原创
2154阅读
0评论
2点赞
发布博客于 6 年前

如何修改android系统字体大小

修改字体大小的方法是运用到一个ActivityManagerNative类首先先在代码宣告 private Configuration mconfig = new Configuration();并在代码中设置要改变字体大小的值 mconfig.fontScale = 0.75f;//默认为1.0f另外,还需要在AndroidManifest.xml中加上 android:configChang
原创
3828阅读
1评论
1点赞
发布博客于 6 年前

Android如何修改app不在多任务列表中显示

在实际开发中,我们希望某些activity或者应用程序不在多任务列表中显示,即长按Home键或者多任务按钮键不显示最近运行的程序,我们可以在相应应用程序的AndroidManifest.xml文件中的activity标签中添加如下属性: android:excludeFromRecents=”true”比如不需要xxxActivity显示在多任务列表中: <activity
原创
11060阅读
4评论
3点赞
发布博客于 6 年前

Android getTopActivity的方法

使用如下方法可以获得top activity 的namepublic String getTopActivityPackageName(Context context) { String topActivityPackage = null; ActivityManager activityManager = (ActivityManager) (context
原创
5487阅读
2评论
2点赞
发布博客于 6 年前

ContentProvider实例

这篇文章记录使用ContentProvider的方法,提供了最简单安全的移植方法首先在工程目录建立包名对应的database目录放入如下三个文件:DBHelper.java:package com.sprd.fileexplorer.database;import android.content.Context;import android.database.sqli
原创
992阅读
0评论
1点赞
发布博客于 6 年前

android Contacts源码

android contacts源码,很好的学习参考材料
rar
发布资源于 6 年前

AsyncTask的使用方法

1.导入类:import android.os.AsyncTask;2.如下方法:private TestAsyncTask mTestAsyncTask;private void testAsync() { if (mTestAsyncTask != null && mTestAsyncTask.getStatus() != AsyncTask.Status.FINISHE
原创
1054阅读
0评论
1点赞
发布博客于 6 年前

java.lang.NoSuchMethodError: no static or non-static method 解决方法

最近在调试JNI的时候报了一个莫名其妙的错误,同一种类型的函数可以注册成功,不同类型的就会抛出一项异常:05-14 16:18:40.180 1445 1445 E AndroidRuntime: java.lang.NoSuchMethodError: no static or non-static method "Lcom/sprd/validationtools/phasecheck
原创
38624阅读
11评论
4点赞
发布博客于 6 年前

recovery的基本流程

1.用户选择“恢复出厂设置”2.Android系统将"--wipe data" 写入到/cache/recovery/command3.Android系统带关键字信息重启,进入recovery模式4.在recovery中获取对应的参数,如wipe_data,wipe_cache等5.根据参数执行recovery动作,reformat data/cache分区
原创
878阅读
0评论
1点赞
发布博客于 6 年前

Android模块里面增加JNI的方法,调用c代码

通过Java调用C语言的移位方法,设置文件的某一位的二进制位0或者1
rar
发布资源于 6 年前

android获取文件getMimeType的两种方法

方法1:import java.util.Locale;private static String getSuffix(File file) { if (file == null || !file.exists() || file.isDirectory()) { return null; }
原创
10592阅读
0评论
1点赞
发布博客于 6 年前

Android获取手机状态和监听手机来电状态

获取手机状态: import android.content.Context; import android.telephony.TelephonyManager; //获得相应的系统服务 TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /**
原创
23061阅读
2评论
4点赞
发布博客于 6 年前

Android adt-bundle android-studio sdk adt 下载地址

备份一下,好用。最近 Google 被墙了, 上传一下自己收集的 Android 开发环境, 下面给出的官网链接也可以下载;1. 百度网盘下载地址Android集成环境 NDK JDK 总链接 : http://pan.baidu.com/s/1bnjaDKb;Android Studio Linux版 : http://pan.baidu.com/s/1eQjA6MA
原创
5565阅读
1评论
4点赞
发布博客于 7 年前

android fat.img T卡资料制作方法

如下几句是制作fat.img的方法: mkdir fat_disk mkfs.vfat -n [挂载名称] -v -C fat.img [fat分区大小] mount -o loop,iocharset=utf8 fat.img fat_disk/ cp -rfv 资源路径//* fat_disk/ umount fat_disk/  挂载点名称
原创
2768阅读
1评论
2点赞
发布博客于 7 年前

android清除数据后widget无法更新问题修改

清除数据时会发送ACTION_PACKAGE_DATA_CLEARED广播,在widgetProvider里面监听该广播并进行处理就可以了 public static class PackageDataClearedReceiver extends BroadcastReceiver { private static final String ACTION_PACK
原创
4130阅读
1评论
1点赞
发布博客于 7 年前

安装ubuntu远程桌面xrdp可视化设置界面

ubuntu 远程桌面的时候需要从系统-首选项-远程桌面但是有的ubuntu远程桌面的应用需要自己安装,如下是安装命令:sudo apt-get install xrdp
原创
4576阅读
0评论
2点赞
发布博客于 7 年前

自定义AlertDialog对话框布局

自定义对话框中的信息body布局 LayoutInflater inflater =getLayoutInflater(); View layout = inflater.inflate(R.layout.alert_dialog_content, null); AlertDialog
原创
5758阅读
0评论
2点赞
发布博客于 7 年前

Android.mk脚本判断文件是否存在

Android.mk 判断文件是否存在,若存在则复制该文件到某个目录$(shell test -f [文件] && echo yes)的值如果是yes, 则文件存在,然后进行shell cp 动作HAVE_TEST_CUST_FILE := $(shell test -f vendor/huaqin/resource/$(HQ_PROJECT)_$(HQ_CLIENT)/$(LOC
原创
6115阅读
0评论
1点赞
发布博客于 7 年前

Android使用adb获得activity堆栈信息

非常有用的命令:adb shell dumpsys activity该命令可以看到当前运行的是哪个activity,运行的一些进程等首先可以看到运行的进程:ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes) Process LRU list (sorted by oom_adj, 43 total,
原创
20964阅读
0评论
4点赞
发布博客于 7 年前

linux 下tar 打包分割文件和解压文件方法一点通

首先是压缩:tar -czvp -f skype_backup.tar.gz skype_backup分割:split -b 4000k skype_backup.tar.gz skype_backup_20090626.tar.gz. –verbose如上两句命令合并为一句: tar -czvp -f – skype_backup |split -b 4000k – skyp
原创
17984阅读
0评论
4点赞
发布博客于 7 年前

虚拟Linux 访问win7共享目录方法

虚拟机访问win7的共享目录首先安装增强功能,这个不用多说再者选择菜单中的设备->共享文件夹,设置为固定分配和自动挂载在终端敲入命令df:发现有自己创建共享的目录然后执行如下命令(相当重要):mount -t vboxsfshareLinux /mnt/shared
原创
1956阅读
0评论
1点赞
发布博客于 7 年前

ADB server didn't ACK 解决方法

1  现象adb server is out of date.  killing...ADB server didn't ACK* failed to start daemon *error: unknown host service2 解决方法使用adb时,若出上面的错,使用adb kill-server是没有用的,因为此时是其他进程的
原创
1168阅读
0评论
2点赞
发布博客于 7 年前

Linux 下硬盘挂载方法

输入命令:df -h后发现:文件系统            容量  已用 可用 已用% 挂载点/dev/sda1             895G  731G  119G  87% /none                  3.9G  240K  3.9G   1% /devnone                  3.9G  1.1M  3.9G   1% /dev/shm
原创
8570阅读
0评论
5点赞
发布博客于 7 年前

git 上传本地文件到github

git 上传本地文件到githubgit config --global user.name "Your Real Name"git config --global user.email you@email.addressgit initgit add .git commit -m 'Test'git remote add origin git@github.com:XXX...
原创
53846阅读
3评论
18点赞
发布博客于 7 年前

关于git的ssh-key:解决本地多个ssh-key的问题

在设置github的时候,官方的说明文档要求备份当前的id_rsa,然后生成一份新的私钥用于github的登陆。如果真这样做,那么新的私钥是无法再继续登陆之前的机器的。这种方法有点暴力…还好ssh可以让我们通过不同的私钥来登陆不同的域。首先,在新增私钥的时候,通过指定不同的文件名来生成不同的私钥文件ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "...
原创
14287阅读
3评论
8点赞
发布博客于 7 年前

ubuntu下google 拼音输入法的安装

google拼音输入法安装(1).获取代码:(没有git的先安装git:sudoapt-get install git-core)$>gitclone git://github.com/tchaikov/scim-googlepinyin.git$>cdscim-googlepinyin (2).编译前提:用下面命令看看是不是安装了,如果没有,会
原创
1969阅读
0评论
2点赞
发布博客于 7 年前

android4.4上全屏界面实现禁止状态栏下拉

Google从KK开始增加了状态栏透明以及全屏界面有通知可以下拉状态栏的设计,而这个设计出现的隐患是设置了FULL_SCREEN的界面是无法禁止状态栏下拉的,这样对一些工程测试app可能会造成一定的影响,但是以google默认的设计,应用端无法修改此设计来满足自己的需求。MTK 内部已经开发提供新的接口来实现全屏界面禁止下拉状态栏,如果贵司的代码还没有这部分逻辑,请参考如下:1. fram
原创
26716阅读
8评论
17点赞
发布博客于 7 年前

git patch生成方法

先把修改commit掉,然后生产修改patch给提交代码的同事,具体操作步骤如下:修改代码的同事:git format-patch al821_xxx origin/al821_xxx会生成:0001-HQ00656135-xxx-al821_xxx.patch这样的patch文件把这个patch给提交代码的同事提交代码的同事,执行:git am 0001-HQ006561
原创
2001阅读
0评论
3点赞
发布博客于 7 年前

mtk git取代码new和编译kernal 和单个模块脚本

由于mtk下代码编译模块都需要敲打太多的指令,因此自己写了一个脚本首先是拉代码的脚本,晚上下班前执行一下这个脚本,第二天就可以正常愉快的工作了pull_version.sh文件git clone git@192.168.32.235:huaqin/6582_92_KK_SP;cd 6582_92_KK_SP;git checkout al821_trunk_sp;./mk m
原创
2403阅读
0评论
4点赞
发布博客于 7 年前

ubuntu下面kill掉卡巴斯基shell脚本

近期由于公司电脑装了卡巴斯基,总感觉会导致机器变慢,之前裸奔习惯了,因此想了个办法每次重启后kill掉这个软件,于是研究起来了shell脚本,先后调试修改了一个礼拜,终于修改了一个比较好用的脚本出来了:if [ $# -lt 1 ]; then #ps -A | grep kes4 m=`ps -C kes4lwks-superv -f | grep kes4 | awk '{pri
原创
1764阅读
0评论
5点赞
发布博客于 7 年前

AlarmManager定时器的使用,类似于timer效果

我们在使用定时器的时候首先会想到timer,还有handler sendmessagedelay 时间这两种方法,如需长时间的触发事件则需要使用alrm来完成: 设置alarm 时间, 睡眠sleep_time的时间 AlarmManager alarmMgr = (AlarmManager) mainActivity.getSystemService(Context.ALARM_
原创
1923阅读
0评论
3点赞
发布博客于 7 年前

SecureCRT工具及驱动程序

具体配置说明请见博文http://blog.csdn.net/chaihuasong/article/details/20231851
rar
发布资源于 7 年前

展讯平台uart log抓取工具SecureCRT配置方法

首先安装SecureCRT软件和相对应的工具,之后打开SecureCRT,点击file-->Quick Connect相关设置项如下:Protocol 为SerialPort 为计算机中的端口:这里是COM23Baud rate 要选为115200Data bits 为8Parity 为NoneStop bits 为1Show quick connect o
原创
5079阅读
1评论
3点赞
发布博客于 7 年前

C盘扩充工具

这个工具需要配合http://blog.csdn.net/chaihuasong/article/details/19973017这篇文章中的描述进行分配,非常实用方便
zip
发布资源于 7 年前

虚拟xp扩充C盘大小的方法

我的电脑是Linux系统,装了一个xp系统,由于之前xp上C盘只分配了7.99G的空间,导致C盘很容易出现空间不足,现扩充了4GB,这下就方便多了首先到Linux的VM virtualBox下面去执行命令:clonehd --format VDI win-xp-pro-sp3-disk1_1.vmdk win-xp-pro-sp3.vdi这句的含义是把原先的vmdk格式的
原创
6097阅读
0评论
4点赞
发布博客于 7 年前

linux下用cmake编译安装mysql-5.6.4-m7

从官网下载了一个最新版的mysql源码包mysql-5.6.4-m7.tar.zip,准备安装一下,可是解压出来,却发现无法./configure。后来才知道mysql现在用cmake了。这里贴一下cmake编译安装mysql的方法:#groupadd mysql#useradd -g mysql mysql -s /sbin/nologin#sudo apt-get instal
原创
8845阅读
2评论
3点赞
发布博客于 7 年前

圆形图片代码分享

圆形图片代码分享:RoundedImageViewA fast ImageView (and Drawable) that supports rounded corners based on the original example from Romain Guyhttps://github.com/NeroWang/RoundedImageView效果图如下:
原创
1439阅读
0评论
4点赞
发布博客于 7 年前

listView.addHeaderView(viewpage)与listview有冲突的解决办法

重写dispatchTouchEvent方法即可 @Override public boolean dispatchTouchEvent(MotionEvent event) { if(mImageSizeInt!=1){ (获取父类或者直接使用List).requestDisallowInterceptTouchEvent(true); } return super.di
原创
2788阅读
0评论
4点赞
发布博客于 7 年前

android 隐藏输入键盘的方法

代码片段如下:InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(etEditText.getWindowToken(), 0);
原创
1866阅读
0评论
3点赞
发布博客于 8 年前

android 事件处理机制之requestDisallowInterceptTouchEvent

当手指触摸到屏幕时,系统就会调用相应View的onTouchEvent,并传入一系列的action。当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEent,如果View的onTouchEvent接收到某个touch action并作了相应处理,最后有两种返回方式retu...
原创
84625阅读
32评论
82点赞
发布博客于 8 年前

git配置过程中出现错误的解决办法

git push origin master出现如下错误:Counting objects: 3, done.Writing objects: 100% (3/3), 226 bytes, done.Total 3 (delta 0), reused 0 (delta 0)remote: error: refusing to update checked out branch
原创
14685阅读
0评论
3点赞
发布博客于 8 年前