** **Android Studio学习之导入第三方开源库详解****
1.导入jar非常简单就是在项目中的 libs 中放入你需要导入的 jar 包,然后右键你的 jar 文件,选择“add as a library”即可在你的项目中使用这个 jar 包了。
2.我这次主要讲解的就是新手使用Android Studio导入第三方开源库的问题,网上有好多很优秀的第三方开源库,但是好多人不会导入Android Studio里面去使用。
下面我用我的经历来给大家讲解一下如何将第三方开源库导入自己的项目中去。例子中引用的是Github第三方侧边栏滑动库—SlidingMenu
地址:https://github.com/search?utf8=%E2%9C%93&q=SlidingMenu
1.在Github里下载第三方开源库SlidingMenu
点击下载包
下载好了解压出来挪到跟android项目同一个目录里面。打开文件夹SlidingMenu-master可以看到里面还有好多其他的文件夹,我们主要要用的就是library文件夹,其他的不用。art里面放的是样式,example里面放着侧边栏滑动的例子程序。
2.首先我们用Android Studio建立一个android项目,然后复制library到我们的项目里面去
3.将library文件夹复制进去后,然后再打开我们项目里面的settings.gradle 在里面写
include ':app',':library'
然后在我们项目里的app文件夹下的build.gradle里面加上compile project(':library')
这样我们就将第三方开源库添加到我们的项目里面来了。我们可以在Project Structure查看到我们添加进来的第三方库
4.添加进去后我们会发现会报错
我们改如何解决这个错误呢?提示说我缺少Build Tools revision 17.0.0 但是我的电脑已经装了Build Tools revision 23.0.1了,照理来说高版本兼容于低版本。
这时候我们需要修改一下library里面的build.gradle,改成和我建立的项目一样的,
改完之后再Try Again一下,但是还是提示同样的错误,那就说明还要改SDK版本,别人第三方开源库使用的SDK版本跟我的不一样。
我们修改library文件夹下的build.gradle使其和app下的build.gradle里面描述SDK和工具的代码改成一样就行
改完之后再次Try Again一下,发现还是报错,提示sin函数找不到符号。
这时我们找到sin报错那里,将return (float)FloatMath.sin(f);
改成return(float)Math.sin(f);
点击同步按钮这样错误就没有了。
5.我们解决完了第三方开源库导入的问题,下面来简单介绍这个侧边栏滑动开源库的作用和效果。
先在layout里面新建立left.xml和right.xml配置文件
left.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#f00">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是左侧边栏"
android:id="@+id/textView" />
</LinearLayout>
right.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00f">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是右侧边栏"
android:id="@+id/textView2" />
</LinearLayout>
然后打开MainActivity将里面改成下面样子
MainActivity.java
package gyt.com.myapplication;
import android.os.Bundle;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setBehindContentView(R.layout.left_menu);
//获取侧边栏对象
SlidingMenu slidingMenu=getSlidingMenu();
//设置触摸模式
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//修改侧边栏模式
slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);
//设置右侧边栏
slidingMenu.setSecondaryMenu(R.layout.right_menu);
//修改侧边栏宽度
slidingMenu.setBehindOffset(200);
}
}