2015-11-07 1 views
1

Я пытаюсь создать цвета для палитры на Android (Eclipse IDE). После запуска на телефоне происходит зависание. Видимо, я не правильно использую API, но при поиске очень мало информации о том, как использовать палитру. Из (растрового) .Generate(); У меня этот кодЯ получаю сбой с использованием Palette.From (bitmap) .Generate(), как я могу правильно использовать?

import android.support.v7.graphics.Palette; 
import android.support.v7.graphics.Palette.PaletteAsyncListener; 
import android.support.v7.graphics.Palette.Builder; 
.... 

int vibrant, vibrantLight, vibrantDark, muted, mutedLight, mutedDark; 
public Palette palette; 

void decodeColors2(){ 
    .... 
    myBitmap = Bitmap.createScaledBitmap(bm, rWidth, rHeight, false); 

    palette = Palette.from(myBitmap).generate(); 


    vibrant = palette.getVibrantColor(0x000000); 
    vibrantLight = palette.getLightVibrantColor(0x000000); 
    vibrantDark = palette.getDarkVibrantColor(0x000000); 
    muted = palette.getMutedColor(0x000000); 
    mutedLight = palette.getLightMutedColor(0x000000); 
    mutedDark = palette.getDarkMutedColor(0x000000); 

}

Пожалуйста, может кто-нибудь, дайте мне знать, что я делаю неправильно и как исправить мой код, чтобы получить полный пробег, а не аварии.

Также как использовать Palette.Builder (bitmap, number)? EDIT: сбой журнала:

11-07 19:00:33.135: E/AndroidRuntime(31684): FATAL EXCEPTION: main 
11-07 19:00:33.135: E/AndroidRuntime(31684): java.lang.NoClassDefFoundError: android.support.v7.graphics.Palette 
11-07 19:00:33.135: E/AndroidRuntime(31684): at com.example.liveideas.Liveideas.decodeColors2(Liveideas.java:699) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at com.example.liveideas.Liveideas$3.onPictureTaken(Liveideas.java:264) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:823) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at android.os.Looper.loop(Looper.java:137) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at android.app.ActivityThread.main(ActivityThread.java:4921) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at java.lang.reflect.Method.invokeNative(Native Method) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at java.lang.reflect.Method.invoke(Method.java:511) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 
11-07 19:00:33.135: E/AndroidRuntime(31684): at dalvik.system.NativeStart.main(Native Method) 
11-07 19:02:04.585: W/Sensors(31684): sensorservice died [0x4d9e3660] 
11-07 19:02:04.605: I/Process(31684): Sending signal. PID: 31684 SIG: 9 
11-07 19:02:04.605: E/AndroidRuntime(31684): Error reporting crash 
11-07 19:02:04.605: E/AndroidRuntime(31684): android.os.DeadObjectException 
11-07 19:02:04.605: E/AndroidRuntime(31684): at android.os.BinderProxy.transact(Native Method) 
11-07 19:02:04.605: E/AndroidRuntime(31684): at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:3305) 
11-07 19:02:04.605: E/AndroidRuntime(31684): at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:121) 
11-07 19:02:04.605: E/AndroidRuntime(31684): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693) 
11-07 19:02:04.605: E/AndroidRuntime(31684): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 
11-07 19:02:04.605: E/AndroidRuntime(31684): at dalvik.system.NativeStart.main(Native Method) 

Благодаря

+0

Где вы поместите этот код? В onCreate()? И, пожалуйста, добавьте журнал сбоев – yshahak

+0

Я поместил его в функцию void decodeColors2() {...} – user4666

+0

Я отредактировал код, чтобы указать это – user4666

ответ

1

Вы, вероятно, не определил библиотеку поддержки должным образом. согласно документации:

To add a Support Library without resources to your application project:

Using Eclipse

Make sure you have downloaded the Android Support Library using the SDK Manager. Create a libs/ directory in the root of your application project. Copy the JAR file from your Android SDK installation directory (e.g., /extras/android/support/v4/android-support-v4.jar) into your application's project libs/ directory. Right click the JAR file and select Build Path > Add to Build Path.

В вашем случае вам нужно Android-поддержка-v7

+0

спасибо. Я загрузил Android поддержку библиотеки и могу найти android-support-v4.jar, но не android-support-v7. – user4666

+0

У меня также был этот сбой ===== java.lang.NoClassDefFoundError: android.support.v4.graphics.ColorUtils ===== но не могу найти ColorUtils.jar. Как я могу исправить? Большое спасибо – user4666

+0

Если бы этот последний сбой после добавления android-support-v4.jar для построения пути – user4666

Смежные вопросы