169it科技资讯


当前位置:  编程技术>综合
本页文章导读:
    ▪android Content Provider详解九      <provider>元素就像Activity和Service组件,ContentProvider的子类必须在应用的manifest文件中进行定义。使用<provider>元素。Android系统从元素中获取以下信息:Authority(android:authorities)在系统中标.........
    ▪简单的图片无缝滚动效果            经常在做网页中遇到需要展示一组或几组图片的情况,于是图片的无缝滚动效果成为比较常见的效果之一。往往我们时间有限,所以常求助于jQuery的图片滚动插件。 前段时间,我觉得.........
    ▪required artifact is missing.      配置仓库组后,下载报错: 1 required artifact is missing. for artifact:    org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.4.1 from the specified remote repositories:   Nexus (http://172.16.60.71:8181/nexus/c.........

[1]android Content Provider详解九
    来源: 互联网  发布时间: 2013-11-19
<provider>元素

就像Activity和Service组件,ContentProvider的子类必须在应用的manifest文件中进行定义。使用<provider>元素。Android系统从元素中获取以下信息:

Authority(android:authorities)在系统中标志整个provider的代号。此属性在设计ContentURI 一节中有更详细的描述。Provider类名(android:name)实现了ContentProvider的类。此类在实现ContentProvider类一节中有更多描述。权限此属性指定了其它应用想要操作provider的数据所需的权限:
  • android:grantUriPermssions:临时权限标记。
  • android:permission:指定整个provider的read/write权限。
  • android:readPermission:指定整个Provider的读权限。

  •     
[2]简单的图片无缝滚动效果
    来源:    发布时间: 2013-11-19

      经常在做网页中遇到需要展示一组或几组图片的情况,于是图片的无缝滚动效果成为比较常见的效果之一。往往我们时间有限,所以常求助于jQuery的图片滚动插件。

前段时间,我觉得仅仅需要一个这样的特效而把整个jQuery库引入项目中实在太耗费性能,于是自己动手做了一个,下面是简陋的雏形:

                     
原理比较简单,就是在页面初始化时将首尾的图片各复制一个分别放至结尾和开头,如下图所示:



1、2、3代表3组滚动的图片,1号结点为起始位置,当点击右按钮时,图片从1号结点向右滚动,直到clone3结点,结束后立即将位置从clone3定位到3号结点;再点击向右按钮时,就从3号结点滚动到2号结点,

这样看起来就实现了无缝滚动,点击左按钮与点击右按钮的原理相同。



函数中主要包含两个方法:

  init方法——该方法做一些初始化操作,比如记录每组图片当前的位置,一共几组图片,克隆首尾结点等;

  animate方法——该方法执行点击了左或右按钮后的动画效果



以下是init方法的一些代码:

1        init:function(params) {
2                 params = params || {};
3                 //获取外层容器对象
4                 this.target = params.id || $('b');
5                 //是否自动滚动
6                 this.autoScroll = params.autoScroll || false;
7                 //用于保存间歇函数
8                 this.t = null;
9                 //将容器的属性保存至局部变量
10                 var p = this.target.getBoundingClientRect();
11                 //计算容器的宽度,IE没有width属性,故用后者代替
12                 this.width = p.width || p.right - p.left;
13                 //获取内层容器
14                 this.box = getElementsByClass('c')[0];
15                 //定义一个数组用于保存内层容器内的子节点,即共有几组滚动图片
16                 var nodeArr = [];
17                 for(var i = 0,len = this.box.childNodes.length; i < len; i++) {
18                     /*
19                      *由于可能取到的结点可能为文本,必须排除文本节点
20                      *元素节点类型取值(nodeType)
21                      *元素element    1
22                      *属性attr    2
23                      *文本text    3
24                      *注释comments    8
25                      *文档document    9
26                      */
27                     if(this.box.childNodes[i].nodeType == 1) {
28                         //将符合的节点推入数组
29                         nodeArr.push(this.box.childNodes[i]);
30                     }
31                 }
32                 //将需要滚动图片的数量保存到一个变量
33                 this.num = nodeArr.length;
34                 //克隆首尾的节点
35                 var first = nodeArr[0],
36                     last = nodeArr[nodeArr.length - 1],
37                     firstClone = first.cloneNode(true),
38                     lastClone = last.cloneNode(true);
39                 //将克隆的节点新增clone样式作为标识
40                 firstClone.className = lastClone.className = 'd clone';
41                 //分别将末节点和首节点的克隆添加到第一位和最后一位
42                 this.box.insertBefore(lastClone,first);
43                 this.box.appendChild(firstClone);
44
45                 //获取左按钮和右按钮
46                 this.parent = this.target.parentNode;
47                 var prev = getElementsByClass('prev',this.parent,'a')[0],
48                     next = getElementsByClass('next',this.parent,'a')[0];
49
50                 //初始化位置
51                 var w = this.width;//保存每组滚动图片(一组四张图片)的宽度
52                 /*将开始位置设置为第一组滚动图片,在第一组滚动图片前有一个clone节点,left值为0
53                 故第一组的滚动图片的位置为-this.width*/
54                 this.box.style.left = -this.width + 'px';
55
56                 //设置缓动函数的相关变量
57                 this.b = -w;            //由于是从第一组图片开始的,所以初始位置为一组图片的宽度,方向为负(左为正方向)
58                 this.c = -w;            //位移,即滚动一次经过的路程,方向为负(左为正方向),值和每组图片的宽度相等
59                 this.d = 50;            //缓动的总时间
60                 this.t = 0;             //当前经过的时间
61
62                 //定义一个数组,用来保存每组图片的位置
63                 this.initPos = [];
64                 //每一组滚动图片对应一个索引,初始化时将索引至为1
65                 this.index = 1;
66                 //加上克隆的节点,一共有this.num + 2个节点
67                 for(var j = 0,num = 0,l = this.num+2; j < l; j++) {
68                     this.initPos.push(-w * num++);
69                 }
70
71                 //console.log(this.initPos);    //[0,-600,-1200,-1800,-2400]
72
73                 //设置布尔值,判断动画是否完成
74                 this.prevAllow = true;
75                 this.nextAllow = true;
76                 var self = this;
77                 //添加左右按钮单击事件
78                 addEvent(prev,'click',self.animate.bind(self,'left'));
79                 addEvent(next,'click',self.animate.bind(self,'right'));
80
81                 //如果开启自动滚动则每三秒滚动一次
82                 this.autoScroll && (this.t = setInterval(function() {
83                     self.animate('left');
84                 },3000));        },在该方法的最后注册了左右按钮的点击事件,调用的是animate方法:

1        /*
2              * 点击左右按钮时执行的操作
3              * @param {string} left || right 传入的参数表示点击了哪边的按钮
4              */
5             animate:function(button) {
6                 var self = this,
7                     //获取滚动容器
8                     box = this.box,
9                     boxStyle = box.style;
10
11                 switch(button) {
12                     case 'left':
13                         if(this.prevAllow) {
14                             //防止在动画完成前连续点击按钮进行多次操作
15                             this.prevAllow = false;
16                             //将初始位置设置为当前的索引值
17                             this.b = this.initPos[this.index];
18                             //每点一次左按钮,索引加1,若超过索引最大值则返回0,表示滚动到头需要重新从第一组开始
19                             this.index = (this.index > this.initPos.length - 1) ? 0 : this.index + 1;
20                             //设置需要的位移,方向向左,负值
21                             this.c = this.initPos[1];
22                             //每点一次需要将当前时间重置为0以免受到上一次计时的影响
23                             this.t = 0;
24                             (function() {
25                                 //使用缓动函数计算位移,直至动画完成
26       

    
[3]required artifact is missing.
    来源: 互联网  发布时间: 2013-11-19

配置仓库组后,下载报错:

1 required artifact is missing.

for artifact: 
  org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.4.1

from the specified remote repositories:
  Nexus (http://172.16.60.71:8181/nexus/content/groups/public , releases=true, snapshots=false)

原因:主要原因是配置nexus里面的 Public Repositories 顺序和条件出错,导致不能下载构件。

解决方法:下边这个图中是正确的配置顺序



讲解:左边(Ordered Group Repositories)的是正在使用的定义好的仓库组,右边(Available Repositories)是可选的。下载构件的顺序是先在本地releases找,如果没有再在snapshots里找,再3rd party,最后是本地机子都没有构件就到远程(外网)提供的网站下载构件。以此类推


作者:frank0417 发表于2013-1-14 8:47:00 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号