android
laxian2009
信息安全专业学生,学习c++、java
展开
-
Android 单元测试方法
android 单元测试的方法,记录一下备忘 xml配置<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.laxian.xiaobai" android:versionCode="1"原创 2015-09-29 23:33:01 · 452 阅读 · 0 评论 -
Android 屏幕截屏
利用反射截屏,需要root查了不少资料,发现截屏这个理所当然的常见功能,想实现还是很费劲的,这应该谷歌是出于安全的考虑做出的限制吧。 这里列举了一些方法: http://www.cnblogs.com/android100/p/Android-cut-screen.html 别的我没试,我只试了试反射的方法。环境: 下面是代码: public void screenshot() {原创 2016-06-11 17:23:36 · 549 阅读 · 0 评论 -
Android 后台优化
英文原文地址:https://developer.android.com/topic/performance/background-optimization.html后台优化后台进程一般对内存和电量消耗比较大。例如,一个隐式的广播,可能启动许多注册监听该广播的后台进程,即使这些进程并什么也不做。这就会对设备性能和用户体验造成明显的影响。为了改善这个问题,Android 7.0(API level 2翻译 2016-10-14 15:21:18 · 1082 阅读 · 1 评论 -
Android增量更新研究
Android增量更新研究很多线上的androidapk都有增量更新功能,他能使你更新app的时候,无需完全下载一个新的安装包,而只需下载一个新旧版本之间的一个补丁(patch),然后在本地合成新的安装包。环境:ubuntu16.04/androidstudio2.1工具:bsdiff/bspatch说明:http://www.daemonolo原创 2016-10-18 19:41:11 · 651 阅读 · 1 评论 -
关于Fragment的几个问题
关于Fragment的几个问题这几天,在Fragment上出了些问题,简单地总结一下:1、Fragment+ViewPager导致的onResume错位。 由于ViewPager的预加载,导致一些错乱。比如,我有A/B/C/D/E 五个Fragment在ViewPager里,从A切到B时,会执行C的onResume。也就是下一个Fragment的onResume方法。这不是我们预期原创 2017-01-06 23:58:18 · 356 阅读 · 0 评论 -
关于华为EMUI4.0忽略电池优化失败的问题
android6.0引入了doze机制。忽略电池优化就相当于将应用加入了doze白名单。 通过下面的代码,调用系统的dialog,让用户做出选择。Intent intent = new Intent();intent.setAction(android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);intent.s原创 2016-09-08 19:05:02 · 9465 阅读 · 0 评论 -
给Grid方式排列的RecyclerView添加间距
给Grid方式排列的RecyclerView添加间距 现在需要排列一些小卡片,每行4个,从上往下排。卡片之间水平竖直间距30px。 毫无疑问,用的RecyclerView加GridLayoutManager。RecyclerView功能强大好用,怎么就是没有自带divider功能呢。查找了一些资料,发现都是通过RecyclerView.addItemDecoration(Recycl原创 2017-05-31 22:17:55 · 13677 阅读 · 1 评论 -
Android官方文档翻译:支持不同的屏幕
Android官方文档翻译:支持不同的屏幕原文地址:https://developer.android.com/training/basics/supporting-devices/screens.html#create-bitmapsAndroid使用两种常规属性对设备屏幕进行分类:尺寸和密度。你一定期望你的app能被安装在各种尺寸以及分辨率的设备上。 这样呢,你应该包含一些可选资源来优化你的a翻译 2017-06-01 23:26:42 · 324 阅读 · 0 评论 -
Jenkins 打包出现You have not accepted the license agreements of the following SDK components: 错误的解决办法
打包报错了,如下:* What went wrong:A problem occurred configuring project ':app'.> You have not accepted the license agreements of the following SDK components: [ConstraintLayout for Android 1.0.2, Solver原创 2017-11-20 17:22:02 · 1682 阅读 · 0 评论 -
Android开发中的Proguard
转自:https://blog.csdn.net/ccpat/article/details/52059344Proguard是Android开发时经常会用到的一个工具,在Android SDK中已经集成了一个免费的Proguard版本,位于<sdk>/tools/proguard目录中。在Android项目中,通过修改module下面的build.gradle文件来开启使用Progu...转载 2018-05-30 15:10:24 · 941 阅读 · 0 评论 -
BackHandler 在非远程调试条件下不能用
BackHandler 在非远程调试条件下不能用 问题描述: react-native version: 0.54.4 返回键监听BackHandler.addEventListener 在远程调试条件下执行,在非远程调试下,不执行。 原因及hack方法,就在这个页面中。为何远程调试正常,离线包不正常? 在这个页面有讨论:https://github.com/f...原创 2018-07-23 14:56:15 · 601 阅读 · 0 评论 -
告别手写,自动生成Flutter/Dart实体类
给Dart和flutter的GsonFormatGithubEnglish本周入坑flutter,发现竟然Dart语言竟没有json转实体类的工具,就手动写了个简陋的。能用,慢慢改善。功能输入json 字符串,Model名和json定义在input.json,输出实体类。类似Java的GsonFormat支持json_serializable执行成功后,执行:flutter pa...原创 2018-11-01 00:57:14 · 9483 阅读 · 0 评论 -
ListView的Item里的TextView设置ClickableSpan和LinkMovementMethod导致ListView无法响应点击事件
ListView的Item里的TextView设置ClickableSpan和LinkMovementMethod导致ListView无法响应点击事件说说我的案例:类似朋友圈,一个列表,是用户发表动态,动态可以有评论,评论可以有二级评论。还有赞。点击评论或二级评论,可以回复评论者。长按动态或评论,弹出dialog。用户名颜色和文字内容不一样,点击用户名可以进入用户个人页面。这些和朋友圈都一样。因为原创 2016-06-10 18:13:09 · 3489 阅读 · 0 评论 -
获得activity的类名
刚接手的项目,页面非常的多,又不熟悉,打开一个activity,只能顺着代码配合IDE依次查找。相当费劲。这时,可以借助DDMS快速定位。利用DDMS 可以快速找到当前的activity类名:adb shell dumpsys activity | find "mFoc"然后,双击shift,直接搜索类名就找到页面了。原创 2016-02-23 18:30:33 · 1112 阅读 · 0 评论 -
Android获取view在屏幕中的位置
昨天读一个Android sample代码的时候,发现获取屏幕位置的代码使用了 public boolean getGlobalVisibleRect(Rect r, Point globalOffset) 这个API,不是很理解,就动手调试计算了一下,记录一下心得。首先,看源码注释:/** * If some part of this view is not clipped by any of原创 2016-02-18 12:27:07 · 4163 阅读 · 0 评论 -
使用FileProvider共享文件
最近学习FileProvider,不知为何,汉语资料很少。所以就自己啃官方文档,实现了一遍。官方文档路径:http://developer.android.com/intl/zh-cn/training/secure-file-sharing/setup-sharing.html需要一下几步一、在共享端设置首先,需要在 Menifest里添加 provider 标签,原创 2015-10-19 14:05:05 · 11551 阅读 · 0 评论 -
Android实现渐色变圆形
看到一个渐变色圆形圆环,效果不错,自己动手做一个。具体思路是继承View,重写onDraw()方法,绘制圆形边界,添加渐变。渐变用到LinearGradient。看一下它的定义:android.graphics.LinearGradient.LinearGradient(float x0,float y0, float x1, float y1, int[] color原创 2015-11-05 00:20:03 · 3498 阅读 · 3 评论 -
安卓面试题精华
转载自:http://blog.csdn.net/lmj623565791/article/details/24015867下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。某公司高级面试题(2015-03-14)【感谢helder分享】1、详述Android系统架构,包括层与层之间调用、binder、jni、底层文件读写方法 2转载 2015-09-17 12:13:01 · 1012 阅读 · 0 评论 -
Android DrawerLayout和NavigationView 的使用方法
1、DrawerLayout侧拉菜单作为常见的导航交互控件,最开始在没有没有android官方控件时,很多时候都是使用开源的SlidingMenu。使用DrawerLayout可以轻松的实现抽屉效果。DrawerLayout 在android.support.v4.widget.DrawerLayout这个包里。这里只说DrawerLayout最简单的实现,相当于hello world原创 2015-11-07 17:43:20 · 12548 阅读 · 1 评论 -
Android MediaPlayer 播放本地与远程的mp3初步
首先创建对象:player = new MediaPlayer();//也可以使用create的方式,如:MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了,同时create 内部已经调用了prepara()方法,也不用再调用prepara()本地mp3 - 这里指的是应用内的mp3, 存放在原创 2015-09-17 20:09:21 · 2427 阅读 · 0 评论 -
自定义ImageView,显示gif,缩放拖拽
/** * */package com.example.myimageview;import java.io.InputStream;import java.lang.reflect.Field;import android.annotation.SuppressLint;import android.content.Context;import android.content.res原创 2015-09-19 18:20:43 · 1211 阅读 · 1 评论 -
Android中的Http通信
android 和服务器通信,通常有post 和get 方法。这里写了一个小案例,模拟手机注册账户,把name和age信息提交到服务器。由于在UI线程不能做联网操作,我们自定义一个线程类HttpThread继承Threadpackage com.example.registeractivity;import java.io.BufferedReader;import java.io.InputSt原创 2015-09-20 19:14:51 · 759 阅读 · 0 评论 -
NDK编程入门笔记
今天研究了一下NDK 的使用,以为写个hello world还是很简单的,竟然被一堆bug弄了几个小时。所以就详细的研究了一下,先摘一段NDK简介:一、NDK简介1.NDK是一系列工具的集合 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。2.NDK提供了一份稳定、功能有限的API头文件声明 Goo原创 2015-10-11 00:38:09 · 430 阅读 · 0 评论 -
给TextView添加滚动条
当显示内容超出显示范围,TextView 变不在显示超出部分这是可以给TextView加上滚动条,显示效果如下: 方法也很简单 在xml文件中设置android:scrollbars="vertical"在代码中:yourTextVIew.setMovementMethod(ScrollingMovementMethod.getInstance()) ;原创 2015-09-03 13:26:25 · 580 阅读 · 0 评论 -
使用LruCache和DiskLruCache实现ListView双缓存
网上有一些很好的文章介绍LruCache和DiskLruCache,自己动手实现了一下,效果还不错。有注释,还算详细,代码如下package com.example.listviewcache;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import j原创 2015-09-22 16:33:37 · 864 阅读 · 0 评论 -
Android使用属性动画property animation,实现分散式弹出菜单
Android提供了多种动画类型,有View Animation 、Drawable Animation 、Property Animation 。 View Animation只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。比如动画结束后,如果View的位置改变,而他的事件监听还在移动前的位置,这不是我们想要的。 很多App都有很炫酷的动画效果,其实实现并不难,下面是一个点原创 2015-09-24 01:21:50 · 2943 阅读 · 1 评论 -
android 单元测试简单方法及错误处理
一直对单元测试很好奇,但是有一直不知道怎么编写,官方文档太难啃,中文文档又太少。无奈放假之前这几天,实在是没事做,就随手写了下。但是android studio 自动生成的代码总是有错误。右键点击一个函数点击之后,出现一个对话框选择 Create New Test,然后得到下面的文件,****Test.java原创 2016-02-03 19:42:42 · 484 阅读 · 0 评论