
android
依旧00
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android打包
最近在使用360加固的时候发现对于免费版不再支持加固后进行自动签名了,所以需要手动签名原创 2023-03-16 23:09:06 · 247 阅读 · 0 评论 -
React Native解决WebView高度问题
之前遇到的场景是后台只返回了富文本的标签内容,导致加载出来的内容高度不正确,解决方法就是通过document.documentElement.clientHeight获取内容高度,然后返回给Reace native原创 2023-01-28 17:23:11 · 599 阅读 · 0 评论 -
jcenter仓库无法访问的解决方法
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Failed to list versions for com.facebook.react:react-native.Caused by: org.gradle.api.resources.ResourceException: Unable to load Maven meta-data from https://jcenter.bintray.com/com/fa原创 2022-10-31 18:59:18 · 2929 阅读 · 0 评论 -
从文本内容中解析出链接地址
最近遇到一个需求,需要接收从今日头条分享的内容导入到我们自己的文章管理平台。原创 2022-09-02 15:32:00 · 584 阅读 · 0 评论 -
更优雅的实现app进入前后台的判断
目前在android App中实现判断app进入后台或者回到前台有两种判断方法方法一:通过.getRunningAppProcesses()获取当前运行列表这个方法缺点:此方法在android5.0中被标记为deprecated方法二:通过 registerActivityLifecycleCallbacks的回调方法来获取每个activity的状态,通过判断Activity的生命周期和计数和来判断是否进入后台缺点:堆栈中有多个activity被启动时,判断不准确,而且不能准确判断app从后台返回到原创 2022-06-08 15:25:13 · 1279 阅读 · 0 评论 -
Kotlin语法中的常见问题处理
1、lateinit语法判断由于lateinit允许变量延迟初始化,但是在后续使用的时候,如果直接使用if==null来判断是否为空会报错。正确的判断方法是 if (::list.isInitialized){ list.clear(); notifyDataSetChanged() }...原创 2022-05-22 17:08:55 · 257 阅读 · 0 评论 -
Android中Content动态替换
MutableContextWrapper 允许外部替换它的 baseContext ,因此 prepare(context: Context)方法可以传 applicationContext 进行预创建,等到实际调用时再进行替换,详细请看 obtain(context: Context) 方法。具体用法后续更新。...原创 2022-01-07 17:54:56 · 1428 阅读 · 0 评论 -
Android WebView重定向
最近遇到几个android webView加载图片的问题1、微信支付重定向之后提示 ‘商家参数格式有误,请联系商家解决’2、淘宝分享的短链接在webView加载过程中无限重定向这两个问题都是在android 的WebView加载的过程中会出现,ios端没有这个问题经过对比发现,anroid的webView在重定向加载过程中Header少一个字段Referer解决方式如下这样可以解决大部分网站的重定向引起的重定向问题...原创 2021-12-29 15:15:17 · 2350 阅读 · 0 评论 -
更新图片到相册的最简单实现方式
最近在查找更新图片到相册的时候发现的一种最简单的实现方式 MediaStore.Images.Media.insertImage(getContext().getContentResolver(),file.getAbsolutePath(),file.getName(),null); getContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFil原创 2021-11-24 17:48:28 · 352 阅读 · 0 评论 -
Android studio解决乱码问题
第一步第二步在这里添加一行代码-Dfile.encoding=UTF-8原创 2021-11-16 17:46:54 · 1486 阅读 · 0 评论 -
ffmpeg编译脚本
#!/bin/bashNDK_ROOT=/root/android-ndk-r23/toolchains/llvm/prebuilt# 以下路径需要修改成自己的NDK目录TOOLCHAIN=$NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64# 最低支持的android sdk版本API=21function build_android{# 打印echo "Compiling FFmpeg for $CPU"# 调用同级目录下的configur原创 2021-08-25 15:36:57 · 218 阅读 · 0 评论 -
Android中webView实现打开多窗口
在H5中调用window.open是无法打开新窗口的,需要在android中添加如下代码才能实现:webSetting.setJavaScriptEnabled(true);webSetting.setSupportMultipleWindows(true);webSetting.setJavaScriptCanOpenWindowsAutomatically(true);原创 2020-11-30 17:43:35 · 3602 阅读 · 0 评论 -
Android Studio常用功能
android studio历史版本下载下载地址原创 2020-11-16 11:31:29 · 241 阅读 · 0 评论 -
Android去掉TabLayout的按下时的背景
最近遇到一个问题,需要去掉TabLayout按下时的背景状态,找了不少文章只是设置 app:tabBackground="@android:color/transparent"实测这样是无法去掉按下状态的,需要添加tabIndicatorColor状态的设置,代码如下 app:tabBackground="@android:color/transparent" app:tabIndicatorColor="@android:colo原创 2020-11-13 14:15:23 · 1249 阅读 · 0 评论 -
Android 10最新获取oaid的方法及sdk
Android 10以上已经无法获取imei了,这个时候就需要用oaid来替代oaid的作用获取oaid需要去移动安全联盟下载相关sdk然后在Application里面添加如下代码 try { JLibrary.InitEntry(this); MiitHelper helper = new MiitHelper(ids -> { Logger.d("ZxApplicat原创 2021-02-01 16:08:36 · 16153 阅读 · 8 评论 -
Android通知栏打开状态的多版本适配
部分Andorid手机上通知开启状态是默认关闭的,那么就会造成这部分手机收不到发送的通知,推送的到达率不高的情况。要解决这个问题也不难,首先要判断手机通知栏的开关是否开启,这个在android.support.v4.app包里面提供了NotificationManagerCompat这个类来处理这种情况 NotificationManagerCompat manager = Notificat...原创 2019-10-24 19:27:48 · 431 阅读 · 0 评论 -
Android8.0以上版本通知栏适配
在Android8.0以上版本通知栏有很多改进,如果你的项目targetSdkVersion是26以上则需要进行适配上面的图是一加5系统Android9.0的截图,上面可以看到咸鱼和淘宝的icon是一个小黑块,这是由于Notification的smallIcon需要是一个纯灰色透明背景边距1px的图片,如果用的是umeng的话则修改umeng_push_notification_default_...原创 2019-10-14 18:05:53 · 425 阅读 · 0 评论 -
再按一次退出程序
在android程序应用中经常会遇到点击返回键时提示再按一次退出程序。要实现这个功能需要完成两点:一、能够彻底退出程序·之前看到有人用 finish();,其实这样做并不能真的退出程序,这样只是结束当前的Activity,一个程序中是可以有多个Activity的,在android可以彻底关闭进程的方法有好几种。第一种: // 获取当前进程的id int p原创 2014-05-16 21:11:56 · 1654 阅读 · 0 评论 -
代码重构经验总结
终于有空闲时间来重构代码了,下面来记录一下重构过程中总结的一些经验 一下代码是是通过Android Studio自带的代码分析功能监测的,使用方法:选中项目右键——》Analyze——》Inspect Code_ android:singleLine=”true”过时 解决方法:使用android:maxLines=”1”代替 在给TextView赋值时非Stringl类型的值原创 2016-11-03 15:42:47 · 2210 阅读 · 0 评论 -
face++实现人脸识别
最近做了一个使用face++实现人脸识别的功能,当初看着官方文档一点头绪都没有,看了好久才弄明白,所以在这里记录一下,希望可以帮到需要的人,首先要注册一个face++账号,获取apiKey和apiSecret接下来是实现这个功能的代码,核心代码如下: //获取第一张图片的信息 byte[] array1 = imageProcessing(firstPath); J原创 2014-05-08 20:25:07 · 10547 阅读 · 20 评论 -
Android图片查看器(图片可移动、缩放、旋转)
要实现图片在手指点击滑动后原创 2014-05-13 22:32:40 · 3214 阅读 · 0 评论 -
Android存储路径最全总结
Logger.i("1、" + Environment.getRootDirectory() + ";2、" + Environment.getDataDirectory() + ";3、" + Environment.getDownloadCacheDirectory()原创 2016-09-23 17:22:10 · 2069 阅读 · 0 评论 -
通过打开html启动app并传递参数
经常可以看到有些app可以通过网页打开,这是通过DeepLink来实现的 实现方式:在Activity中设置解析自定义协议原创 2017-08-22 20:16:57 · 6148 阅读 · 1 评论 -
Android中几个实用的Utils小工具
1、获取application中指定key的meta-data值 public static String getApplicationMetadata(Context context,String metaDataKey) { ApplicationInfo info = null; try { PackageManager pm =原创 2015-05-05 18:22:59 · 1687 阅读 · 0 评论 -
Android 开发小技巧
Android特性篇查看各个版本的Android特性可查看Android官网的国内站点工具篇类中实现Serializable自动生成serialVersionUIDSetting->Editor->Inspections->Java->Serialization issues -> Serializable class without ‘serialVersionU原创 2015-11-06 14:37:44 · 550 阅读 · 0 评论 -
java.util.ConcurrentModificationException
解决方案 该异常表示迭代器迭代过程中,迭代的对象发生了改变,如数据项增加或删除。 [解决方案]:由于迭代对象不是线程安全,在迭代的过程中,会检查modCount是否和初始modCount即expectedModCount一致,如果不一致,则认为数据有变化,迭代终止并抛出异常。常出现的场景是,两个线程同时对集合进行操作,线程1对集合进行遍历,而线程2对集合进行增加、删除操作,此时将会发生Conc...原创 2018-08-09 10:31:16 · 219 阅读 · 0 评论 -
Android中TabLayout修改item的间距
在Android的TabLayout中item的间距是默认的,之前找了很多方法都没有找到调整的方法,如果要修改则可以给TabLayout添加以下两个属性app:tabMaxWidth=""app:tabMinWidth="添加完这两个属性后item之间默认的间距就会消失,这个时候就可以自己给item设置间距了,还是在TabLayout中添加以下属性app:tabPaddingStart=...原创 2018-11-29 09:49:13 · 11915 阅读 · 0 评论 -
Android原生webview打开支付宝
最近解决一个问题,后台返回客户单的是一个支付宝的链接,需要客户端这边来打开,返回地址为:https://openapi.alipay.com/gateway.do?app_id=***使用webview加载后会重定向到https://mclient.alipay.com/cashier/mobilepay.htm?alipay_exterface_invoke_assign_target=...原创 2019-07-30 17:30:32 · 44591 阅读 · 1 评论 -
WebView的常见优化手段
优化加载速度这个一般是开启setting的缓存,第一次加载会慢一点,下次再进入会快很多 webSetting.setAppCacheEnabled(true); webSetting.setDatabaseEnabled(true); webSetting.setDomStorageEnabled(true); webSetti...原创 2019-09-06 18:49:38 · 400 阅读 · 0 评论 -
Android多渠道打包方案的实践与优化
目前使用过的多渠道打包方式有两种 ,一种是通过gradle打包,还有一种是美团的多渠道打包方案原创 2017-01-05 16:29:52 · 1922 阅读 · 0 评论 -
Android 拍摄视频
最近公司产品要添加一个拍摄小视频的功能,在开发Camera的时候发现有好多坑,而网上的找的内容又不能完全解决问题,所以还是得靠自己。 首先要来分析一下需求 可以切换摄像头并且 * 先来看一下要实现的接口public interface RecordInterface { void initView(); void openCamera(); void原创 2016-10-28 17:42:17 · 1381 阅读 · 0 评论 -
自定义实现RatingBar
RatingBar是Android中常用的一个组件,但是发现一个问题就是不同系统版本的RatingBar表现的不太一样前面的是在Android 2.3版本的表现形式,后面的是在Android 4.0以上版本的表现形式,但是在我们常见的app中一般都要求体验风格要统一,这就要求我们自定义来实现RatingBar的图片首先要找到要用的图片,其实我们常见的Android图标在sdk中就可以找原创 2014-08-29 11:35:59 · 1260 阅读 · 0 评论 -
ScrollView里嵌套ListView的冲突问题
这是最近遇到的一个问题,要在详情页面添加别人评论的,详情页面本身有很多信息,不能再一屏展示完所以用了ScrollView,由于评论有很多条所以这时候自然就用到ListView来展示,但是遇到了问题那就是ScrollView里的ListView只能显示一个条目。试过好几个方法来解决这个问题,最终找到了最简单的。自定义实现ListView.public class ListviewNoScroll原创 2014-08-25 16:48:20 · 1168 阅读 · 0 评论 -
Android中解析Json数据
在开发中经常会遇到解析json的问题原创 2014-06-10 00:02:24 · 1576 阅读 · 2 评论 -
通过编码和xml文件两种方式实现tween动画
tween有四种动画效果:alpha(透明)、rotate(旋转), translate(移动),scale(缩放);可以通过编码和xml文件这两种方式来实现。xml实现:第一步:在项目的res文件下面新建一个文件夹名字是anim(必须)第二步:在anim文件夹下面新建新的xml文件,在xml文件中具体设置动画效果第三步:在Activity中使用 AnimationUtils.原创 2014-05-14 22:26:03 · 1240 阅读 · 0 评论 -
android中切换卡的实现以及自定义标签页
之前一直想做一款应用中可以用到类似在横向导航栏切换的功能,今天碰巧看到了,所以就在这里记录一下。首先是xml布局文件:<TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_原创 2014-02-24 22:10:10 · 2386 阅读 · 0 评论 -
activity切换动画和页面切换动画
要实现Activity切换动画需要靠overridePendingTransition来实现,里面有两个原创 2014-05-15 19:36:26 · 1224 阅读 · 2 评论 -
保存登陆用户名和密码
在一些软件中登陆时保存用户名和密码是常见的功能,它实现起来也特别简单,其原理就是在点击登陆按钮时判断是否勾选保存密码选项,如果勾选,则在内存中保存一份包含用户名和密码的文件文件,在下次再打开登陆界面时会获取文件中的信息。登陆界面:在onclick中判断如果勾选了记住密码: if (cb_remeber_password.isChecked()) { boolean re原创 2014-05-10 11:13:58 · 4090 阅读 · 0 评论 -
Android中的SQLite数据库
SQLite是一种轻量级的关系型数据库,它体积小,零配置,可以直接运行在应用程序的进程中,非常适合嵌入式的操作系统。首先要创建一个SQLite数据库通过类来实现SQLiteHelper这个抽象类,public class PersonSqliteHelper extends SQLiteOpenHelper { public PersonSqliteHelper(Context c原创 2014-04-03 14:25:12 · 1439 阅读 · 0 评论 -
Android中的数据适配器
数据适配器是Android中比较重用的功能,最常用的是ArrayAdapter和SimpleAdapter。先来看一下ArrayAdapter的简单实现ManActivity中的代码:public class MainActivity extends Activity { private ListView lv; private String[] names={"功能1","功能2原创 2014-03-27 20:47:32 · 2167 阅读 · 0 评论