- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 Android AgentWeb webview onkey返回两次的问题
onkey这个方法里如果不加event.getAction() == KeyEvent.ACTION_DOWN,则会执行两次,导致返回两次 webView = mAgentWeb.getWebCreator().getWebView(); webView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCod
2020-12-30 17:26:43 859
原创 Android基于Okhttp 3.5对Okhttp源码解析一
为什么不用最新版本 4.9呢?因为kotlin版本的不太好看。基于Okhttp 3.5版本解析Exec Code:同步:OkHttpClient client = new OkHttpClient();Request request = new Request.Builder().build();Call call = client.newCall(request);call.execute();异步:enquene code:OkhttpClient client = new Ok
2020-12-30 10:54:39 437
原创 Android WebView和AgentWebview不刷新页面不闪屏隐藏头部或者某个标签
现在全局搜索需要加入这个功能,然而返回的地址却是带有头部百度和搜索框的,这些本来是可以通过tradeid进行客制化去掉,但是百度没抽出人来做,所以需要自己处理。如果我们在webview中的WebViewClient里的OnPageFinished方法中做的话会出现闪屏,而且调用时机也可能会延迟,造成打开页面后隔了几秒才隐藏网页头部,显然不是我们要的效果,而OnPageStarted方法调用隐藏也没用。后面找到WebChromeClient的onProgressChanged进行处理setWebChrom
2020-12-29 17:58:04 691
原创 Greendao的根据某个字段(非主键)插入去重以及根据某个字段删除对应的行条目
目前资料上greendao的删除基本都是根据主键删除的,如果我想通过里面一个字段比如name进行删除呢?下面是我对于全局搜索apk的一个greendao的小结。1.删除某个字段的整条数据简单封装下Greendao:GreendaoUtil.javapublic class GreendaoUtil { private volatile static GreendaoUtil ourInstance; private static String name = "search_his
2020-12-25 19:55:53 1347 3
原创 EditText中imeOptions属性使用及设置无效解决
最近在做重做全局搜索相关的apk,包含本地的设置选项和百度的相关搜索,下面是软键盘相关。虽然通常输入法软键盘右下角会是回车按键但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往”而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”而决定这个图标的变换的参数就是EditText中的 android:imeOptionsandroid:imeOptions的值有actionGo、 actionSe
2020-12-24 11:40:28 707
转载 Android性能调优之Copyonwrite
写入时复制(CopyOnWrite)思想 写入时复制(CopyOnWrite,简称COW)思想是计算机程序设计领域中的一种优化策略。其核心思想是,如果有多个调用者(Callers)同时要求相同的资源(如内存或者是磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者视图修改资源内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这过程对其他的调用者都是透明的(transparently)。此做法主要的优点是如果调用者
2020-12-21 10:49:51 245
原创 Android注解元注解详解之带你生成简易版Butterknife
首先什么是注解?@Override就是注解,它的作用是:1、检查是否正确的重写了父类中的方法。2、标明代码,这是一个重写的方法。1、体现在于:检查子类重写的方法名与参数类型是否正确;检查方法private/final/static等不能被重写。实际上@Override对于应用程序并没有实际影响,从它的源码中可以出来。2、主要是表现出代码的可读性。Override作为Android开发中熟知的注解,Override只是注解的一种体现,更多时候,注解还有以下作用:降低项目的耦合度。自动完成一些规
2020-12-14 16:24:35 162
原创 JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
关于获取类的字段有两种方式:getFields()和getDeclaredFields()。我们先来看看这两者的区别吧:getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDeclared
2020-12-14 16:07:34 224
原创 Android R版本 MtkSettings和Telephony进程通信aidl
需要获取simunlockstate状态,而这个不由我们这边控制,在免于提Mtk case的情况下,通过Telephony获取这个值,telephony是个服务apk,不能通过android.bp引入,考虑到这个原因,我觉得通过aidl以telephony为服务器端,MtkSettings为客户端,进行跨进程通信。下面说下步骤:1.在服务器端新建aidl目录和文件,这里通过AndroidStudio去生成(New -> Aidl ->AIDL File)。生成完后记得rebuild一下,但是我
2020-12-01 09:57:21 698
kotlin+rxjava轮询白名单申请.rar
2020-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人