博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用JavaScript生成Android SDK的下载地址(4)——按“API Level”分类
阅读量:6416 次
发布时间:2019-06-23

本文共 2791 字,大约阅读时间需要 9 分钟。

  按“API Level”分类对于网页程序而言,可以理解为——将数据输出到不同的div。

  很多SDK是与 API Level 相关的,具有“sdk:api-level”属性,它是一个整数,值为2(Android 1.1)至14(Android 4.0)。我们可以用数组来管理——

var arrAPI = new Array();    // API Level数组。用于管理给出了API Level的。

 

 

  除了与 API Level 相关的SDK外,还有一些文件是与SDK无关的,它们没有“sdk:api-level”属性。怎么处理呢?按xml标签名进行分类似乎比较好。因标签名是一个字符串,应使用Object来管理集合——

var arrTag = new Object();    // tag集合。用于管理没有给出API Level的。

 

  然后在页面中添加两个div,决定数据所显示的位置——

 

  再编写一个getMyDiv函数,根据API Level和标签,返回所对应的div——

// 返回图层对象,根据API Level和tag function getMyDiv(sapilevel, stag) {
var div = null; var l = parseInt(sapilevel); if ( isNaN(l) || l<0 ) {
// 无API Level,根据tag div = arrTag[stag]; if (null==div) {
div = document.createElement("div"); div.className = "div_border"; var divTag = getRef("divTag"); divTag.appendChild(div); divTag.appendChild(document.createElement("br")); // 空一行 arrTag[stag] = div; } } else {
// 根据API Level div = arrAPI[l]; if (null==div) {
div = document.createElement("div"); div.className = "div_border"; var divAPI = getRef("divAPI"); divAPI.appendChild(div); divAPI.appendChild(document.createElement("br")); // 空一行 arrAPI[l] = div; } } return div; }

 

  showxml函数只需要做少许调整,改为在内循环中将数据输出到对应的div——

// 显示xml function showxml(urlPath, divdoc, xmlDoc) {
if (null==divdoc) return; if (null==xmlDoc) {
divdoc.innerHTML = "error!"; return; } // == main == //divdoc.innerHTML = xml_transformNode(xmlDoc, xsl); divdoc.innerHTML = "OK!"; // Parse //var sall = ""; // 所有内容 var nodes=xmlDoc.documentElement.childNodes; for(var i=0; i
\n"; // 档案 for(var i3=0; i3
\n"; // 文本模式 sall += "
" + surl + "
\n"; // 链接模式 } } } // 加入 var div = getMyDiv(sapilevel, stag); if (null!=div) {
div.innerHTML = div.innerHTML + sall; } } } } //divdoc.innerHTML = sall; }

  在调试时发现,因repository-5.xml文件较多,加载时间较长。而厂商的xml一般较小,加载时间短,会排在前面。而我们希望按“API Level”排序。最简单的解决方式是预先执行getMyDiv——

// 初始化 function init() {
// 预先执行getMyDiv,使API Level排序正确 for(var i=2; i<=14; i++) getMyDiv(i, ""); // Load main doload("http://dl.google.com/android/repository/repository-5.xml", "main"); // Load addons_list xml_loadFile("http://dl.google.com/android/repository/addons_list-1.xml", onload_addons); }

 

  全部代码为——

   Anroid SDK URL 4      

Anroid SDK URL(安卓SDK地址)

addons_list-1.xml: loading...

 

 

  运行效果为——

[sdkurl4.png]

 

  完美完成!

 

(全文完)

 

源码下载——

转载地址:http://jbpra.baihongyu.com/

你可能感兴趣的文章
lvm实现快速备份文件及数据库,lvm快照原理
查看>>
设计模式之Factory Method(工厂方法)
查看>>
10K入职linux运维岗位小伙伴感谢信及面试经历分享
查看>>
zookeeper入门之Curator的使用之几种监听器的使用
查看>>
[转]Reporting Service部署之访问权限
查看>>
innerxml and outerxml
查看>>
validform校验框架不显示错误提示
查看>>
flink 获取上传的Jar源码
查看>>
Spring Data JPA Batch Insertion
查看>>
UEditor自动调节宽度
查看>>
JAVA做验证码图片(转自CSDN)
查看>>
Delphi TServerSocket,TClientSocket实现传送文件代码
查看>>
JS无聊之作
查看>>
Mac上搭建ELK
查看>>
443 Chapter7.Planning for High Availability in the Enterprise
查看>>
框架和语言的作用
查看>>
unidac连接ORACLE免装客户端驱动
查看>>
Cygwin + OpenSSH FOR Windows的安装配置
查看>>
咏南中间件支持手机客户端
查看>>
fastscript增加三方控件之二
查看>>