Android
文章平均质量分 62
Okloong
这个作者很懒,什么都没留下…
展开
-
Timber
Timber初始化设置。 Timber.plant(new Timber.DebugTree()); Timber.plant(new Timber.DebugTree() { @Override protected void log(int priority, String tag, @NotNull String...原创 2019-12-26 15:49:20 · 524 阅读 · 0 评论 -
adb
文章目录apkpush和pullserver查询设备号Wifi连接模拟点击模拟按键日记pmdumpsysAM启动系统刷机apkadb devices #查看连接的设备# 安装apkadb install apkname #安装apkadb install -r-l 锁定该应用程序-r 替换已存在的应用程序,也就是说强制安装-t 允许测试包-s 把应用程序安装到sd卡上-d 允许...原创 2019-12-24 14:22:50 · 249 阅读 · 0 评论 -
Rxjava2源码分析(1)
1、基本用法本文解读是rxjava的2.1.0版本,对应的rxandroid版本为2.0.1。 先看看基本用法 Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(@NonNull Observable...原创 2018-05-16 07:59:01 · 452 阅读 · 1 评论 -
Rxjava2源码分析(2)——操作符
承接上一篇Rxjava2源码分析(1) 这一篇将讲下Rxjava2的操作符。在Rxjava里面最常用的是map操作符,接下来将从map入手分析。1.map操作符的基本用法这里按照国际惯例,先上map的基本用法。Observable.create(new ObservableOnSubscribe<Integer>() { @Override ...原创 2018-05-18 07:40:41 · 252 阅读 · 0 评论 -
Android Studio 关联Android源码
在Android studio里面跳转Android源码时,有些Android源码会隐藏了以桩代码出现,可以用下面的方法来处理。 1.替换Android.jar包 从https://github.com/anggrayudi/android-hidden-api下载对应的Android.jar包,替换/platforms/下的对应的jar包,比如android-26/android.jar。然...原创 2018-05-11 09:09:19 · 422 阅读 · 0 评论 -
自定义Android 注解
Android里面的注解一般有两种,一种运行时注解,另外一种是编译时注解。运行时注解是基于反射原理的,编译时注解这个就多点,常见的是基于apt的代码生成。反射,会在运行时候在对应的位置插入对应的操作;而编译时注解会在编译时候生成对应的代码进行编译。对于运行性能来说,反射更耗性能。本章将说下Android的注解。 概述从下面这张图可以看到Java注解的结构分支。 Java注解(Ann...原创 2017-09-07 09:48:01 · 370 阅读 · 0 评论 -
Android设计模式之装饰者模式(Decorator Pattern)
概论在Android源码里很多时候会看到这个模式。下面来讲一些这个模式。 装饰者模式主要的优点是动态给一个对象添加一些额外的职责。使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。缺点是,要创建比继承更多的对象。 先来个热身,下面是装饰者模式的uml图。它大概就长得这样子的。 1. Component抽象组件,是一个接口或者是抽象类,就是定义我们最核心的对原创 2017-09-07 14:34:39 · 534 阅读 · 0 评论 -
android stuido关于在V7包和recyclerview包冲突的解决办法
问题叙述在Android下引用 compile 'com.android.support:recyclerview-v7:26.+' compile 'com.android.support:appcompat-v7:25.3.1'这两个包冲突。 错误信息如下Error:Execution failed for task ':example:processDebugManifest'原创 2017-09-06 16:10:37 · 1065 阅读 · 0 评论 -
Android消息队列机制
文章将带你理解 Looper、Handler、Message三者的关系。原创 2019-03-21 21:42:26 · 601 阅读 · 0 评论 -
IntentService中的耗时操作
由于Service和Broadcast都是运行在主线程中,所以在这两个里面我们无法做一些长时间的耗时操作,要执行耗时操作可以用异步线程AsyncTask或者IntentServie。IntentServie的好处是调用玩后会自己关闭service。原创 2019-03-31 18:56:40 · 999 阅读 · 0 评论 -
WindowManager的一些属性
WindowManager(窗口管理服务),它是显示View的最底层,Toast,Activity,Dialog的底层都有用到了这个WindowManager。WindowManager里面主要是addView,removeView,updateViewLayout这几个方法来显示View,以及通过WindowManager.LayoutParams这个API来设置相关的属性。文章将详细介绍。原创 2019-04-28 13:48:34 · 1188 阅读 · 0 评论 -
APK打包流程
本文将讲述Android APK的结构和打包流程。原创 2019-04-28 21:58:41 · 8122 阅读 · 0 评论 -
NDK调用非JNI标准的so文件
调用so文件有两种方式,一种是标准的jni文件,另外一种不是jni标准。jni标准可以直接用jni标准来调用,非jni标准的需要外面包裹一层jni标准才能调用。下面就演示怎么用。NKD可以用ndk-build来编译,也可以用cmake来编译。这里用的是cmake。CMakeList.txt内容。# For more information about using CMake with And...原创 2019-09-01 17:11:17 · 636 阅读 · 0 评论 -
NDK动态注册
c/c++和java交互,需要找到双方各自对应的函数或方法来调用。这种产生联系的方式有两种方式,一个是静态注册,另一种事动态注册。动态注册是比静态注册的好处是不需要JNI那一套很长的命名。其他的规则和静态注册无异,只是注册的地方不同而已。下面是动态注册的方式。/** * 动态注册 */extern "C" {jstring stringFromJNI2(JNIEnv *env, j...原创 2019-09-01 17:42:57 · 356 阅读 · 0 评论 -
NDK基础知识
在NDK里面c调用java的方法类似于反射。需要先获取到对应的方法名称,虚拟机等。这个回去相关的信息的c代码。#include <jni.h>extern "C" {// Data callback stuffJavaVM* theJvm;jobject dataCallbackObj;jmethodID midDataCallback;/** * Initi...原创 2019-09-01 21:11:48 · 598 阅读 · 0 评论 -
Fragment用法
首先你需要一个布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_he...原创 2019-09-05 21:57:00 · 378 阅读 · 0 评论 -
EventBus的使用
EventBus主要用于各个组件之间的通信,EventBus作为事件总线方便项目解耦。EventBus整个框架采用订阅者模式来操作。这里我用两个activity进行通信这个是第一个activitypublic class MainActivity extends AppCompatActivity { @BindView(R.id.tv_m) TextView title;原创 2017-04-13 20:36:25 · 524 阅读 · 0 评论 -
Butter Knife的使用
Butter Knife是view注入框架,使用Butter Knife主要是为了减少代码量,把让模板代码自动生成。先在module的build.gradle里面的dependencies添加依赖compile 'org.greenrobot:greendao:3.2.0'compile'org.greenrobot:greendao-generator:3.2.0'一般用的比较多的是点击事件绑定原创 2017-04-13 20:33:46 · 425 阅读 · 0 评论 -
Android实现DES和3DES算法
博客导航本文实现的Android下的是DES和3DES算法,Java同样也适用。DES算法如下:import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;public ...原创 2016-09-01 08:34:47 · 3320 阅读 · 0 评论 -
Android修改时间实现
root过系统用提权来获得系统权限来修改文件权限属性为修改时间扫清障碍;没root过的系统需要系统签名来获取权限去修改时间。原创 2016-05-30 22:53:03 · 1270 阅读 · 0 评论 -
Android 关机实现
本文的关机实现用两个种方法,一个是不需要安卓root过,但是需要目标系统的系统签名;另外一个是需要系统root过。原创 2016-05-23 13:40:24 · 11857 阅读 · 3 评论 -
带TargetStackTraceElement的log工具类
博客导航系统的log日记能看出不少信息,但是系统自带log并不是那么好用。比如说你不调试想关掉调试,你要一条条删除,调试时候log信息在第几行也不好看出。既然如此为什么不自己制作一个能实现自己需要的log系统呢?接下来将要实现的是带TargetStackTraceElement的log工具类,制作自己个性化的log日记系统。下面是logUtil代码:import android...原创 2016-09-13 17:16:09 · 371 阅读 · 0 评论 -
Android NFC识别CPU卡和m1卡
博客导航基础知识tag dispatch系统定义了三种intent:ACTION_NDEF_DISCOVERED、ACTION_TECH_DISCOVERED、ACTION_TAG_DISCOVERED。它们的优先级优先级分由高到低。对于要识别的CPU卡和m1卡来说,要过滤的是ACTION_TECH_DISCOVERED。支持的tag技术Class ...原创 2016-09-07 08:29:51 · 15679 阅读 · 3 评论 -
Execution failed for task ':app:buildInfoDebugLoader'. > Exception while doing past iteration backup
Android Studio错误如下:Error:FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:buildInfoDebugLoader'.> Exception while doing past iteration backup : Source D:原创 2016-10-19 10:07:36 · 1777 阅读 · 0 评论 -
Android Studio 打包Jar
博客导航Eclipse打包Jar包很容易,直接选择相应的资源打包即可。Android Studio要打包Jar则没有图形界面,只有用gradle来打包。下面就讲述Android Studio打包Jar,并处理Android Studio的terminal中文重码、不能正常输入等问题,gradle禁用lint报错。一、环境设置在win10的环境下,Android Studio的termi...原创 2016-10-17 23:11:36 · 541 阅读 · 0 评论 -
Android Jni之Helloworld
本文将讲述Android jni的开发环境搭建和hello word的生成原创 2016-05-30 23:52:00 · 386 阅读 · 0 评论 -
Android 6.0动态权限申请
从安卓6.0开始,有部分危险权限申请需要在运行时候申请,一般是你的目标版本targetSdkVersion大于或等于23就要动态申请权限了,否则APP在运行当中会崩溃。原创 2016-12-29 18:38:30 · 2543 阅读 · 1 评论 -
Android系统源码编译
安卓源码编译需要linux环境,我这里用的是ubuntu14.04,虽然ubuntu16.04出来很久了。但是16.04有些依赖没解决得了,所以用14.04版本方便很多。下面将用ubuntu14.04环境为大家讲述源码的下载、编译和刷机。原创 2017-01-11 09:30:08 · 6039 阅读 · 1 评论 -
用Android Studio读Android源码
之前在ubuntu中下载了Android源码,但当时只限于编译系统。现在想想如果能顺便研究一下源码岂不美哉,说做就做。开发Android APP用的是Android studio,用它来看Android源码其实也很方便的,所以我也在ubuntu上选择Android studio这样的IDE来看源码。下面将讲述搭建环境用Android studio看源码。一、编译idegen模块 idegen一看名原创 2017-01-17 22:06:54 · 613 阅读 · 0 评论 -
ubuntu adb找不到设备
问题:在ubuntu上连上手机,adb 相关操作时,看到是显示无设备。手机上已经设置了USB调试,但pc端显示不了。 输入adb devices显示no permission,或者是无设备显示。adb devices List of devices attached ???????????? no permission这基本上权限问题。 在谷歌官网上给出以下操作:$ wget -S -原创 2017-01-18 14:32:31 · 2278 阅读 · 0 评论