动态

动态权限RxPermissions

匿名 (未验证) 提交于 2019-12-03 00:22:01
https://github.com/tbruyelle/RxPermissions 使用: new RxPermissions(this) .request(Manifest.permission.READ_EXTERNAL_STORAGE , Manifest.permission.WRITE_EXTERNAL_STORAGE) .subscribe( ... ); 在Manifest中添加权限 需要添加RxJava依赖 文章来源: 动态权限RxPermissions

静态链接 动态链接

匿名 (未验证) 提交于 2019-12-03 00:22:01
我们可以创建一种文件里面包含了很多函数和变量的目标代码,链接的时候只要把这个文件指示给链接程序就自动地从文件中查找符合要求的函数和变量进行链接,整个查找过程根本不需要我们操心。 这个文件叫做 “ 库(Libary) ”,平时我们把编译好的目标代码存储到“库”里面,要用的时候链接程序帮我们从库里面找出来。 静态链接库: 在早期库的组织形式相对简单,里面的目标代码只能够进行静态链接,所以我们称为“静态库” , 静态库的结构比较简单,其实就是把原来的目标代码放在一起,链接程序根据每一份目标代码的符号表查找相应的符号(函数和变量的名字),找到的话就把该函数里面需要定位的进行定位,然后将整块函数代码放进可执行文件里,若是找不到需要的函数就报错退出 。 静态库的两个特点: #1链接后产生的可执行文件包含了所有需要调用的函数的代码,因此占用磁盘空间较大。 #2如果有多个(调用相同库函数的)进程在内存中同时运行,内存中就存有多份相同的库函数代码,因此占用内存空间较多。 动态链接库: 动态链接库就是为了解决这些问题而诞生的技术,顾名思义, 动态链接的意思就是在程序装载内存的时候才真正的把库函数代码链接进行确定它们的地址,并且就算有几个程序同时运行,内存也只存在一份函数代码。   动态库的代码必须满足这样一种条件:能够被加载到不同进程的不同地址,所以代码要经过特别的编译处理

Android6.0动态权限shouldShowRequestPermissionRationale的含义

匿名 (未验证) 提交于 2019-12-03 00:22:01
一个老生常谈的问题,关于Android6.0及以后版本对动态权限的处理方法。这里主要说说在处理动态权限时一个重要的方法ActivityCompat.shouldShowRequestPermissionRationale(context, permission),相信大部分人都不陌生,但他具体什么意思可能有部分人又很模糊,今天用示例演示下这个方法的含义。 APP调用一个需要权限的函数时,如果用户拒绝某授权,下一次弹框时将会有一个“禁止后不再询问”的选项,来防止APP以后继续请求授权。如果这个选项在拒绝授权前被用户勾选了,下次为这个权限请求requestPermissions时,对话框就不弹出来了,结果就是app啥都不干。遇到这种情况需要在请求requestPermissions前,检查是否需要展示请求权限的提示,这时候用的就是ActivityCompat.shouldShowRequestPermissionRationale方法。 下面就分场景说明对该方法进行说明 1、第一次请求权限时ActivityCompat.shouldShowRequestPermissionRationale=false; 2、第一次请求权限被禁止,但未选择【不再提醒】ActivityCompat.shouldShowRequestPermissionRationale=true; 3

动态添加下拉框数据

匿名 (未验证) 提交于 2019-12-03 00:22:01
注意 :使用的是jquery的东西,需要引入jquery的js //方式1 function addData1(){ } //方式2 function addData2(){ } 方式2如果有多个option,可以创建多个option对象,并插入到下拉选中 注意 :每次添加之前一定要清空下拉选中的数据 $("#resType").empty(); 文章来源: 动态添加下拉框数据

spring中动态的注入bean

匿名 (未验证) 提交于 2019-12-03 00:22:01
1、spring中支持spel方式注入,这个是最简单的注入方法,可以直接利用#{beanName.beanMethod()}引用bean中方法,实现动态的注入。 2、利用MethodInvokingFactoryBean,可以直接注入bean中方法。 文章来源: spring中动态的注入bean

Ubuntu 配置静态IP和动态IP

匿名 (未验证) 提交于 2019-12-03 00:21:02
Ubuntu 配置静态IP和动态IP /etc/network/interfaces 静态IP: auto lo iface lo inet loopback auto ens33 address 192.168.1.141 netmask 255.255.255.0 gateway 192.168.1.1 动态IP: auto lo iface lo inet loopback auto ens33 address 192.168.1.141 netmask 255.255.255.0 gateway 192.168.1.1 保存退出 重启网卡 sudo ifdown ens33 sudo ifup ens33 文章来源: Ubuntu 配置静态IP和动态IP

bootstrap-select 插件ajax动态添加选项

匿名 (未验证) 提交于 2019-12-03 00:20:01
function getExam() { var selectNianji = document.getElementById("nianji").value; var selectXueqi = document.getElementById("xueqi").value; if(selectNianji == "选择年级" || selectNianji == null) { alert("请选择年级"); } if(selectXueqi == "选择学期" || selectXueqi == null) { alert("请选择学期"); } var xmlHttp = null; try { xmlHttp = new XMLHttpRequest(); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { alert("您的浏览器不支持该操作,推荐您使用最新的谷歌浏览器!"); return; } } var url = "http://<%=request.getServerName()%>:<%=request.getLocalPort()%><%=this.getServletContext().getContextPath()%>

动态注册和静态注册

匿名 (未验证) 提交于 2019-12-03 00:20:01
1、四大组件只有广播接收者可以不在清单文件中注册 2、静态注册:在清单文件中通过声明一个receiver节点指定intent-filter,这种方式就是静态注册 3、动态注册:registerReceiver(receiver, filter); 4、注销的方法:unregisterReceiver(receiver); 向我们之前在清单文件注册的都是静态注册 列如:有序无序的发送广播 有的广播需要经常触发 ,不宜使用静态注册 列如: 屏幕的点亮关闭 我们如果静态注册 需要调用onRecevice方法 导致内存不足,卡顿,所以我们要动态注册 ・・・ public class MainActivity extends Activity { private ScreenLight receiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //广播接收者对象 receiver = new ScreenLight(); //意图过滤器对象 IntentFilter filter = new IntentFilter(); //给意图过滤器添加action