自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 ThreadPoolExecutor

为什么要用线程池呢?通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 线程池的创建ThreadPoolExecutor的构造方法ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTi...

2018-09-28 18:50:56 643

原创 Gradle插件入门

实现          Gradle中插件可以分为两类:脚本插件和对象插件。          脚本插件: 脚本插件就是一个普通的gradle构建脚本,比如a.gradle 在a.gradle脚本中定义一系列的task。另一个构建脚                    本b.gradle通过apply from:'a.gradle'即可引用这个脚本插件。          对象插件:是...

2018-09-27 18:26:57 1329

转载 ART和Dalvik区别

从Android5.0开始废弃了Dalvik,全面推行ART。Dalvik与ART的区别(1)在Dalvik下,应用每次运行都需要通过即时编译器(JIT)将字节码转换为机器码,即每次都要编译加运行,这虽然会使安装过程比较快,但是会拖慢应用以后每次启动的效率。而在ART 环境中,应用在第一次安装的时候,字节码就会预编译(AOT)成机器码,这样的话,虽然设备和应用的首次启动(安装慢了)会变慢,...

2018-09-10 14:14:18 7390

原创 LeakCanary原理

1. LeakCanary是帮忙我们查询内存泄露的,只需要简单的继承,当发生内存泄露时,就会在手机的桌面上生成内存泄露的文件,.hprof 文件。打开文件大概如下图,帮助我们分析内存泄露的原因2. 原理通过registerActivityLifecycleCallbacks 检测Activity的生命周期。 在Activity执行onDestroy时,开始检测。检测之前,介绍一...

2018-09-10 11:06:17 4269

原创 java return 与finally的关系

  1、不管有木有出现异常,finally块中代码都会执行;         2、当try和catch中有return时,finally仍然会执行;        3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行...

2018-09-07 15:45:57 280

原创 bug漂流记

                    手机系统报错引发的惨案       app的开发中,发现app会出现崩溃,进一步发现只有特定的某个机型的某个版本出现这种情况,其他都是正常的,所有我们怀疑手机对系统framework.jar做了什么手脚。通过日志一看,果然如此.......目录 日志确认问题所在反编译手机系统,查看代码hook有问题的部分,解决崩溃问题日志确认问题...

2018-08-09 20:22:05 258

原创 抓网络日志的方法

工具一:=========tcpdump===============看不了https tcpdum 调用命令tcpdump -vvv -nnn -s0 -s然后用shark打开看=========tcpdump===============  工具二:==================zap========================可以看htt

2016-07-15 16:57:41 687

原创 线性布局居中不起作用等

一居中问题相对布局     TextView      1.当android:layout_width="match_parent"的时候      如果想居中用android:gravity="center_horizontal"      这个时候android:layout_gravity="center_horizontal"不其作用,设背景色看一下,就会知道,

2016-06-29 14:17:47 4656

原创 android中fragment的4个小问题

1. 清空fragment回退栈int count = getActivity().getSupportFragmentManager().getBackStackEntryCount(); BackStackEntry backStack = getActivity().getSupportManager().getBackStackEntryAt(i); getActivi

2016-06-27 14:14:29 1656

翻译 android - 如何在webview中调起拨号

在我的app中,我要在webview中打开url,这个url包含一些界面,对应拨号功能,现在希望,如果点击电话号码,直接调用拨号,并且号码已经输入好,不需要手动输入。  webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view

2016-05-09 17:01:35 4977

原创 android创建一个旋转动画

1.在drawable中           android:drawable="@drawable/****"          android:pivotX ="50%"          android: pivotY="50%"          android:fromDegrees="0"          android:toDegrees=360">

2016-04-20 15:32:29 407

原创 PreferenceFragment 使用-> 自定义preferences的布局

PreferenceFragment 使用-> 自定义preferences的布局1.***Fragment 继承 PreferenceFragment2.重写public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceSt

2016-04-20 15:28:16 4517

转载 scaleType 缩放类型 类型

