Android
文章平均质量分 61
珍惜当下-拥抱明天
挑战自己,追求卓越。
展开
-
安卓兼容导致的崩溃记录总结
1、android 8Caused by java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation解决方案:1,删除AndroidManifest中相应Activity的 android:screenOrientation=""属性;2,删除相应Activity的theme中<item name="android:windowIsTranslucent">tr原创 2022-01-29 11:36:25 · 1780 阅读 · 0 评论 -
android 面试题(二)
五、其他基础1、String、StringBuffer、StringBuilder的区别? String :字符串常量 StringBuilder:字符串变量,非线程安全 StringBuffer:字符串变量,线程安全的。2、ArrayList和LinkList的区别?3、你的项目架构?你对MVC、MVP、MVVM架构的理解?h...原创 2020-04-23 14:25:31 · 130 阅读 · 0 评论 -
android 面试题(2020补充更新中)
四大组件方面一、Activity相关1、Activity 的启动方式https://baijiahao.baidu.com/s?id=1616439180421446209&wfr=spider&for=pc2、singleTop和singleTask有什么不同3、Activity生命周期。onStart和onResume()有什么不同?https://bl...原创 2020-04-23 14:24:07 · 3961 阅读 · 0 评论 -
错误: 找不到符号 符号: 类 ContextCompat 位置: 程序包 android.support.v4.content
打开旧项目,提示如下信息错误: 找不到符号符号: 类 ContextCompat位置: 程序包 android.support.v4.content原因:使用Android Studio 新建项目,和旧项目同时打开。导致在一些缓存目录的缓存文件有误。解决方案:删除项目/app/build/..C:\Users\LiEnbo\.gradle\caches\tran...原创 2020-04-04 21:08:15 · 2095 阅读 · 0 评论 -
Android Studio 3.5 plugin不能更新
一、使用可以访问外网的软件,进行插件的更新二、在File->Setting-> AppearAnce & Behavior -> System Settings ->Updates -> Use secure connection 前面的对号去掉。如下图所示:...原创 2020-02-17 12:59:23 · 794 阅读 · 0 评论 -
FTS中virtual table更新数据失败
一、问题描述项目中使用FTS实现本地数据检索功能,创建以下表:@Overridepublic void onCreate(SQLiteDatabase db) { db.execSQL("CREATE VIRTUAL TABLE IF NOT EXISTS fts_index USING fts4(" + content +","+ ...原创 2019-11-22 15:54:50 · 306 阅读 · 0 评论 -
监听来电方法不能获取来电号码
1、在android 9上,实现监听来电的时候,onCallStateChanged(int,String)无法获取手机号码。原因:android 9时,系统对电话的权限做了修改,该修改对所有编译版本的应用都有影响,因此无论应用的编译版本是多少,在android 9以上的系统,都不能正常的获取来电号码。https://developer.android.com/about/versions...原创 2019-11-18 22:17:13 · 1197 阅读 · 0 评论 -
Android Studio快速给实现Serializable接口的类添加UID
1、首先打开项目,做一下设置:File--Setting--Editor--Inspections--Java--Serialization issues--勾选Serializable class without "serialVersionUID"即可2、选择实现Serializable接口的类名,点击选中,按alt+enter键。选中弹窗上 Add "serialVersi...原创 2019-10-30 18:41:08 · 685 阅读 · 0 评论 -
git命令使用笔记
git clone url从远程仓库克隆代码创建分支并提交代码Step 1:在本地新建分支git branch newBranchStep 2:把本地分支push到远程 git push origin newBranchStep 3:切换分支到newBranch git checkout newBranch 合并2、3步...原创 2019-10-14 10:01:16 · 154 阅读 · 0 评论 -
Android 电量变化监听
Intent.ACTION_BATTERY_CHANGEDThis is a sticky broadcast containing the charging state, level, and other information about the battery. See BatteryManager for documentation on the content原创 2017-09-14 11:23:17 · 1227 阅读 · 0 评论 -
android sdk目录结构
Android Sdk 目录结构示意图一、add-ons这里面保存着附加库,比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。二、build-tools 个版本的sdk工具,当你新建android项目的时候会用到这个包。 主要是包一些编译的工具。 当然有一个版本的Android就行。包含有aapt、aidl、逆向原创 2017-08-24 19:12:04 · 1119 阅读 · 0 评论 -
解决Android 应用方法数不能超过65K的问题
作为一名Android开发者,相信你对android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常:Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536可能有些同学会说,解决这个问题很简单,我们只需转载 2017-08-10 18:22:31 · 240 阅读 · 0 评论 -
android 使用ant打包或者生成jar
一、生成build.xml文件Eclipse 中使用Ant为Android打包并且签名Android Sdk中自带文件,在{sdkpath}tools/ant目录下的3个文件其中build.xml和unbuild.xml中定义了大量基础构建方法和构建策略。我们只需要构建我们自己的build.xml并且存放在项目的根目录下,然后引用{sdk}tools/ant即可。在命令行窗原创 2017-07-25 19:59:55 · 950 阅读 · 0 评论 -
Android APK DEX分包总结
Android 分包转载 2017-08-08 16:47:58 · 1358 阅读 · 0 评论 -
Android 混淆那些事儿
原文:http://mp.weixin.qq.com/s/WmJyiA3fDNriw5qXuoA9MA本文主要讲述了代码混淆和资源混淆的原理,Studio默认的混淆方案,混淆的参数,以及如何对Apk进行代码混淆(自定义混淆文件)和资源混淆(结合微信混淆和美团混淆两种方案),避免Apk被逆向。 为什么要混淆我们的apk在打包发布之前,都要进行混淆处理来避免源代码和资源文件被小白用户通过反编译拿到。未转载 2017-07-20 19:35:08 · 399 阅读 · 0 评论 -
PagerSlidingTabStrip介绍及使用
为了让你的app不像另一个 Play Store上面的app,你可以添加这些属性来做出自己独具一格的应用。pstsIndicatorColor Color of the sliding indicator 滑动条的颜色pstsUnderlineColor Color of the full-width line on the bottom of the view 滑动条所在的那个全宽线原创 2017-07-06 15:30:21 · 256 阅读 · 0 评论 -
android 资源(开源项目、library,框架{完善中})
一、KJLibrary项目介绍:KJFrameForAndroid 又叫KJLibrary,是一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡原创 2016-03-16 16:26:27 · 860 阅读 · 0 评论 -
Uri详解
上几篇给大家讲了ContentProvider,里面有用到Uri,可能很多同学对Uri是什么,怎么来的,这些都不是很熟悉,今天就给大家具体讲讲Uri一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?名称如此相像的两个类是有什么区别和联系?1.所属的包不同。URI位置在java.net.URI,显然转载 2017-06-08 12:39:18 · 398 阅读 · 0 评论 -
eclipse 下ndk开发
Eclipse下NDK开发一、关于NDK:NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和Java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简转载 2017-05-16 10:37:53 · 215 阅读 · 0 评论 -
android 内存优化 参考资料
参考资料腾讯系列:1、http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653578016&idx=1&sn=d997d1142bac09e3764c075392468ae5&chksm=84b3b127b3c4383197c7d1cf15ecec44d66a1119b033ae383f9e2126bb1be0abc93416622原创 2017-05-04 19:16:36 · 208 阅读 · 0 评论 -
实现动态获取Android手机CPU架构类型
1、什么是动态库(.so文件)? .so文件是unix的动态连接库,是二进制文件,作用相当于windows下的.dll文件。 他使用了C/C++代码编写的可以操作硬件比java更高级的 底层代码,执行速度和效率比其他语言要高。 在Android中调用动态库文件(*.so)都是通过jni的方式。 Android中加载so文件的提供的API: void System.load转载 2017-09-14 14:30:40 · 1901 阅读 · 0 评论 -
adb 拷贝手机中的文件到电脑
1、在手机链接电脑时,使用adb logcat>{d:log_18.txt}2、拷贝应用安装目录下的文件(如数据库,缓存文件)到电脑。a、需要有root权限的手机或者电视盒子。b、执行如下命令:c、把相应目录下的文件拷贝到sdcrad.cp log.txt /sdcard这样就把应用安装目录下cache目录原创 2017-09-20 18:14:58 · 13639 阅读 · 0 评论 -
android Activity全屏显示
设置Activity全屏显示的两种方式:1、在Activity中动态的设置requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);g...原创 2019-09-18 14:12:00 · 1353 阅读 · 0 评论 -
chrome 手机和电脑联调
Android 4.4 (KitKat) 开始,使用 Chrome 开发者工具可以帮助我们在原生 Android 应用中远程调试 WebView 网页内容。1、首先电脑端和手机端都安装chrome,并且版本要匹配。(这个以后两端连接的时候会提示,在做升级即可)2、项目代码中设置开启调试模式:// 开启 可远程调试WebView.setWebContentsDebuggingEna...原创 2019-06-19 19:45:41 · 1800 阅读 · 0 评论 -
生成Json字符串 --- Uncaught SyntaxError: missing ) after argument list
JSONArray array2 = new JSONArray();array2.put(false);String path = "//storage/emulated/0/spap/image/1560929771359_bridge.jpg";JSONObject obj2 = new JSONObject();try { obj2.put("file",path); ...原创 2019-06-19 16:48:45 · 1187 阅读 · 0 评论 -
java.lang.IllegalStateException: This Realm instance has already been closed, making it unusable.
在使用Realm访问数据库的时候,报java.lang.IllegalStateException: This Realm instance has already been closed, making it unusable.异常。原因:查询完数据,使用查询结果的时候,数据没有拷贝到内存中,Realm的数据总是实时访问的。eg:Realm realm = Realm.getDe...原创 2019-06-03 11:35:15 · 1437 阅读 · 0 评论 -
Attempt to recreate a file for type io.realm.RealmStringRealmProxyInterface
问题产生的情形:当使用Realm数据库的时候,实现了两个继承RealmObject的同名子类,放在不同的包路径下,编译运行报如下错误:Attempt to recreate a file for type io.realm.RealmStringRealmProxyInterface实现的同名不同路径的类:public class RealmString extends Rea...原创 2019-11-19 11:12:31 · 1687 阅读 · 0 评论 -
android 项目编译报Failed to resolve: support-core-utils 解决
在编译新的项目的时候,项目报Failed to resolve: support-core-utils 异常。这是由于项目编译不能找到这个库,查询资料后发现Google 不支持通过SDK的更新来更新support库了,而是通过maven仓库来下载支持库,原文如下:The support libraries are now available through Google's Maven re...原创 2019-01-16 14:30:12 · 1185 阅读 · 0 评论 -
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:(52) error: resource mipmap/ic_launcher_round (aka XXXXX:mipmap/ic_launcher_round) not found.Error:(52) resource mipmap/ic_launcher_round (aka XXXXX/ic_launcher_round) not found.Error:failed pro...原创 2018-02-11 11:00:56 · 2192 阅读 · 0 评论 -
开源项目
UIAwesome-MaterialDesign- MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库。 awesome-android-ui- ui库,非常多的ui及特效。 ChipsLibrary- 在Android EditText中实现打Tag功能。 bitmapMesh- 拉窗帘效果。 Observab...转载 2018-01-08 15:01:30 · 792 阅读 · 0 评论 -
Android Studio gradle 配置
说明:AndroidStudio 安装时,gradle的默认安装路径在:C:\Users\{用户名}\.gradle\wrapper\dists如下图所示:一、window 10 系统:直接在path变量下增加gradle环境变量的配置:C:\Users\{用户名}\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2原创 2017-11-17 02:27:30 · 1965 阅读 · 0 评论 -
分析解决Android ANR
一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10 seconds)BroadcastRec转载 2017-10-26 12:04:55 · 552 阅读 · 0 评论 -
主线程中的Looper.loop()一直无限循环为什么不会造成ANR?
引子:正如我们所知,在android中如果主线程中进行耗时操作会引发ANR(Application Not Responding)异常。造成ANR的原因一般有两种:当前的事件没有机会得到处理(即主线程正在处理前一个事件,没有及时的完成或者looper被某种原因阻塞住了)当前的事件正在处理,但没有及时完成为了避免ANR异常,android使用了Handler消息处理机制。让耗时操作转载 2017-11-09 12:54:33 · 556 阅读 · 0 评论 -
android 7.0适配
Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的挑战,这几天我将应用适配到Android7.0,其中也遇到了不少问题也踩了一些坑,在这里就把我在Android7.0适配上的一些心得分享给大家,让大家的应用能早一天跑在Android7.0上。权限更改随着Android版本越来越高,Android对隐私的保护力度也越来越转载 2017-10-23 14:52:15 · 401 阅读 · 0 评论 -
android 6.0权限管理
android 6.0 权限管理的使用及一些使用说明转载 2017-04-11 19:06:54 · 462 阅读 · 0 评论 -
android 视频解码
一、软解码软解码:即通过软件让CPU来对视频进行解码处理,就是通过CPU来运行视频编解码代码,我们最最常见的视频软解码开源看就是FFmpeg: FFmpeg官网:https://ffmpeg.org/国内FFmpeg教程:雷霄骅(leixiaohua1020)的专栏目前基于FFmpeg的开源播放器有B站的ijkplayer,教程请移步:htt原创 2017-04-10 11:02:47 · 747 阅读 · 0 评论 -
Android:onNewIntent()的使用及注意事项
一、android中Activity的启动模式在android中,每个界面都是一个Activity,切换界面其实就是不同Activity之间的实例化操作,在android中Activity的启动模式决定了Activity的启动运行方式。android中activity的四种启动方式:Activity启动模式设置: ".MainActivity" and转载 2016-09-22 15:59:04 · 962 阅读 · 0 评论 -
android删除一个view中的子view
android系统中已经提供了一些删除父控件中的方法。如:.removeAllViews();.removeViews(start, count);.removeViewsInLayout(start, count);....但是有时这些并不是太满足需求,自己写删除子view的方法:View view = null;(mContentLayout是父控件)for(int原创 2016-06-30 20:30:57 · 12002 阅读 · 0 评论 -
Android动画
Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, TranslateAnimation.AlphaAnimation 透明度动画效果ScaleAnimation 缩放动画效果TranslateAnimation 位移动画效果RotateAnimation 旋转动画效果原创 2016-06-29 17:23:00 · 252 阅读 · 0 评论 -
在Android M中权限被拒绝时该如何处理
Android M Preview 2 的SDK中引入了一个方法来处理运行时权限:Activity.shouldShowRequestPermissionRationale()。这个函数的作用是告知App在调用需要权限的功能前是否要显示相应理由。当App刚安装的时候,这个方法会返回false,这时候它可以直接调用任何需要权限的功能而不需要解释,此时会正常弹出权限对话框。如果用户之前转载 2016-07-11 17:58:17 · 1923 阅读 · 0 评论