安卓中对库等依赖的详解


        事实上,作为安卓开发者,我们在写代码时始终是有所依赖的,比如我们最熟悉的java源码,工具类,一些第三方的工具,jar包,还有一些类库等等。我们在创建每一个类之间都是有相关的关系的,也可以理解为依赖关系,因为有依赖关系,在一定的逻辑关系中才最终展示成UI,我们可以看到的东西。我们有所依赖是有很多好处的,这样我们可以不用自己写太多的代码就可以实现我们想要的功能,还节省了很多时间,何乐而不为呢。但是让我们困扰的是如何去依赖那些比较复杂的代码呢?不要着急,请听我慢慢道来,我个人认为这个库和jar包的依赖对初学者来学理解起来不太容易,总是听到要关联这个库引入这个jar包,顿时一头雾水。所以,我把这个做了一个总结,希望能帮助到需要的朋友们。

 一, 简单的依赖关系:

1,其实我们在写的一般代码都是依赖于源码的

A:直接依赖源码

比如说一个button的点击事件,大家再熟悉不过了吧,可是我们只是在用是不是没有深究过这种依赖关系呢,看到这篇博客你就恍然大悟了。再看一下源码:

(1)这个是在MainActivity中的java代码

<span style="font-size:18px;">bt.setOnClickListener(new OnClickListener() {		
			@Override
			public void onClick(View v) {
			Log.e("MainActivity", "onclick");			
			}
		});</span>
(2)这个是点击事件的源码

<span style="font-size:18px;"> public void setOnClickListener(OnClickListener l) {
        if (!isClickable()) {
            setClickable(true);
//设置为可点击,所以按钮可以被点击
 }
        getListenerInfo().mOnClickListener = l;
//返回1表明这个回调将会运行,也就是可以点击
 }
</span>

由此可见,是不是一目了然呢,我们设置的点击事件有了对源码的依赖就可以被点击了!

B:还有一种就是如果你想依赖一个类的源码只是想要改变它的一个方法,可以把这个类的源码抽取出来在项目工程包下创建一个类,把那个方法改变一下也可以作为一种依赖

和工具类的作用和使用方法一样,再举一例:

ViewPager有一个与加载的功能,预加载就是当展示出来是第一页的时候,第二页就自动加载出来了,但是这样会影响用户的体验,且耗费流量,所以这里就需要对预加载的这个源码进行处理,处理方式也是很简单的

a,将预加载的源码在项目中创建成一个类,且把里面维护的DEFAULT_OFFSCREEN_PAGES参数默认为1改为0,如图所示:


b,应用:首先在布局中创建viewpager这个控件,可是这里不是直接利用系统的ImageView了,而是要拷贝新建类的全类名作为控件名

<span style="font-size:18px;"><com.saiermeng.view.MyViewPager
        android:id="@+id/layout_content"
        android:layout_width="match_parent"
        android:layout_height="0dip"
      android:layout_weight="1.0" /> </span>

然后再写逻辑

<span style="font-size:18px;">public class MyViewPager extends LazyViewPager {


	public MyViewPager(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	public MyViewPager(Context context) {
		super(context);
	}
	//向内部控件传递,false不拦截向内部传递,true拦截不向内部传递
	@Override
	public boolean onInterceptTouchEvent(MotionEvent ev) {
		return true;
	}

	//不响应事件
	@Override
	public boolean onTouchEvent(MotionEvent ev) {
		return false;
	}
	
}</span>

最后就达到了不让viewPager滑动的目的了。


2,有时候我们也会依赖一些工具类,可以是java中封装好的,也可以是我们自己封装的,现在大家对封装的好处是不是也有了更深的理解了呢

在此我就不具体举例子了,我想说的是工具类也是可以作为库被依赖的,在后面会具体介绍库被依赖的方法步骤


3,大家可能还不知道在一些文件下下奶瓶的真正含义吧,哈哈,其实变为i奶瓶也是形成一种依赖关系,也就是想用第三方别人已经写好的程序,所以必须要先依赖,下面介绍一下具体是如何变成奶瓶的:
(1)在你新建的项目工程中的libs文件夹拷贝入一些jar包

(2)选择拷入的jar包,点击右键——>Build  Path——>Add  to Build  Path然后就变成了奶瓶,这个奶瓶要在Android  Dependencies中看,如果成功就说明依赖成功。不过这个不怎么用


4,依赖库,(1)这个库可以是自己写的一个项目工程,右击选中项目——>Properties——>Android——>勾选Is Library前面的勾选框——》Apply——》Ok即可


这是这个项目就是一个可依赖的库了

(2)直接导入依赖的库和项目在同一个工作区间,这里的库可以从GitHub上下载。然后新建的项目关联这个库和上面的方法一样,不过不勾选那个库的勾选框,而是要点击右侧的Add,找到那个库名添加应用即可。这个是做i项目时经常需要用的。

注意:要想形成依赖关系,必须都保证在同一个工作区间内,切记切记!!!!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值