我想要使用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。
我真的很喜歡這方面的幫助。 問候
能否請你告訴我爲什麼要投票? –