1.缩放类型类型特点matrix保持原图大小,从左上角开始,以矩阵形式绘图fitXY将原图进行横方向(即XY方向)的拉伸后绘制fitStart将原图言左上角,安比例缩放原图绘制fitCenter将原图言最上方居中的点,按比例缩放原图绘制fitEnd将原图最下方居中的点,按

2016-04-15 18:09:38 1921

原创 linux上xls文件转db文件的方法

方法1:  登陆:http://converttosqlite.com/convert/  file To Content 上传需要转的xls文件(请提前修改列的文字为英文)并且勾选”Fist Row Contains Column Names“  点击上传  填写表格名字,和最终文件名字   点击”Convert“   生成 **.sqlite文件。 方法2: 

2016-04-01 13:40:29 1374

原创 android ListView 基本常识一些个数的方法

ListView的一些常识获取数量的一些方法总结一些个数的方法1.public int getCount()方法注释:Adapter的item个数,可能比view显示出来的要多.当然如果设置了header和footer的话,getAdapter和我们的setAdapter就不是一个adapter,新的adapter的count会比我们set的要多.2.get

2016-02-03 14:43:46 2680

翻译 android中如何把`content://media/external/images/media/Y`转换为`file:///storage/sdcard0/Pictures/X.jpg`?

查询内容解析器,找到文件存储地址public static String getRealPathFromUri(Context context, Uri contentUri) {    Cursor cursor = null;    try {        String[] proj = { MediaStore.Images.Media.DATA };       

2015-11-17 16:53:37 144951 1

原创 用ssh登陆远端主机

ssh 用户名@远端主机的地址        // ssh [email protected]         yangzin/lsssssdfel12yes123456  //密码暂时回到本地 ~^Z 切换远端jobs fg %1退出登陆exit mysql -u  lili  -p  ssdard  -h  

2015-11-06 20:41:59 628

原创 查询android资源R对应的空间

代码有R对应的值 想知道他具体是什么步骤 ;1. 把R的值 转换成 16 进制 因为代码是10进制 R是16进制    2. 去 out/target/common/obj/APPS/×××××intermediates 搜索这个16进制数字对于的文件   grep 16进制这个数字   * -rlinux把10进制数字转化为16进制的命令echo 'ibase=1

2015-11-06 20:41:01 606

原创 好用的搜索命令grep

好用的搜索命令grep -nr --include=\*.java 你想查询的字符串  ./好用的查询调用方案Log.d("tag", Log.getStackTraceString(new Throwable()));

2015-11-06 20:34:34 504

原创 烧机命令

adb reboot bootloaderfastboot oem unlock fastboot flash boot boot.imgfastboot flash system system.imgfastboot flash userdata userdata.imgfastboot flash recovery recovery.imgfastboot fl

2015-11-06 20:32:53 5057

原创 远端绑定Service第三篇之客户端的Service

1.ServiceConnectionprivate class H****DataConnection implements ServiceConnection { @Override public void onServiceConnected(ComponentName name, IBinder binder) { r***tManager = I*****

2015-11-06 20:27:21 602

原创 远端绑定Service第二篇之服务器端的Service

1.×××Service extends Service写一个Service2.public IBinder onBind(Intent intent) {return mBinder;}重新onBind方法3.private final I××××nager.Stub mBinder = new IL×××etManager.Stub() {@Overri

2015-11-06 20:22:48 537

原创 远端绑定Service第一篇之AIDL进程间通信

1.定义aidl文件——————AIDL进程间通信1.AIDL的作用    在Android平台,每个应用程序App都运行在自己的进程空间。2.创建.aidl文件,  不同的是要显示import 复杂类型,即便复杂类型对象在同一个包内。 /当时我就没有导入,因为在一个包我认为不用导,一直说类找不到 不需要import Java基本数据类型 (int, long, cha

2015-11-06 20:14:34 490

原创 布局文件中控件中加入extra中的值

android:key="contact" android:title="@string/contacts_settings" android:fragment="******Fragment" android:widgetLayout="@*android:layout/preference_widget_arrow">    android:key="note"

2015-11-06 20:08:02 596

原创 检查 android.mk条件如果执行,在android.mk中打印日志信息

ifeq ($(TARIER), happy)  $(shell echo "test happy">>$(LOCAL_PATH)/echo_file)  LOCAL_MANIFEST_FILE := happy/AndroidManifest.xmlelse ifeq ($(TARIYYER), sad)  $(shell echo "test sad">>$(LOCAL_PAT

2015-11-06 20:05:29 1867

原创 字符串的加密与解密

package com.*****.util;import android.util.Base64;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.security.Key;/** * Created by 88 on 15-10-16. */public class

2015-11-06 19:53:18 686

原创 如何新建一个menu

1.在res 下的menu文件创建一个xml文件比如menu_multi_select.xml2.设置文件内容xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_select" andr

2015-11-06 19:49:30 936

原创 发本地广播

连接手机,命令如下adb rootadb shellam broadcast -a  com.***.ACTION_RECEIVE_***_MESSAGE手机收到本地发出的广播。

2015-11-06 19:48:22 254

原创 service 里面弹对话框

想在service使用 BottomSheet1.错误 Dialog的context要求是一个activty 说activity上面挂dialog2.写一个actiity 主题是对话框,在service跳到activity, 这里要重新setFlag new_task,不然会报错, 把Dialog放到Activity中错误,Dialog不是view没有办法写到activtiy的布局文件

2015-11-06 19:44:03 525

转载 S3_bucketname

1.不能有大写字母

2015-11-06 19:43:08 4776

转载 ListView的分割线

ListView android:id="@+id/local_groups_list" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@color/divider_color" android:dividerHeight="1px" /> Lis

2015-11-06 19:40:52 521

转载 listview点击事件失效

1., 一种是 item中存在 ImageButton 等可以点击的组件,这会抢先获得ListView的焦点. 从而导致item点击失效. 2.适配器的getView中处理TextView的时候,调用了适配器的notifyDataSetChanged. 在notifyDataSetChanged之后导致item失去焦点. 3.item 有setClickable(true)  se

2015-11-06 18:53:48 1262

转载 简单的使用curl命令

linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态。 time curl -X PROPFIND  域名   -H "token:1******K"  -H "Have-Deleted:1" -H "devid:--*******"

2015-11-06 18:51:31 560

原创 cherry-pick冲突的情况如果处理

cherry-pick冲突 又不想重新下代码 解决方法: git fetch ** 所有分支git branch -agit checkout -b  本地随便起一个名字    remotes/**** 这样本地分支对应的远端分支已经改变,解决冲突后,重新repo upload  . 其中(remotes/*****为远程分支)

2015-11-06 18:49:57 2520

原创 手机查看版本是否是海外版的命令

carrier 查看 海外版本等。 adb shell getprop | grep build

2015-11-06 18:41:47 1375

转载 Activity启动模式

1.使用方法:Intent settingsTop = new Intent(android.provider.Settings.ACTION_SETTINGS);settingsTop.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);getActivity().startActivity(settingsTop);2.几种模式的简单介绍A

2015-11-06 18:35:58 441

原创 android 远程bindService的步骤

1.创建serivce2.onBind要返回一个bind创建aidl, 需要暴露的方法(新建不能选择类,选择机器人)3.在Android.mk文件中写aidl的路径例如:LOCAL_SRC_FILES += src/com/.../aidl/backup/IBackupManager.aidl4.实现aidl的接口private final IBackupManag

2015-11-06 18:27:00 704

原创 ListView.setEmptyView不起作用

可能的原因:1. 修改布局文件,使得ListView和EmptyView是兄弟的关系,在一个parent布局的下面。例如:        android:layout_width="match_parent"        android:layout_height="0dip"        android:layout_weight="1" >     

2015-11-05 16:57:16 469

收获不止oracle

深入浅出介绍oracle可读性很强,里面有很生动的例子。告诉如果把理论应用到实践中。

2014-03-17

深搜代码跳马法走遍棋盘

深搜初级练习,实现的是马跳法走遍整个棋盘

2011-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除