android studio 項目中引入第三方lib

本文以引入https://github.com/chrisbanes/Android-PullToRefresh爲例


借鑑參考:http://www.apkbus.com/android-125663-1-1.html


本人電腦上的android studio是1.2.1.1 ,sdk api22.


  1. 正常創建一個project(本例中project爲名"demo")

    wKioL1Vtga-AxpLCAAFJQgLJeHw467.jpg

  2. 開始爲項目引入PullToRefresh類庫

    1. 按下鍵盤上“F12”或File->new->import module,如下

wKiom1VtgH3j1zf5AAGWu890C1o454.jpg


wKiom1VtgRPiQlMeAAJ0Eivrae8684.jpg



依次導入android-pulltorefresh目錄下的library、extras\PullToRefreshListFragment、extras\PullToRefreshListFragment

完成後目錄如下

wKiom1VtgqDwL21sAAGg2rylZGY519.jpg


b.爲demo下的app modules添加類庫依賴。

wKioL1VthNviOq41AAHLZI465WE788.jpg

完成後結果如上。點擊“OK”完成。

3.解決編譯錯誤

wKioL1VthYmgFcufAANImBV_-tQ811.jpg

重新按"F12",修改除app外的其他三個modules中的min sdk和target sdk版本,與app相同

wKiom1VthbCRbafAAAJMxHnLMTE954.jpg

ok,編譯可以正常通過了。

4、添加一個測試示例。

 修改:layout/activity_main.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="demo.zhezi.MainActivity"
    android:orientation="vertical" >
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/listview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </com.handmark.pulltorefresh.library.PullToRefreshListView>

</LinearLayout>

修改:MainActivity.java文件

private PullToRefreshListView listView ;
	private ArrayAdapter<String> arrayAdapter;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		listView = (PullToRefreshListView) findViewById(R.id.listview);
		arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
		arrayAdapter.add("welcome");
		arrayAdapter.add("welcome1");
		arrayAdapter.add("welcome2");
		arrayAdapter.add("welcome3");
		listView.setAdapter(arrayAdapter);
		listView.setOnRefreshListener(new OnRefreshListener<ListView>() {
			@Override
			public void onRefresh(PullToRefreshBase<ListView> refreshView) {		
				new AsyncTask<Void, Void, Void>() {

					@Override
					protected Void doInBackground(Void... params) {
						
						try {
							Thread.sleep(3000);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
						
						return null;
					}	
					protected void onPostExecute(Void result) {
						
						arrayAdapter.addAll("Hello","大家好");
						
						listView.onRefreshComplete();
					};
				}.execute();
			}
		});



好了。展示效果如下

wKiom1Vth5iyfYnXAADTZ0WTGLc307.jpg

wKioL1VtiTLDHZfoAAC0Z10OivI438.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章