自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

转载 EditText获取焦点 失去焦点监听,获取焦点操作

又是我们开发的时候回碰到想要获取EditText的获取焦点状态从而实现一些操作。 实现方法也很简单、那就是绑定OnFocusChangeListener事件、实现onFocusChange(View v, boolean hasFocus) 方法、第二个参数就是判断得到焦点或失去焦点、从而实现我得想要的效果、代码如下EditText searchView = (EditText) findView

2016-10-02 13:57:06 22240 1

原创 Android中常用的五种数据存储方式

1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据

2016-06-17 16:50:11 9283 1

原创 android自带DrawerLayout滑动菜单的使用

受到slidingMenu的启发android增加了DrawerLayout来实现滑动菜单 DrawerLayout是用ViewGroup,可以在其中放子view。DrawerLayout中分为主内容区和菜单区域使用方法如下 1.和普通的LinearLayout一样<android.support.v4.widget.DrawerLayout xmlns:android="http://s

2016-05-10 15:27:29 2428

原创 Gradle插件获取各种build目录

Gradle插件获取各种build目录apk在打包过程中会在build目录下产出很多临时文件,而我们在编写插件的时候也经常会有去修改某个临时文件内容的情况,这个时候如何找到对应的目录地址呢?首先先上代码 /** * 获取build临时产生的一些目录 * 先通过project来获取变体(variants) * 然后通过variant的getArtifactFileCollection方法来获取各种目录 * @param project */

2020-05-17 19:40:47 3079

原创 gradle插件获取所有源码依赖项目目录

