как подключить библиотеку ExFilePicker?

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
grem17
Сообщения: 85
Зарегистрирован: 16 сен 2014, 11:54

как подключить библиотеку ExFilePicker?

Сообщение grem17 » 06 ноя 2014, 11:35

добрый день
Нашел классную реализацию файлового диалога, кто пробовал подключать ExFilePicker в свою программу?
у меня не получается, делаю следующим образом:

импортировал проекты ExFilePicker и ExFilePickerSample в Eclips, появилась библиотека в каталоге ...\ExFilePicker-master\ExFilePicker\bin\exfilepicker.jar

дальше делаю все как рекомендуют (вызов диалога повесил на кнопку)

Код: Выделить всё

package edu.android.openfiledialog;

import ru.bartwell.exfilepicker.ExFilePicker;
import ru.bartwell.exfilepicker.ExFilePickerParcelObject;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
	private static final int EX_FILE_PICKER_RESULT = 0;


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		
		Button btn=(Button)findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				Intent intent = new Intent(getApplicationContext(), ru.bartwell.exfilepicker.ExFilePickerActivity.class);
		        startActivityForResult(intent, EX_FILE_PICKER_RESULT);
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	
	@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == EX_FILE_PICKER_RESULT) {
            if (data != null) {
                ExFilePickerParcelObject object = (ExFilePickerParcelObject) data.getParcelableExtra(ExFilePickerParcelObject.class.getCanonicalName());
                if (object.count > 0) {
                    // Here is object contains selected files names and path
                }
            }
        }
    }

}
в манифесте добавил строку, правда указано выставить
android:theme="@style/ExFilePickerThemeDark"
манифест не находит такую тему, выдает ошибку, прописал как
android:theme="@style/AppBaseTheme"

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="edu.android.openfiledialog"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="18" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
        <activity
        android:name="ru.bartwell.exfilepicker.ExFilePickerActivity"
        android:configChanges="orientation|screenSize"
        android:theme="@style/AppBaseTheme" />
        <activity
            android:name="edu.android.openfiledialog.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
        </activity>


    </application>

</manifest>
приложение стартует, при нажатии кнопки, когда должен появиться диалог - выходит ошибка
111.jpg
111.jpg (219.9 КБ) 3541 просмотр
222.jpg
222.jpg (218.77 КБ) 3541 просмотр
333.jpg
333.jpg (477.44 КБ) 3541 просмотр

BArtWell
Сообщения: 6
Зарегистрирован: 30 июл 2013, 23:07

Re: как подключить библиотеку ExFilePicker?

Сообщение BArtWell » 18 апр 2015, 13:03

Не знаю, актуально ли еще. Но судя по всему, проблема в том, что некорректно подключена библиотека. В Eclipse необходимо подключать библиотеку как исходники, т.е., примерно по такой схеме:
  1. Импортировать содержимое папки library как новый проект
  2. Отметить проект как библиотеку в настройках проекта
  3. При необходимости отметить папку java как папку с исходными кодами (под правой клавишей на папке есть такой пункт)
Но вообще, я перевел разработку на Android Studio. Там добавление библиотеки можно сделать просто несколькими кликами в свойствах проекта.

grem17
Сообщения: 85
Зарегистрирован: 16 сен 2014, 11:54

Re: как подключить библиотеку ExFilePicker?

Сообщение grem17 » 29 май 2015, 08:36

Android Studio пробовал, но она сильно тормозит, работать в ней было некомфортно

Ответить