2015-07-12 41 views
0

我想要使用CWAC相機庫的項目,需要添加一些功能到相機...在UI等添加一些按鈕...有關新的CameraFragment()的Android CWAC-Camera問題。takePicture();

其實我正在測試惠普該庫..問題是我能夠看到預覽並旋轉相機而沒有問題。但是...我無法拍照whitout錯誤....

到目前爲止我的代碼..

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button photo = (Button)findViewById(R.id.foto); 


    photo.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      new CameraFragment().takePicture(); 
     } 
    }); 

} 

只是,在Main_activity類..

回溯...

   E/AndroidRuntime(20708): Process: pandicam.camerafromlibrary, PID: 20708 
      E/AndroidRuntime(20708): java.lang.NullPointerException: Attempt to invoke virtual method 'void com.commonsware.cwac.camera.CameraView.takePicture(boolean, boolean)' on a null object reference 
      E/AndroidRuntime(20708):  at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:151) 
      E/AndroidRuntime(20708):  at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:137) 
      E/AndroidRuntime(20708):  at pandicam.camerafromlibrary.MainActivity$1.onClick(MainActivity.java:30) 
      E/AndroidRuntime(20708):  at android.view.View.performClick(View.java:4756) 
      E/AndroidRuntime(20708):  at android.view.View$PerformClick.run(View.java:19748) 
      E/AndroidRuntime(20708):  at android.os.Handler.handleCallback(Handler.java:739) 
      E/AndroidRuntime(20708):  at android.os.Handler.dispatchMessage(Handler.java:95) 
      E/AndroidRuntime(20708):  at android.os.Looper.loop(Looper.java:135) 
      E/AndroidRuntime(20708):  at android.app.ActivityThread.main(ActivityThread.java:5256) 
      E/AndroidRuntime(20708):  at java.lang.reflect.Method.invoke(Native Method) 
      E/AndroidRuntime(20708):  at java.lang.reflect.Method.invoke(Method.java:372) 
      E/AndroidRuntime(20708):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) 
      E/AndroidRuntime(20708):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
      E/AudioTrack( 518): AudioTrack::set : Exit 
      W/ActivityManager( 518): Force finishing activity pandicam.camerafromlibrary/.MainActivity 

Library Documentation for simple use。

步驟#1:如上所述安裝JAR或AAR。

步驟#2:添加一個CameraFragment到你的UI。你有CameraFragment的兩個版本可供選擇:

com.commonsware.cwac.camera.CameraFragment與原生API級別使用11+片段

com.commonsware.cwac.camera.acl.CameraFragment與使用(注:如果你選擇後者,你的項目還需要有ActionBarSherlock庫項目)片段和ActionBarSherlock,支持API 9級和10

的支持Android包的反向移植

的CameraFragment負責呈現您的預覽,所以您需要調整大小並定位我根據需要。

步驟#3:當您想拍攝照片時,調用CameraFragment上的takePicture(),該照片將被存儲在外部存儲的默認數字照片目錄(例如DCIM)中,如Photo_yyyyMMdd_HHmmss.jpg,其中yyyyMMdd_HHmmss被替換按當前的日期和時間。請注意,如果在預覽準備就緒之前調用它,或者在自動焦點發生時調用它,則takePicture()可能會拋出IllegalStateException。

我真的很喜歡這方面的幫助。 問候

+0

能否請你告訴我爲什麼要投票? –

回答

0

我剛纔rebuilded一切,做一個新項目白衣,該庫具有在GitHub上的示例應用程序的指導,現在工作..已readed我的問題感謝所有