gradle插件获取所有源码依赖项目目录class TestPlugin implements Plugin<Project> { @Override void apply(Project project) { def app = project.plugins.hasPlugin(AppPlugin.class) if (!app) return /** * 先通过getRootProject来获取根项目

2020-05-17 19:21:34 1543

原创 Gradle插件上传本地maven库

在插件工程的gradle文件增加上传配置apply plugin: 'groovy'apply plugin: 'maven'dependencies { //...}repositories { //...}group='com.jlhlyby.plugintool'version='1.1.0'uploadArchives { repositories { mavenDeployer { //提交到远程服务器:

2020-05-17 18:59:35 374

原创 部分键盘删除键无法响应onkeyListener事件,包括google原生键盘

部分键盘del键无法响应onkeyListener事件,包括google原生键盘之前我们想要在EditText中监听软件盘都会使用以下方法editText.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCod...

2020-02-01 17:16:33 937 1

原创 依赖本地aar的两种方式

1.以module形式引入通过New – modlue 选择 import JAR/AAR package然后工程中会出现一个新的的module在app的build.gradle 引入test1dependencies { …… implementation project(':test1') …… }2 通过lib来引入aar将aar放在app/lib下在...

2019-12-29 19:04:36 2689

原创 Git默认不区分大小写的坑

1.由于git默认是不区分大小写的,如果有时候你修改了一个文件的大小写提交以后会出现一些莫名的问题,如本身没有任何修改但是status却提示有修改,并且不能提交。而且有时你修改的大小写文件被人拉取还是小写如何查看Git是否忽略大小写git config --get core.ignorecase true 是忽略大小写如何设置Git是否忽略大小写设置不忽略大小写git config...

2019-12-28 16:07:14 781

原创 android获取textview的行数

最近做一个需求要判断Textview的行数。那具体应该怎么做呢?直接用代码解释。 Android中有个方法是:mTextView.getLineCount() ; 看似用这个方法就可以解决,但真正使用时候发现返回总是0。看了一下官方注释:/*** Return the number of lines of text, or 0 if the *internal Layout has notbe

2017-01-03 14:45:59 4415

原创 Android判断wifi状态 监听wifi连接

一、添加权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission Android:name="android.permission.ACCESS_NETWORK_STATE" />二、注册监听广播注册监听有两种方式 1.AndroidMainfest.xml 中注册<rec

2016-11-29 19:52:59 9594 2

原创 android进度条seekbar自定义样式

SeekBar是ProgressBar的扩展,在其基础上增加了一个可拖动的thumb(注:就是那个可拖动的图标)。用户可以触摸thumb并向左或向右拖动,再或者可以使用方向键都可以设置当前的进度等级。布局文件:<SeekBar android:id="@+id/seekbar" android:layout_width="fill_parent" android:layout

2016-10-02 19:36:26 2422

转载 Activity设置透明背景

android设置背景色为透明方法一:只要在配置文件内activity属性配置内加上android:theme=”@android:style/Theme.Translucent” 就好了。这样就调用了android的透明样式!方法二:先在res/values下建colors.xml文件,写入:    <?xmlversion="1.0"encoding="UTF-8"?>    <resou

2016-10-02 13:53:03 623

原创 键盘弹出以后Activity的布局方式

背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭。预备知识: 在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下: android:windowSoftI

2016-10-02 12:52:41 2115

原创 Android软键盘弹出或关闭监控

Android 软键盘弹出与关闭监听private void listenerSoftInput() {  final View activityRootView =findViewById(R.id.activityRoot);  activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(        new OnGl

2016-10-02 11:56:22 462

原创 Android中shape使用详解

1、当使用shape时我们需要在drawable文件夹下新建一个xml文件,文件的根节点为shape<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle|oval|line|ring" > </span>2、shape的取值一共有四种rectangle(长

2016-10-02 10:56:07 2882 1

原创 context使用startActivity时的错误

今天在编码的时候使用context调用了startactivity方法,报出了以下错误 startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag 原因是:   Context中有一个startActivity方法,Activity继承自Context,重载了start

2016-09-03 19:27:16 582

原创 Android基础开篇

本id为了复习一下Android基础知识,巩固一下自身所以决定每周整理一些Android基础和一些小案例,希望也能对大家有所帮助,也请以后看到的人能够留言支出我的错误和不足,大家共同进步

2016-08-09 15:08:28 243

原创 MAC中Android studio中的快捷键

快捷键设置的地方:Preferences(⌘,) > Keymap撤销: ⌘z自动生成方法(get,set):⌘n类层级:⌃h 在当前project中搜索class:⌘o 再按一次⌘o(会发现,右上角的选项勾选了)搜索结果可包含非project中的class,如external libraries中的android.jar里的class当前project搜索属性: ⌘⌥o 再按

2016-08-06 13:10:40 735

转载 Semaphore信号量的使用

一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可。使

2016-08-05 18:55:35 595

转载 图片缓存之内存缓存技术LruCache,软引用

每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常,这个问题曾经让我觉得很烦恼,后来终于得到了解决,那么现在就让我和大家一起分享一下吧。这篇博文要讲的图片缓存机制,我接触到的有两钟,一种是软引用,另一种是内存缓存技术。先来看下两者的使用方式,再来作比较。除了加载图片时要用到缓存处理,还有一个比较重要的步骤要做,就是要先压缩图片。1、压缩图片至于要压缩到什么状态就要看自己当

2016-08-05 18:48:21 309

转载 bitmap引起的内存溢出OutOfMemory解决方案

一、问题描述: Android下的相机在独自使用时,拍照没有问题,通过我们的代码调用时,也正常,但是更换了不同厂商的平板,ROM由Android4.0变成了Android4.1后,拍照出现了OutOfMemory异常,程序中断退出。如何解决这个问题呢? 二、先看看我们之前所写的代码 1) 调用系统相机(没有怀疑这里出错,代码略) 2)显示图片 mImageView = (Image

2016-08-05 18:29:49 6766

转载 Android自动化测试--monkey的使用

一、Monkey定义探索软件测试工具有哪些,本文主要介绍Monkey工具。Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。每次操作的时间间隔是由我们测试人员通过参数来设定,通常情况下,我们设定每次操作的时间间隔为500ms。Monkey程序简介:Monkey程序由Androi

2016-08-05 16:43:52 3258

原创 http 错误代码表

http 错误代码表 所有 HTTP 状态代码及其定义。  代码 指示 2xx 成功 200 正常;请求已完成。 201 正常;紧接 POST 命令。 202 正常;已接受用于处理,但处理尚未完成。 203 正常;部分信息 — 返回的信息只是一部分。 204 正常;无响应 — 已接收请求,但不存在要回送的信息。 3xx 重定向 301 已移动 — 请求的数据具

2016-08-05 13:46:49 240

原创 缩小apk体积,如何降低7M包体积

最近在缩小安装包体积的工作,总结一下学到的知识希望对大家有帮助 主要分为几个步骤 1.删除无用资源 2.多业务线资源去重 3.资源压缩处理 4.资源混淆工具 5.7zip压缩 第一步:删除无用资源参考:打包时删除无用资源第二步:多业务线资源去重如果app中包含多个业务线难免会有不同名的资源重复,推荐一个扫描重复资源的工具:Duplicate Cleaner Pro第三步:资源压缩处理利

2016-06-22 15:23:46 3372

原创 android中notification的用法(简单易懂用法)

首先解释一下notification的应用场景,一般我们手机来短息的时候在手机的上方都会弹出一个通知,你可以下拉上方的菜单看详细信息,点击这个通知就会跳转得到相应的短信界面,那么怎么实现的呢我们直接上代码解释,notification有三种创造方式方法一:(已经被舍弃,但是通用)//首先我们要获得一个通知管理器 NotificationManager,是一个系统的serviceNotificati

2016-06-19 15:47:43 748

原创 java中非对称加密(RSA)的使用

由于android和后台进行传输数据为了数据的安全我们一般都会对数据进行加密处理,一般比较常用的都是对称加密(DES)。这样可以防止攻击者截获网络包获取数据。但是这这种方式也是有风险,就是如果攻击者反编译了你的代码,就可以获取你的秘钥那么就可以解析你的数据了。所以我们在传输及其重要的数据的时候会使用非对称加密,非对称加密分为公钥和私钥,用公钥进行加密,用秘钥进行解密。一般是客户端用公钥钥把数据加密

2016-06-17 15:52:23 571

原创 android studio中打包混淆

为了app的安全性考虑一般我们打包的时候会对apk进行混淆为了让反编译后也不易阅读代码 1.android studio中进行混淆十分简单 只要在build.gradle中的buildTypes的release下添加 shrinkResources true 如图 当然我们在进行混淆的时候有一些类名是不希望被混淆的,比如我们通过反射来生成对象的类我们就不希望他被混淆,因为混淆以后类名就

2016-06-17 15:21:34 935

原创 apk打包时去除无用资源

使用android studio的同学可以做以下操作来去除无用资源1.检测无用资源的方式:用android lint中Unused Resource 操作方法: 等待一会你就可以看到自己项目中有哪些资源是没有被用到的了2打包时删除无用资源build.gradle中设置: android{ … buildTypes{ release { minif

2016-06-17 15:02:25 7636

原创 通过xml设定属性动画实现view的左右抖动和上下抖动

1首先在res/anim文件夹下新建二个xml,如果没有anim文件夹的话请自行创建, slight_shake.xml内容如下<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/side_bar_shake" > <translate

2016-05-10 15:49:03 2387

原创 android圆形图加描边

有时在实现圆形图后要加描边,其实描边也就是在view上画一个空心圆 操作如下: 1首先你已经有一个自定义的imageview来实现圆形图了,如果没有请网上搜一下 开源的很多 2.找到ondrow方法,在所有画操作都完成后调用一下方法 drawBorder( canvas,this.getWidth(), this.getHeight());方法实现如下 private int mBo

2016-05-10 14:55:46 2797

转载 android背景选择器selector用法汇总

一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片<?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 默认时的背景图片--> <item android:drawable="

2016-04-11 17:24:58 374

转载 Android中dp和px之间进行转换

在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。 以下是一个应用类,方便进行px和dp之间的转换。[java] view p

2016-04-07 14:28:38 357

转载 android事件传递(3)通俗易懂的讲述

首先几个例子来解释android传递机制话说一家软件公司,来一个任务,分派给了开发经理去完成: 开发经理拿到,看了一下,感觉好简单,于是 开发经理:分派给了开发组长 开发组长:分派给了自己组员(程序员) 程序员:分派给了自己带的实习生。 实习生:好苦逼,无法分派,怎么办啊?只能自己干了 但是实习生能不能做好,有两种情况了。情况一: 实习生:经过一段时间的研究,琢磨,熬夜,奋斗,死敲,皇

2016-04-05 18:23:00 286

原创 android中事件传递机制(2)

事件传递机制(1)写这个博客前先补充一下上一个博客的部分内容,我们上一个博客介绍了viewGroup中的代码,那么viewGroup中的分发函数由谁来调用的呢?,当然是activity。 1.首先我们看一下activity中的代码 public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() ==

2016-04-05 18:13:43 352

原创 android中的事件传递机制(1)

最近由于项目的需要博主研究了一下事件传递机制,在网上翻阅了很多的解释,看的也是云里雾里的,不过经过梳理和观察源码终于把事件传递机制研究明白了将分为三部分博客来记录android事件传递机制 在写之前推荐几个比较好的事件传递机制的博客,有助于大家理解 1.关于view什么时候会调用onClick和ontouch监听事件 2事件传递和消费(不过这个默克写的有部分错误,博主将会在后面给大家解释哪里出

2016-04-05 17:39:12 369

原创 android的抽屉控件SlidingDrawer的使用

SlidingDrawer的控件使用效果 一、简介   SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一 是可以拖动的handle,其二是隐藏内容的View.它里面的控件必须设置布局,在布局文件中必须指定handle和content. 例如下面android:layout_height=”fill_p

2016-03-23 18:40:32 881

原创 android通知栏Notification用法

Notification设置一些简单属性 代码:public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConten

2016-03-15 16:54:06 470

原创 android ImageView实现圆角(xml实现方法)

主要思想,用一个上面有四个个圆角的view覆盖在imageview上主xml布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an

2016-03-15 14:11:10 8160 1

原创 android ImageView实现上面圆角下面直角(自定义view实现)

主要思想: 重写imageview,在imageview上画一个四个圆角的方框,并把画布下一一个圆角半径长度,这样就能不显示下面对的四个角重写ImageView:import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.

2016-03-15 13:57:59 1216

landroid不一样的listView的empty

通过自定义一个EmptyView来实现显示Listview的三种状态 1.加载状态 2.没有内容状态 3.有错误的状态 详细说明:http://blog.csdn.net/qq_22157767/article/details/50895323

2016-03-15

空空如也

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

TA关注的人

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