判断应用是否有某个权限

1
2
PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED == pm.checkPermission("android.permission.RECORD_AUIO","packageName"));// permission用于判断是否有该权限

获取某个应用的权限清单

1
2
PackageInfo pack = pm.getPackageInfo("packageName",PackageManager.GET_PERMISSIONS);
String[] permissionStrings = pack.requestedPermissions; // 获取到应用权限的字符串数组

@

  • 引入自定义资源,格式为@[package:]type/name
    最常见的资源引用

    1
    android:text="@string/hello"
  • 引入系统资源,格式为@android:type/name

    1
    android:textColor="@android:color/opaque_red"

@*

引用系统非public资源@*android:type/name

系统资源纷纷public和非public,生命在\platforms\android-8\data\res\values\public.xml

相比@android:type/name@*android:type/name能够使用所有Android系统资源,不过Google官方不推介使用

?

?[namespace:]type/name这种方式用于引用当前主题中的属性值,这个属性值只能在style资源和XML属性中使用

1
android:textColor="?android:textDisabledColor"

@+

@+type/name+表示在type中添加一条记录通常用于定义资源id

1
android:id="@+id/select"

遍历DOM

祖先

通过jQuery能够向上遍历DOM数,以查找元素的祖先

  • parent() 返回所选元素的直接父类
  • parents() 返回所选元素的所有祖先元素,知道根元素()
  • parentsUntil() 返回介于两个元素之间的所有祖先元素
    1
    2
    3
    $(function(){
    $("span").prantsUntil("div");
    })

后代

jQuery能够向下遍历DOM树

  • children() 返回被选元素的所有子元素
  • find() 返回被选元素的后代元素,一路向下指导最后一个后代

    同胞

    jQuery能够在DOM中遍历元素的同胞元素
  • siblings() 返回被选元素的所有同胞元素
  • next() 返回被选元素的下一个同胞元素
  • nextAll() 返回被选元素的所有跟随的同胞元素
  • nextUntil() 返回介于两个给定参数之间的所有跟随的同胞元素
  • prev() 与next方向相反
  • prevAll() 与nextAll方向相反
  • prevUntil() 与nextUntil方向相反

jQuery Ajax

AJAX = Asynchronous JavaScript and XML
简单的说在不重载整个页面的情况下,AJAX通过后台加载数据,并在网页上进行显示

AJAX load

load()方法能够从服务器加载数据,并把返回的数据放入元素元素中

1
$(selector).load(URL,data,callback);

必选参数URL为希望加载的URL,可选的data参数规定了请求一同发送的查询字符串的键/值对集合,可选的callback是load方法完成后所执行的函数
回调函数有不同的参数

  • responseTxt 结果内容
  • statusTxt 调用的状态
  • xhr XMLHttpRequest对象
    1
    2
    3
    4
    5
    6
    7
    8
    $("button").click(function(){
    $("# div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){
    if(statusTxt=="success")
    alert("External content loaded successfully!");
    if(statusTxt=="error")
    alert("Error: "+xhr.status+": "+xhr.statusText);
    });
    });

jQuery DOM操作

DOM = Document Object Model(文档对象模型)
jQuery提供了一系列与DOM相关的方法,这使访问和操作元素和属性变得容易

获取HTML元素

获得内容

  • text() 设置或返回所选元素的文本内容
  • html() 设置或返回所选元素的内容(包括HTML标记)
  • val() 设置或返回表单字段的值
    以上的三个都拥有回调函数,由两个参数:被选元素列表中当前元素的下标以及原始值

获取属性

  • attr() 获取属性值
    设置属性
    1
    2
    3
    $("button").click(function(){
    $("# w3s").attr("href","http://www.baidu.com/");
    });

同事设置多个属性

1
2
3
4
5
6
$("button").click(function(){
$("# w3s").attr({
"href":"http://www.sina.com.cn",
"title":"Sina"
})
})

attr()也通过回调函数,包含两个参数:被选元素列表中当前元素的下标,以及原始值

1
2
3
4
5
$("button").click(function(){
$("# w3s").attr("href",function(i,origValue){
return origValue + "/jquery";
});
})

添加元素

  • append() 在被选元素的结尾插入内容
  • prepend() 在被选元素的开头插入内容
  • after() 在被选元素之后插入内容
  • before() 在被选元素之前插入内容
    1
    $("p").addend("Some appended text.")

删除元素

  • remove() 删除被选元素(以及子元素)
  • empty() 从被选元素中删除子元素
    remove()方法可以接受一个参数,允许对删除元素进行过滤
    1
    $("p").remove(".italic");	// 删除class="italic"的所有<p>元素

获取并设置CSS类

操作CSS

  • addClass() 向所选元素添加一个或多个类
  • removeClass() 从被选元素删除一个或多个类
  • toggleClass() 对被选元素进行添加/删除类的切换操作
  • css() 设置或返回样式属性
1
2
3
4
5
6
7
$("button").click(function(){
$("h1,h2,p").addClass("blue");
$("div").addClass("important");
// $("div").addClass("important blue"); 添加多个类
$("div").removeClass("blue");
$("div").toggleClass();
})

css()方法

css("propertyname")

1
2
3
$("p").css("background-color");
$("p").css("background-color","yellow"); //设置属性
$("p").css({"background-color":"yellow","font-size":"200%"}); // 同时设置多个属性

尺寸

  • width() 设置或返回元素的宽度(不包含内边距,边框或外框)
  • height() 设置或返回元素的高度(不包含内边距,边框或外框)
  • innerWidth() 设置或返回元素的宽度(包含内边距)
  • innerHeight() 设置或返回元素的高度(包含内边距)
  • outerWidth() 设置或返回元素的宽度(包含内边距和边框)
  • outerHeight() 设置或返回元素的高度(包含内边距和边框)