2014-04-27 5 views
0

mjpeg를 통해 Airdrone 스트림을 가져와야하는 APP를 개발 중입니다.다른 XML 레이아웃이있는 MjpegView

나는 this topic의 클래스를 사용하고 있습니다. 예제와 함께 훌륭하게 작동하지만 에어로 머를 제어하는 ​​버튼과 같은 다른 뷰를 추가해야합니다.

예제 코드 :

내가 할 노력하고있어 있지만 작동하지 않는 무엇
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    mv = new MjpegView(this); 
    setContentView(mv); 
    ... 

...

... 
mv = (MjpegView) findViewById(R.id.mv); 
setContentView(R.layout.activity_test); 
... 

그리고 내 레이아웃 XML

...

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    tools:context="com.gabilheri.rosbridgecontroller.app.TestActivity" 
    android:layout_height="fill_parent" 
    android:id="@+id/mainLayout"> 
    <com.gabilheri.rosbridgecontroller.app.VideoStreamClasses.MjpegView 
     android:id="@+id/mv" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
    /> 
</FrameLayout> 

LOGCAT 오류 :

04-26 22:40:19.521 2229-2229/com.gabilheri.rosbridgecontroller.app E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.gabilheri.rosbridgecontroller.app, PID: 2229 
java.lang.NullPointerException 
     at com.gabilheri.rosbridgecontroller.app.TestActivity$DoRead.onPostExecute(TestActivity.java:86) 
     at com.gabilheri.rosbridgecontroller.app.TestActivity$DoRead.onPostExecute(TestActivity.java:59) 
     at android.os.AsyncTask.finish(AsyncTask.java:632) 
     at android.os.AsyncTask.access$600(AsyncTask.java:177) 
     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5184) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1015) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831) 
     at dalvik.system.NativeStart.main(Native Method) 

이 방법에서 선이 실행 onPost 있습니다

mv.setSource(result); //Line 86 
mv.setDisplayMode(MjpegView.SIZE_BEST_FIT); // Line 87 
mv.showFps(true); // Line 88 

누구나 어떤 아이디어가? 고맙습니다! : 내 문제가 무엇인지를 파악 D

+0

이 줄은 다음과 같습니다 :'TestActivity.java : 86' – vjdhama

+0

원래 게시물을 편집하여 해당 행을 추가합니다. –

+0

'MjpegInputStream result'처럼'onPostExecute'에 대한 param은'Null'입니다. – vjdhama

답변

1

... 내가 할 노력했다

:

setContentView(R.layout.activity_test); 
mv = (MjpegView) findViewById(R.id.mv); 
:

mv = (MjpegView) findViewById(R.id.mv); 
setContentView(R.layout.activity_test); 

을 그리고 NullPointerException이 점점되었다 .. 나는 변경

그리고 이제는 모든 것이 정상적으로 작동하고 있습니다 :)

+0

marcus도 XML을 사용하여 동일한 구현을 시도 중이므로 답변에 따라 수행하지만 스트리밍 이미지는 발생하지 않지만 if 내가 프로그래밍 방식으로 작동하는 이유는 무엇입니까? – Ramz

+0

당신이 얻고있는 오류는 무엇입니까? 응용 프로그램이 충돌하거나 간단하게 검은 화면이 나타나나요? –

+0

검은 색 화면이 간단합니다. – Ramz