2015-03-15 3 views
-1

im, чтобы мой проект конвертировал изображение в черно-белое. код не имеет ошибки и уже установлен в виртуальном устройстве. При запуске приложений он внезапно прекратился. Я не знаю, в чем проблема. У меня нет опыта программирования в android. Это коды.Мои установленные приложения внезапно остановились в эмуляторе

эти коды:

package com.example.test; 

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.graphics.ColorMatrix; 
import android.graphics.ColorMatrixColorFilter; 
import android.graphics.Paint; 
import android.graphics.drawable.BitmapDrawable; 
import android.os.Bundle; 
import android.widget.ImageView; 

public class MainActivity2 extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_activity2); 

    ImageView orginalImageView = (ImageView) findViewById(R.id.image); 
    ImageView blackImageView = (ImageView) findViewById(R.id.blackimage); 

    Bitmap input = BitmapFactory.decodeResource(getResources(), 
      R.drawable.input); 

    orginalImageView.setBackgroundDrawable(new BitmapDrawable(input)); 
    blackImageView.setBackgroundDrawable(new BitmapDrawable(
      convertColorIntoBlackAndWhiteImage(input))); 
} 

    private Bitmap convertColorIntoBlackAndWhiteImage(Bitmap orginalBitmap) { 
    ColorMatrix colorMatrix = new ColorMatrix(); 
    colorMatrix.setSaturation(0); 

    ColorMatrixColorFilter colorMatrixFilter = new ColorMatrixColorFilter(
      colorMatrix); 

    Bitmap blackAndWhiteBitmap = orginalBitmap.copy(
      Bitmap.Config.ARGB_8888, true); 

    Paint paint = new Paint(); 
    paint.setColorFilter(colorMatrixFilter); 

    Canvas canvas = new Canvas(blackAndWhiteBitmap); 
    canvas.drawBitmap(blackAndWhiteBitmap, 0, 0, paint); 

    return blackAndWhiteBitmap; 
    } 
    } 

Здесь вы main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<ImageView android:layout_width="fill_parent" 
    android:layout_height="210dp" android:id="@+id/image" /> 
<ImageView android:layout_width="fill_parent" 
    android:layout_height="210dp" android:id="@+id/blackimage" /> 
</LinearLayout> 

LogCat:

03-15 10:45:22.020: D/(1177): HostConnection::get() New Host Connection     established 0xb7651388, tid 1177 
03-15 10:45:22.330: W/EGL_emulation(1177): eglSurfaceAttrib not implemented 
03-15 10:45:22.380: D/OpenGLRenderer(1177): Enabling debug mode 0 
03-15 10:45:25.700: D/AndroidRuntime(1177): Shutting down VM 
03-15 10:45:25.700: W/dalvikvm(1177): threadid=1: thread exiting with uncaught exception (group=0xb2a16ba8) 
03-15 10:45:25.820: E/AndroidRuntime(1177): FATAL EXCEPTION: main 
03-15 10:45:25.820: E/AndroidRuntime(1177): Process: com.example.test, PID: 1177 
03-15 10:45:25.820: E/AndroidRuntime(1177): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.test/com.example.test.MainActivity2}; have you declared this activity in your AndroidManifest.xml? 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.Activity.startActivityForResult(Activity.java:3424) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.Activity.startActivityForResult(Activity.java:3385) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.Activity.startActivity(Activity.java:3627) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.Activity.startActivity(Activity.java:3595) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at com.example.test.MainActivity$1.onClick(MainActivity.java:30) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.view.View.performClick(View.java:4438) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.view.View$PerformClick.run(View.java:18422) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.os.Handler.handleCallback(Handler.java:733) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.os.Handler.dispatchMessage(Handler.java:95) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.os.Looper.loop(Looper.java:136) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at java.lang.reflect.Method.invoke(Method.java:515) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
03-15 10:45:25.820: E/AndroidRuntime(1177):  at dalvik.system.NativeStart.main(Native Method) 
03-15 10:45:31.050: I/Process(1177): Sending signal. PID: 1177 SIG: 9 
+0

logcat >> Невозможно найти явный класс активности {com.example.test/com.example.test.MainActivity2}; Вы объявили эту активность в своем AndroidManifest.xml? – nikis

+0

ОК, я еще не объявил. Могу ли я узнать, как установить манифест андроида? – user4668241

+0

** Вы объявили эту активность в своем AndroidManifest.xml? ** – Apurva

ответ

1

После LogCat, вы не заявили о вашей деятельности внутри ваш манифест так зайдите в ваш AndroidManifest.xml и добавьте ссылку на эту деятельность:

<activity 
    android:name=".MainActivity2" 
    android:label="@string/app_name"> <!-- your app name --> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> <!-- this intent filter has to be placed in the activity you want as launch activity (the 1st one pratically)--> 
</activity> 
Смежные вопросы