android基础
爱乐写代码
要么去学习,要么被淘汰
展开
-
Android 获取SHA1
1,概述平时在使用第三方sdk时,会偶尔使用到debug和release秘钥的sha1值,包名等等信息,这里笔记2,命令(Windows Terminal或Android studio Terminal)//debug SHA1:keytool -list -v -keystore debug.keystore路径密钥口令:android//release SHA1keytool -list -v -keystore 自己密钥路径密钥口令:自定义的密码...原创 2021-07-26 13:46:31 · 177 阅读 · 0 评论 -
Android中监听Home键
概述工作中有一个场景是只要返回桌面,重新回到A页面时会有个锁屏页面B,必须输入密码才可以进入A页面,现在是返回桌面的处理问题,首要想到监听home键,再判定当前最顶层页面是不是桌面即可方法:1,onUserLeaveHint方法,但是有个问题就是跳转其他app也会触发,因此不行//在基类BaseActivity重写方法监听@Override protected void onUserLeaveHint() { super.onUserLeaveHint();原创 2021-07-22 18:07:42 · 751 阅读 · 3 评论 -
Android全屏显示隐藏状态栏
1,概论工作中经常需要用到全屏的页面,还要隐藏系统状态栏或沉浸式2,设置全屏2.1,设置有代码中设置,也有Mainfest.xml中设置theme2.2,要是全局生效就在application中设置,要么就是具体activity中设置2.3,全屏代码示例如下://style.xml中 <style name="FullScreen" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPri原创 2021-07-22 17:39:07 · 5626 阅读 · 3 评论 -
Android分屏显示
1,定义Android N以上系统支持的模式,可上下,左右分屏显示,画中画,多窗口模式2,方式要是全局分屏,可在application里设置标签resizeableActivity为true <application android:name="com.aile.xu.MyApplication" android:allowBackup="true" android:icon="@mipmap/icon_app" android:原创 2021-07-22 16:34:10 · 1606 阅读 · 1 评论 -
Error running app: Default ActivityNot Found 解决方案
导言:有时候升级Android和gradle时,或者导入别人的项目时,会出现各种小问题,但是网上又没有合适的方法异常信息解决:1:确保AndroidManifest.xml中activity有启动代码 <activity android:name=".activity.LoginActivity"> <intent-filter> <action android:name="android.intent.ac原创 2020-07-23 17:26:52 · 711 阅读 · 1 评论 -
Android Studio GBK转换UTF-8
导言:很老的Android项目是用Eclipse开发的,当时的编码格式为GBK,现在开发工具更改到Android Studio后,都默认UTF-8,导致之前每个类中文显示出现乱码异常信息:/** * ����Activity�Ķ��㸸��(����)���������һЩ����Activity���е�һ������ */public abstract class BaseActivity extends Activity { /** * ����һЩ���õĶ��� */ pu原创 2020-05-21 15:01:00 · 2874 阅读 · 1 评论 -
AGPBI kind error text Android resource linking failed
导言:工作的闲暇时间快速看了下很久以前的老项目,这是13年的项目,用AS打开,都是问题,不过还好,一些问题解决顺利,但是只要去run,就会出现一些未知的问题异常信息:AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"..\\.gradle\\caches\\transforms-2\\files-2.1\\4cfe0911440d16ca6e1ca90c791c61c2\\core-1原创 2020-05-21 13:57:02 · 12499 阅读 · 4 评论 -
Input dispatching timed out ANR问题分析
导言:项目中碰到ANR很正常,要是碰到了,也很开心,表明你的代码还不够优秀,仍需继续努力,而这片日记只是工作中碰到的一个,在这里只是解决ANR的思路,不做什么什么的分析原理,工作中更多的是发现问题和快速解决问题,而不是什么原理,这个只能当做是知识的深入,但是要适可而止,是不是!ANR日志这是使用bugly拦截的ANR事件,有时候会更显眼,更容易找到问题之所在Input dispatching timed outANR Input dispatching timed out (Waiting to原创 2020-05-15 15:06:41 · 14329 阅读 · 0 评论 -
Android Studio常用插件
1:GsonFormat- Json->Java BeanAlt+S进入窗口输入:2:JsonViewer-String–>Json格式3:Android ButterKnife Zelezny-快速生成注解和点击事件4:Translation-中英文翻译5:Android Parcelable code generator-类序列化6:Alibaba Java Co...原创 2020-05-02 12:01:50 · 218 阅读 · 0 评论 -
Compatible side by side NDK version was not found. Default is 20.0.5594570.
问题:有时升级Android studio和gradle时,会有各种小问题,对于各种警告,有的人会忽略掉,有的人会在乎这个warnning: Compatible side by side NDK version was not found. Default is 20.0.5594570.解决方案:tools–>sdk manager–>Android sdk–>s...原创 2020-04-23 11:45:42 · 28659 阅读 · 0 评论 -
android.database.sqlite.SQLiteException: no such table
问题:由于经常需要操作数据库,但是greendao使用时会容易出现一个问题Caused by:android.database.sqlite.SQLiteException:no such table: JPUSH_BEAN (Sqlite code 1 SQLITE_ERROR): , while compiling: SELECT T."_id",T."UID",T."PUSH_CONT...原创 2020-04-21 10:59:45 · 1201 阅读 · 0 评论 -
org.greenrobot.eventbus.EventBusException: Subscriber class ...and its super classes have no public
问题:开发中需要用到eventbus总线,容易出现一个小问题android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3760) ......Caused by:org.greenrobot.eventbus.EventBusException:Subscriber class ...LoginActivit...原创 2020-04-21 10:51:05 · 1889 阅读 · 0 评论 -
java.util.IllegalFormatConversionException: d != java.lang.String
问题:由于添加清明节黑白模式需求,需要单位数字时前面补0,比如2,变成02android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3760)......Caused by:java.util.IllegalFormatConversionException:d != java.lang.Stringjav...原创 2020-04-21 10:33:01 · 1778 阅读 · 0 评论 -
java.lang.IndexOutOfBoundsException Index: 0, Size: 0
问题:调试app时,从数据库取数据并获取第一条数据io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)......Caused by:java.lang.IndexOutOfBoundsException:Index: 0, Size: 0java.util.ArrayList.get(ArrayList....原创 2020-04-21 10:26:57 · 492 阅读 · 0 评论 -
java.lang.OutOfMemoryError Failed to allocate a
问题:需求中需要定时上报定位数据,但是测试中后台关闭,导致数据本地累计1000多条,这时就不能一次上报了,因为上报的数据太大,会让配置低的手机OOMjava.lang.OutOfMemoryErrorFailed to allocate a 3646464 byte allocation with 2783400 free bytes and 2MB until OOMcom.google...原创 2020-04-21 10:19:50 · 4602 阅读 · 0 评论 -
android.content.res.Resources$NotFoundException
问题:调试app时,可能有时需要注释掉某些代码,方便快速调试android.content.res.Resources.getText(Resources.java:413)android.widget.TextView.setText(TextView.java:6427)...ImagePreviewActivity$SamplePagerAdapter.instantiateItem...原创 2020-04-21 10:10:40 · 251 阅读 · 0 评论 -
Android studio 一直卡在Gradle:Build Running
问题:Android studio经常需要build调试app,但是有时会出现Gradle:Build Running中解决方案:1:在C:\Users\用户名.gradle新建一个文件gradle.properties,文件中添加内容org.gradle.daemon=true2:若添加后还是这样,转入build.gradle中,可以看到mavenCentral()拖慢,这就需要镜...原创 2020-04-21 10:06:07 · 15366 阅读 · 5 评论 -
java.lang.NullPointerException: Attempt to invoke interface method
问题:界面跳转需要携带数据,数据为对象集合,但是那边接收错误java.lang.RuntimeException:Unable to start activity ComponentInfo{.../....ImagePreviewActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'int...原创 2020-04-21 09:54:22 · 10236 阅读 · 0 评论 -
android.intent.action.MAIN -c android.intent.category.LAUNCHER问题
问题:由于某些手机调试中需要卸载,但是手动卸载后重新run,报错Error while executing: am start -n ".../...LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHERStarting: Intent { act=android.intent.acti...原创 2020-04-21 09:44:51 · 6787 阅读 · 2 评论 -
Android Volley获取数据显示乱码的问题
总共有两种情形: 1:针对stringRequest RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext()); StringRequest stringRequest = new StringRequest(address, new Response.List原创 2017-04-20 19:54:01 · 635 阅读 · 0 评论 -
Android Support Annotations注解库之优化代码
导言: Android Support Annotations是从19.1版本引入的注解库,可优化代码,增加可读性,又可减少代码的报错使用: 1:导包 implementation 'com.android.support:support-annotations:23.4.0'2:Support Annotations分类2.1:Nullness注解@Nullable注...原创 2018-09-13 13:14:39 · 325 阅读 · 0 评论 -
Android 内存泄漏之LeakCanary
导言: 内存管理是android开发性能中重要的一环,而leakCanary是Square开源框架,是一个Android内存泄露检测库,是个优秀的 内存泄露检测工具,通过它大大降低oom的出现,提高app的质量释义: 内存泄漏:对象本该在有限生命周期内还持有引用,没有被回收,累计并追踪最终消耗完内存引入: 1:build.gradle中debugCompile 'com.squ...原创 2018-09-17 11:50:55 · 223 阅读 · 0 评论 -
Android MD5,3DES,AES,RSA,Base64加解密
导言: 由于数据的安全性,所以需要进行数据加密和解密处理,当然有很多算法,但其中MD5不可逆,3DES(DESede)是DES的升级版, 所以本文只是笔记步骤: 1:MD5加密,很简单,直接将需要加密的字符串传入即可.public static String MD5Tool(String str) { if (TextUtils.isEmpty(str)) { ...原创 2018-07-12 16:07:09 · 541 阅读 · 0 评论 -
Android Studio断点调试
导言: 这是开发的基础,供笔记使用释义: step over(F8):一行行执行step into(F7):进入自定义方法force step into(Alt+shift_F7):进入一切方法step out(shift F8):跳出当前方法drop frame:重置回到该方法的开始处run to cursor(Alt+F9):调到下一个断点...原创 2018-07-04 11:51:20 · 387 阅读 · 0 评论 -
Kotlin基础语法
导言: Kotlin:开发Android的官方语言,本文只是笔记1:方法定义: //函数-fun,名称-getHidePhoneNum,参数-phoneNum: String,返回-String fun getHidePhoneNum(phoneNum: String?): String? { ... return phoneNum } //函...原创 2018-07-02 12:25:29 · 1790 阅读 · 0 评论 -
Android图片文字识别
导言: OCR,tess-two ,openCV等晕人的东西先分清,OCR,tess-two是图片文字识别,而openCV是图像识别比对可运行的步骤: 1:添加依赖 implementation 'com.rmtheis:tess-two:8.0.0'2:下载字体识别库(chi_sim.traineddata 中文简体,chi_tra.traineddata 中文繁体,eng.tr...原创 2018-06-20 12:58:32 · 1083 阅读 · 0 评论 -
Android实现截屏
导言: 目前截屏的方法很多,root不适用,要么其他方法就是有局限性,而其中官方给出的方案最好—MediaProjection介绍: Android 5.0以后开放的录屏API,取视频中的一帧数据,这样就可以实现截屏,详细步骤如下步骤:在activity中授权,在service中完成初始化并截图,当然可以后台定时截图,但是6.0系统会有内存溢出的bug, 其他无1:build.g...原创 2018-06-20 12:31:59 · 1953 阅读 · 2 评论 -
Android Studio自定义注释模板
导言: Android Studio一个快捷键立马生成编辑好的注释模板,有利于快速注解开发,例如:/* * @Author Aile.X * @Date 2018/6/13 * @Des 账户消费 */public class PayActivity extends AppCompatActivity implements ICallback { private stati...原创 2018-06-25 09:37:17 · 1842 阅读 · 0 评论 -
Android代码规范
代码规范目的:易读可维护1:命名: 大驼峰(类(组件,接口,工具类)) 小驼峰(方法,变量) 小写(包) 大写(常量,枚举)2:尽量在每一个类中加入TAG,调试用途,若用框架,就不用,比如Loggerprivate static final String TAG = "DieselPayActivity";Log.i(TAG,title);FormatStrategy f...原创 2018-06-25 07:41:26 · 403 阅读 · 0 评论 -
Retrofit+Rxjava+MVP网络请求框架
导言:之前有套基于MVP的网络请求框架,是okhttp封装的,后来由于retrofit,rxJava的流行,所以更改一部分作为学习步骤:1:导包 implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.okhttp3:logging-interceptor:3.9....原创 2018-09-18 17:14:38 · 476 阅读 · 0 评论 -
Android 自定义控件释义
由于经常在android的开发过过程中与控件打交道,所以有些android控件并不能满足我们的需求, 进而需要自定义一 些为我们所用,但是本文只是一些名词解析,具体实现可以网络搜索获得答案,在此只是个人的笔录1:自定义控件方式: 1.1:继承view,button,textview,recycleview等控件 1.2:继承viewgroup,LinearLayout,RelativeL...原创 2018-09-13 15:50:07 · 282 阅读 · 0 评论 -
Flutter环境搭建
Flutter简介:Flutter和Dart插件安装:下载flutter开发包:配置环境变量:执行flutter doctor命令创建Flutter项目运行Flutter项目关于Flutter的热重载Flutter中文资料下载Flu...原创 2019-06-18 16:02:41 · 158 阅读 · 0 评论 -
Android 白盒测试之单元测试(junit),黑盒测试之mokey测试
导言:做安卓也有几个年头,对于小项目基本都不去单元测试和稳定性测试等,都是在出现异常后通过debug处理或log打印即可解决,当然对于大的项目,由于运行时效问题,加快开发效率,一些测试方法必须要做,比如白盒测试之单元测试,最新的AS都集成了junit,还有黑盒测试(功能测试)之mokey测试,都已经集成,都可以直接使用,还有灰度集成测试,测试一些网络接口访问和异步任务等,本文只是笔录,没有什么技...原创 2018-10-10 12:15:29 · 1513 阅读 · 0 评论 -
Java 泛型,反射,注解释义
导言:由于Android热门框架Retrofit,Eventbus,BufferKinfe源码不同程度的使用泛型,反射和注解,所以有必要对最基础的知识进行记录,别有时还晕乎乎,一句话总结,泛型解决类型转换,反射动态获取类所有信息并设置,注解告诉编译器如何执行程序泛型:定义:实质是类型参数化,在编译时免去强制类型转换的麻烦,在运行时由具体的类型来替换这个泛型参数,也就是避免类型转换出现异常的东...原创 2018-10-09 11:43:20 · 517 阅读 · 0 评论 -
Android 项目组件化之创建module,生成aar,引入aar
导言:在android平时的开发中,经常自己写的东西让别人使用,那么就有module,aar,jar等方式.1:module通过import module并dependencies完成2:aar,包括所有文件的android专用包,通过右边的gradle->assemble生成3:jar,功能工具包,不含资源文件等,通过右键add as library完成步骤:1:创建modul...原创 2018-09-21 12:36:45 · 2670 阅读 · 0 评论 -
Android 动画笔录
动画在android中使用很广泛,当然也有框架支持动画显示,比如glide显示gif,本文不讲这块,只是记录一下android动画基本实现1:补间动画Tween动画,通过平移、缩放、旋转、改变透明度实现动画,可以采用XML来做也可以采用java编码来做2:逐帧动画Frame动画是一帧挨着一帧的播放图片,可以采用XML(animation-list,item)来做也可以采用jav...原创 2018-09-13 16:40:42 · 149 阅读 · 0 评论 -
RxJava备注
//取消订阅,为了线程安全 Subscription subscription; subscription = Observable.just(&amp;amp;amp;quot;123&amp;amp;amp;quot;).subscribe(new Action1&amp;amp;amp;amp;lt;String&amp;amp;amp;amp;gt;() { @Ov原创 2018-06-22 11:52:41 · 169 阅读 · 0 评论 -
Android Studio常用快捷键
Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,而安卓开发我相信一些快捷键可以让工作事半功倍,这里只列举最常用快捷键:Ctrl+A:全选 S:保存 D:复制行 F:查找文本 R:替换文本 Z:撤销 X:剪切行 C:复制原创 2017-04-27 19:33:10 · 404 阅读 · 0 评论 -
Android Bitmap工具方法;
//BitmapFactory工具方法: BitmapFactory.decodeFile(f.getAbsolutePath(), op); FileInputStream in = new FileInputStream(f); Bitmap bm = BitmapFactory.decodeStream(in, null, op);BitmapFactory.de原创 2017-04-20 19:49:32 · 451 阅读 · 0 评论 -
Android BroadcastReceiver使用
sample1:广播实例,启动线程发送广播并在广播处理器里更新UI //在TApplication启动线程CallLogDataThread: CallLogDataThread mCallLogDataThread = new CallLogDataThread(0); mCallLogDataThread.start();//CallLogDataThrea原创 2017-04-20 19:48:36 · 407 阅读 · 0 评论