android
文章平均质量分 59
哎吆我呸
如果前路无知己,那么自己负重前行。
展开
-
Android IPC的几种方式
IPC的概念IPC即Inter-Process Communication(进程之间的通讯)。Android是基于Linux,而Linux出于安全的考虑,不同进程间不能之间操作对方的数据,这叫做“进程隔离”。在Linux系统中,虚拟内存机制为每个进程分配了线性连续的内存空间,操作系统将这种虚拟内存空间映射到物理内存空间,每个进程有自己的虚拟内存空间,进而不能操作其他进程的内存空间,只有操作系统才有权限操作物理内存空间。进程隔离保证了每个进程的内存安全,防止篡改其他进程的数据。IPC方式B原创 2021-02-08 10:38:03 · 623 阅读 · 1 评论 -
Android H5+Native开发遇到的问题以及解决方案
1、webView软件盘遮挡输入框问题/** * 用于解决全屏时,Activity设置了adjustSize却不起作用的问题。setContentView之后调用{@link #assistActivity(Activity)} */public class AndroidBug5497Workaround { public static void assistActivity(Activity activity) { new AndroidBug5497Workaroun原创 2021-01-26 14:18:08 · 450 阅读 · 0 评论 -
Android RecyclerView 下拉刷新 java.lang.IndexOutOfBoundsException: Inconsistency detected
package com.neusoft.ls.smart.city.home.activity.govservice;import android.content.Context;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.AttributeSet;public class CrashLinearLa.原创 2020-12-07 11:18:00 · 228 阅读 · 0 评论 -
Android 处理webView输入框遮挡软件盘问题
package com.neusoft.si.j2jlib.wrapper;import android.app.Activity;import android.graphics.Rect;import android.os.Build;import android.view.View;import android.view.ViewTreeObserver;import android.widget.FrameLayout;/** * 用于解决全屏时,Activity设置了adjus.原创 2020-11-29 15:19:02 · 262 阅读 · 0 评论 -
Installation did not succeed. The application could not be installed莫名其妙的问题解决
android.injected.testOnly=false在gradle.properties中添加上就可以了。原创 2020-11-23 15:44:11 · 3033 阅读 · 2 评论 -
Android dataSotre初次尝试
这个库是google最近出的,用来替代sp,今天出差回来尝试一下。1、添加依赖包 // Preferences DataStore implementation "androidx.datastore:datastore-preferences:1.0.0-alpha02"//datastore // Proto DataStore implementation "androidx.datastore:datastore-core:1.0.0-alpha02" i原创 2020-10-30 16:31:21 · 1296 阅读 · 0 评论 -
Android activity知识总结
生命周期onCreate onStart onResume onPause onStop onDestoryA启动BA onPause B onCreate onStart onResume A onStop 如果B是透明的A是可见的则不会回调A的onStop如何保存数据,恢复数据在acivity中有一个方法是onSaveInstanceState的方法,通过key-value的形式保存数据,再次回到activity中调用onRestoreInstanceState通过key取出valu原创 2020-10-26 20:54:14 · 176 阅读 · 0 评论 -
Android kotlin开发项目MVP架构搭建
1、引入需要的网络库 implementation 'com.squareup.retrofit2:retrofit:2.7.1' implementation 'com.squareup.retrofit2:converter-gson:2.7.1' implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2' implementation 'com.squareu原创 2020-10-02 10:25:59 · 744 阅读 · 0 评论 -
Android引包出现Duplicate class com.xxx.xxx found in modules错误
其实就是依赖的包版本不一样,产生了冲突,把所有依赖的库改成版本一致的就可以了。原创 2020-08-27 15:02:20 · 28073 阅读 · 7 评论 -
Android 随机生成验证码的bitmap
import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import java.util.Random;public class Code { //随机数数组 private static final char[] CHARS = { '0','1','2', '..转载 2020-07-23 15:42:14 · 281 阅读 · 0 评论 -
Android retrofit网络交互在后台返回的response中取出Set-Cookie的值
1、需求,服务器返回的是文件流,服务器把标识放在了response的header中,由于用的网络框架是retrofit,该如何取出Set-Cookie的值呢?Call<ResponseBody> verCode = inf.getVerCode(); verCode.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(Cal原创 2020-07-23 15:30:32 · 1970 阅读 · 0 评论 -
Android 为什么主线程的looper 一直循环不会ANR
阅读此文需要对handler原理有一定的了解程度。Handler 原理和源码首先贴出来两个知识点。第一 java线程可以休眠第二Android只有主线程可以更新UI有人觉得这是傻子都知道的知识,那接下来说傻子可能不知道的知识直接叙述所有java的入口都是main方法 由虚拟机调用,Android 的也不例外,刚开始学习那会根本没研究Android 从哪里开始执行的,现在我知道了告诉那些不知道的同学,不是从application。直接看源码ActivityThread看到.转载 2020-06-06 14:15:15 · 317 阅读 · 0 评论 -
Android anr应用无响应的问题
Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.记得申请权限,读写等权限,就ok了。真的折磨人呢。...原创 2020-05-08 17:24:45 · 1796 阅读 · 1 评论 -
Android 关于网络图片加载不出来的问题
最近遇见一个问题,就是用Glide加载图片怎么也不显示,后来换了框架,但是还是加载不出来。网络权限加了,能检查检查的都检查了图片地址在浏览器能打开,说明地址没问题最后换了个手机8.0的,能加载出来,说明是手机版本的问题,9.0以上就不支持http地址的图片了在Application加上这行,清单文件中android:usesCleartextTraffic="true"就...原创 2019-11-13 09:02:08 · 3041 阅读 · 2 评论 -
Android scrollview嵌套recycleView刷新adapter位置跳的问题
1、在recycleView加上属性,这种解决方案简单暴力但是如果你该页面有想要操作的,输入框之类的就不行了。android:descendantFocusability="blocksDescendants"2、解决办法,手动设置自动获取焦点的控件失去焦点,就不会位置就不会跳到获取焦点的位置了。...原创 2019-11-07 11:12:52 · 693 阅读 · 0 评论 -
Android webView使用详解(Cookies)
前段时间的项目关系一直在和android的webview打交道,网上查了很多资料,发现关于webview的详细介绍都比较少,于是决定自己做个小总结。当然因为本人比较懒的缘故,可能这个总结也不会做的太全面,要想详细了解webview的话还是推荐直接去看Android Developer官方网站给的API文档,我在这里只是粗略介绍一下要想开发一个完整的webview需要用到的一些主要的class,以及提转载 2017-06-26 15:04:09 · 575 阅读 · 0 评论 -
Android获取极光推送registrationID最终解决办法
上篇说到,在Application中获取registrationID的方法,有一个严重的错误,就是当第一次进入app中,获取不到registrationID,原因如下:极光还没有注册完成就获取registrationID,当然获取不到。解决办法如下:<receiver android:name=".activity.MyReceiver"><intent-filter...原创 2018-07-19 22:41:49 · 5942 阅读 · 2 评论 -
Android 高德定位展示当前位置在地图上
第一步:加权限<!--允许程序打开网络套接字--><uses-permission android:name="android.permission.INTERNET" /><!--允许程序设置内置sd卡的写权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL...原创 2018-07-19 22:36:18 · 5726 阅读 · 0 评论 -
极光推送获取registrationID的方式
极光推送1、通过Android端绑定tag,来进行推送2、第二种后台通过registrationID绑定来进行推送。获取registrationID的方式是在Application中进行获取如下JPushInterface.init(this);registrationID = JPushInterface.getRegistrationID(this);...原创 2018-07-13 21:48:32 · 17037 阅读 · 0 评论 -
Android 文字转语音播放(科大讯飞)
1、去科大讯飞官网注册,账号,下载在线语音合成的jar包放在libs文件夹下,然后进行关联 2、SpeechUtility.createUtility(getApplicationContext(), "appid=YOURAPPID"); 3、核心类package lhm.com.cfwheathy.goal;import android.content.Context;import and原创 2018-03-26 11:20:56 · 4861 阅读 · 0 评论 -
webview与Android的交互的完整简单案例(真实项目)
*首先先说一下业务需求,现在有个微信版的社区,想要原生做微信登录,然后进行传微信版社区想要拿到的值,大体功能就是这样的。下面上代码。 1、关联相关的包compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.1.6'compile 'org.greenrobot:eventbus:3.0.0'compile 'com.googl原创 2018-03-24 09:29:36 · 945 阅读 · 1 评论 -
int android.view.View.mViewFlags NUll指针的问题解决办法
1.首先我的问题出现的原因我的主界面用的是ViewPager+Fragment+Button切换的,通过hide与show方式,切换Fragment。然后在Fragment中,我又用了一个tablayout+viewpager+fragment切换的方式,切换展示内容。刚开始没发现这个bug,但是第二次打开App就会发现这个bug,而且这个bug定位基本定不到,一头的雾水。在网上查原创 2018-02-03 15:53:45 · 1969 阅读 · 3 评论 -
Android webview加载html出现空白问题
wv.loadUrl(“http://xxx.xxx.xxx:1025/api/index.php?m=&c=Api“); wv.setWebChromeClient(new WebChromeClient()); 这样加载的html总是出现空白页,但是用手机浏览器打开是没有问题的,ios端也是没有问题的。 先介绍一下我的html包含的内容,主要是定位以及区域图,并且图片比较多。 报原创 2017-11-22 11:00:50 · 3127 阅读 · 0 评论 -
Android WebView加载Html文本不能适配,以及图片中间有空白的问题
1.WebView加载Html文本的正确方式webView.loadData(html, "text/html; charset=utf-8", "utf-8");2.但是如果文本中带图片的话就会遇到适配问题该如何解决呢?public static String getNewContent(String htmltext){ Document doc= Jsoup.parse(htm原创 2017-09-12 09:25:51 · 2782 阅读 · 0 评论 -
scrollerview嵌套RecyclerView滑动迟钝问题
1.Scrollview嵌套RecyclerView会发生向上滑动卡顿问题,直接重写canScrollvertically方法 rcYicixing.setLayoutManager(new GridLayoutManager(getActivity(), 2){ @Override public boolean canScrollVerticall原创 2017-09-07 09:59:11 · 370 阅读 · 0 评论 -
android tablelayout嵌套tablayout Fragment嵌套Fragment
1.主页面public class MyScActivity extends AppCompatActivity implements View.OnClickListener { @Bind(R.id.sliding_tabs) TabLayout slidingTabs; @Bind(R.id.viewpager) NoViewPager viewpager;原创 2017-08-24 20:48:34 · 1088 阅读 · 0 评论 -
Android design tabLayout改变tabline颜色,及居中显示
1.居中显示的属性app:tabGravity="center"app:tabMode="fixed"2.tabline颜色app:tabIndicatorColor="@color/red"3.选中字体的颜色app:tabSelectedTextColor="@color/red"4.未选中字体的颜色app:tabTextColor="@原创 2017-08-07 15:24:08 · 2896 阅读 · 0 评论 -
android6.0 PullToRefreshWebView中的FloatMath.floor()不能用了如何替换
android6.0 PullToRefreshWebView中的FloatMath.floor()不能用了如何替换android6.0 PullToRefreshWebView中的FloatMath.floor()不能用了怎么替换 protected boolean isReadyForPullEnd() { float exactContentHeight = FloatMath.floor转载 2017-06-12 16:36:56 · 1238 阅读 · 0 评论 -
关于Android退出程序清空私密文件的那些事
1.前车之鉴 不要用递归,会把你的APP,不止App还有手机会卡死的,兄弟,切记切记。 2.正确姿势public class DeleteDir { static void deleteAllFiles(File root) { File files[] = root.listFiles(); if (files != null)转载 2017-06-14 17:16:34 · 353 阅读 · 0 评论 -
Android极光推送通过不同的通知内容跳入不同的页面
1、在注册清单中加入<receiver android:name="your receiver全路径" android:enabled="true"> <intent-filter> <!-- 以下是要添加的权限 --> <action android:name="cn.jpush.androi...原创 2018-07-19 22:47:07 · 2170 阅读 · 0 评论 -
Android开发一些坑
1、关于图片转成base64的问题,请单开一个线程操作,耗时。public static String imageToBase64(String path){ if(TextUtils.isEmpty(path)){ return null; } InputStream is = null; byte[]...原创 2018-09-08 23:29:24 · 223 阅读 · 0 评论 -
关于Image scaleType的属性详解,以及每一个属性的区别
ImageView的scaleType的属性值有MATRIX,FIT_XY,FIT_START,FIT_END,FIT_CENTER,CENTER,CENTER_CROP,CENTER_INSIDE.1.android:scaleType=“center”保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size时,多出来的部分被截掉。2.androi...转载 2018-12-24 10:54:07 · 1100 阅读 · 0 评论 -
android studioGsonFormat插件以及遇到Plugin Error: GsonFormat threw an uncaught PluginException. Disable Pl
1.安装2.安装3.然后重启,有可能遇见问题Plugin Error: GsonFormat threw an uncaught PluginException. Disable Plugin下载一个老版本,如果studio不是最新版本地址https://plugins.jetbrains.com/androidstudio/plugin/7654-gsonformat原创 2016-12-23 10:40:50 · 1349 阅读 · 0 评论 -
Android 热修复(腾讯bugly)
腾讯bugly集成指南1、在build.gradle中添加依赖dependencies { classpath 'com.android.tools.build:gradle:3.2.0' classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.6.0' classpat...原创 2019-08-29 15:02:29 · 510 阅读 · 0 评论 -
Android 自定义View 自定义组合控件
近来公司项目不是很急,空闲时间比较多,抽空来复习一下,自定义View,先来一个大家都能用的上还比较简单的。每个项目页面都有数据控制展示不同的页面,例如加载前,加载失败,网络链接问题。下面直接上代码了。很简单,大家直接改吧改吧就直接能用到自己的项目中了。package com.example.rechpush;import android.content.Context;import...原创 2019-08-09 10:42:10 · 247 阅读 · 0 评论 -
Android关于recyclerview setVisibility的VISIBLE不展示的问题
开发项目遇见一个奇葩的问题,就是控制两个recyclerview显示隐藏。当点击一个显示隐藏recyclerview的时候,第一个是没有问题的,但是点击第二个就会出现问题,并且已经打印log,已经是展示隐藏了。如果先点击第二个,所有的显示隐藏是没有问题的。很棘手。最后在第二个显示的时候加了一行这个代码成功解决。rv_vehicle_enegy.requestLayout();...原创 2019-07-26 11:32:42 · 2204 阅读 · 0 评论 -
Android studio Could not resolve all files for configuration ':app:debugCompileClasspath'.等
repositories { google() jcenter() maven{ url 'https://maven.aliyun.com/repository/google'} } repositories { google() jcenter() maven { url "htt...原创 2019-06-25 10:43:25 · 12439 阅读 · 6 评论 -
Android 沉浸式状态栏跟虚拟按键冲突问题 隐藏虚拟按键
1、沉浸式状态栏 View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); getWindow().setSta...原创 2019-05-24 11:27:04 · 913 阅读 · 0 评论 -
Android 阿里云推送集成指南
一、注册阿里云开发者账号,创建应用获取Appkey以及AppSecrent二、在AndroidMainifest添加权限,还有一些其他权限(基本上你自己的项目已经写了,我就不贴了)<uses-permission android:name="android.permission.WRITE_SETTINGS"tools:ignore="ProtectedPermissions"...原创 2019-08-23 15:12:04 · 2530 阅读 · 0 评论 -
AndroidStudio报错Manifest merger failed : Attribute application@appComponentFactory
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:appComponentFactory="" tools:replace="an...原创 2019-04-09 16:54:00 · 1127 阅读 · 0 评论