fork(1) download
  1. package irdc.ex07_15;
  2.  
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.util.List;
  8.  
  9. import android.app.Activity;
  10. /* 延伸學習 */
  11. //import android.content.pm.ActivityInfo;
  12. import android.graphics.Bitmap;
  13. import android.graphics.BitmapFactory;
  14. import android.graphics.PixelFormat;
  15.  
  16. /* 引用Camera類別 */
  17. import android.hardware.Camera;
  18.  
  19. /* 引用PictureCallback作為取得拍照後的事件 */
  20. import android.hardware.Camera.PictureCallback;
  21. import android.hardware.Camera.ShutterCallback;
  22. import android.os.Bundle;
  23. import android.util.DisplayMetrics;
  24. import android.util.Log;
  25. import android.view.SurfaceHolder;
  26. import android.view.SurfaceView;
  27. import android.view.View;
  28. import android.view.Window;
  29. import android.widget.Button;
  30. import android.widget.ImageView;
  31. import android.widget.TextView;
  32. import android.widget.Toast;
  33.  
  34. import android.widget.SeekBar;
  35. import android.widget.SeekBar.OnSeekBarChangeListener;
  36. import android.hardware.Camera.Parameters;
  37. import android.view.View.OnClickListener;
  38.  
  39.  
  40. /* 使Activity實作SurfaceHolder.Callback */
  41. public class EX07_15 extends Activity implements SurfaceHolder.Callback
  42. {
  43. /* 建立私有Camera物件 */
  44. private Camera mCamera01;
  45. private Button mButton01, mButton02, mButton03;
  46.  
  47. /* 作為review照下來的相片之用 */
  48. private ImageView mImageView01;
  49. private TextView mTextView01;
  50. private static String TAG = "HIPPO_DEBUG";
  51. private SurfaceView mSurfaceView01;
  52. private SurfaceHolder mSurfaceHolder01;
  53.  
  54.  
  55. private SeekBar seekBar;
  56. private TextView textView;
  57. Button btn;
  58.  
  59.  
  60. /* 預設相機預覽模式為false */
  61. private boolean bIfPreview = false;
  62.  
  63. /* 將照下來的圖檔儲存在此 */
  64. private String strCaptureFilePath = "/sdcard/camera_snap.jpg";
  65.  
  66.  
  67. @Override
  68. public void onCreate(Bundle savedInstanceState)
  69. {
  70. super.onCreate(savedInstanceState);
  71.  
  72. btn = (Button)findViewById(R.id.button1);
  73. btn.setOnClickListener(new OnClickListener() {
  74.  
  75. Camera camera = Camera.open();
  76. Parameters parameters = camera.getParameters();
  77.  
  78. @Override
  79. public void onClick(View v) {
  80. // TODO Auto-generated method stub
  81.  
  82. if(btn.getText().toString().equals("Off")){
  83.  
  84. parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
  85. camera.setParameters(parameters);
  86. camera.startPreview();
  87.  
  88. btn.setText("On");
  89. }else{
  90. parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
  91. camera.setParameters(parameters);
  92.  
  93. btn.setText("Off");
  94. }
  95. }
  96. });
  97.  
  98.  
  99.  
  100. seekBar = (SeekBar) findViewById(R.id.seekBar1);
  101. textView = (TextView) findViewById(R.id.textView1);
  102.  
  103. textView.setText(seekBar.getProgress() + "/" + seekBar.getMax());
  104. seekBar.setOnSeekBarChangeListener( new OnSeekBarChangeListener(){
  105. int progress=0 ;
  106.  
  107. @Override
  108. public void onProgressChanged(SeekBar seekBar , int progressValue , boolean fromUser )
  109. {progress = progressValue; }
  110.  
  111.  
  112.  
  113. @Override
  114. public void onStartTrackingTouch(SeekBar seekBar) {
  115. // TODO Auto-generated method stub
  116.  
  117. }
  118.  
  119. @Override
  120. public void onStopTrackingTouch(SeekBar seekBar) {
  121. // TODO Auto-generated method stub
  122. textView.setText(progress + "/" + seekBar.getMax());
  123. }
  124. });
  125.  
  126.  
  127.  
  128. /* 使應用程式全螢幕執行,不使用title bar */
  129. requestWindowFeature(Window.FEATURE_NO_TITLE);
  130. setContentView(R.layout.main);
  131.  
  132. /* 判斷記憶卡是否存在 */
  133. if(!checkSDCard())
  134. {
  135. /* 提醒User未安裝SD記憶卡 */
  136. mMakeTextToast
  137. (
  138. getResources().getText(R.string.str_err_nosd).toString(),
  139. true
  140. );
  141. }
  142.  
  143. /* 取得螢幕解析像素 */
  144. DisplayMetrics dm = new DisplayMetrics();
  145. getWindowManager().getDefaultDisplay().getMetrics(dm);
  146. //intScreenX = dm.widthPixels;
  147. //intScreenY = dm.heightPixels;
  148. //Log.i(TAG, Integer.toString(intScreenX));
  149.  
  150. /* 延伸學習 */
  151. //import android.content.pm.ActivityInfo;
  152. //this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  153.  
  154. mTextView01 = (TextView) findViewById(R.id.myTextView1);
  155. mImageView01 = (ImageView) findViewById(R.id.myImageView1);
  156.  
  157. /* 以SurfaceView作為相機Preview之用 */
  158. mSurfaceView01 = (SurfaceView) findViewById(R.id.mSurfaceView1);
  159.  
  160. /* 繫結SurfaceView,取得SurfaceHolder物件 */
  161. mSurfaceHolder01 = mSurfaceView01.getHolder();
  162.  
  163. /* Activity必須實作SurfaceHolder.Callback */
  164. mSurfaceHolder01.addCallback(EX07_15.this);
  165.  
  166. /* 額外的設定預覽大小設定,在此不使用 */
  167. //mSurfaceHolder01.setFixedSize(320, 240);
  168.  
  169. /*
  170.   * 以SURFACE_TYPE_PUSH_BUFFERS(3)
  171.   * 作為SurfaceHolder顯示型態
  172.   * */
  173. mSurfaceHolder01.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  174.  
  175. mButton01 = (Button)findViewById(R.id.myButton1);
  176. mButton02 = (Button)findViewById(R.id.myButton2);
  177. mButton03 = (Button)findViewById(R.id.myButton3);
  178.  
  179. /* 開啟相機及Preview */
  180. mButton01.setOnClickListener(new Button.OnClickListener()
  181. {
  182. @Override
  183. public void onClick(View v)
  184. {
  185. // TODO Auto-generated method stub
  186.  
  187. /* 自訂初始化開啟相機函數 */
  188. initCamera();
  189. }
  190. });
  191.  
  192. /* 停止Preview及相機 */
  193. mButton02.setOnClickListener(new Button.OnClickListener()
  194. {
  195. @Override
  196. public void onClick(View arg0)
  197. {
  198. // TODO Auto-generated method stub
  199.  
  200. /* 自訂重置相機,並關閉相機預覽函數 */
  201. resetCamera();
  202. }
  203. });
  204.  
  205. /* 拍照 */
  206. mButton03.setOnClickListener(new Button.OnClickListener()
  207. {
  208. @Override
  209. public void onClick(View arg0)
  210. {
  211. // TODO Auto-generated method stub
  212.  
  213. /* 當記憶卡存在才允許拍照,儲存暫存影像檔 */
  214. if(checkSDCard())
  215. {
  216. /* 自訂拍照函數 */
  217. takePicture();
  218. }
  219. else
  220. {
  221. /* 記憶卡不存在顯示提示 */
  222. mTextView01.setText
  223. (
  224. getResources().getText(R.string.str_err_nosd).toString()
  225. );
  226. }
  227. }
  228. });
  229. }
  230.  
  231. /* 自訂初始相機函數 */
  232. private void initCamera()
  233. {
  234. if(!bIfPreview)
  235. {
  236. /* 若相機非在預覽模式,則開啟相機 */
  237. try
  238. {
  239. /*
  240.   * The Heap 是應用程式在手機裡執行所配置的空間
  241.   * 當超過預設的16 MB(每一個應用程式)時就會導致 "Out of memory"的錯誤
  242.   * 目前看來是Cupcake(AVD 1.5)才會發生
  243.   * Connect E from ICameraClient 0x....
  244.   * new client (0x...) sttempting to connect - rejected
  245.   * */
  246. mCamera01 = Camera.open();
  247. }
  248. catch(Exception e)
  249. {
  250. Log.e(TAG, e.getMessage());
  251. }
  252. }
  253.  
  254. if (mCamera01 != null && !bIfPreview)
  255. {
  256. try
  257. {
  258. Log.i(TAG, "inside the camera");
  259. mCamera01.setPreviewDisplay(mSurfaceHolder01);
  260. /* 建立Camera.Parameters物件 */
  261. Camera.Parameters parameters = mCamera01.getParameters();
  262. /* 設定相片格式為JPEG */
  263. parameters.setPictureFormat(PixelFormat.JPEG);
  264. //parameters.setPreviewSize(w, h);
  265. List<Camera.Size> s=parameters.getSupportedPreviewSizes();
  266.  
  267. try
  268. {
  269. if(s!=null)
  270. {
  271. for(int i=0;i<s.size();i++)
  272. {
  273. Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
  274. }
  275. }
  276. parameters.setPreviewSize(320, 240);
  277. //parameters.setPreviewSize(176, 144);
  278.  
  279. /* 在2.0模擬器中,設定不支援的PreviewSize將造成Exception */
  280. s=parameters.getSupportedPictureSizes();
  281. try
  282. {
  283. if(s!=null)
  284. {
  285. for(int i=0;i<s.size();i++)
  286. {
  287. Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
  288. }
  289. }
  290. /* 在2.0模擬器中,設定不支援的PictureSize將造成Exception */
  291. parameters.setPictureSize(512, 384);
  292. //parameters.setPictureSize(213, 350);
  293. /* 將Camera.Parameters設定予Camera */
  294. mCamera01.setParameters(parameters);
  295. /* setPreviewDisplay唯一的參數為SurfaceHolder */
  296. mCamera01.setPreviewDisplay(mSurfaceHolder01);
  297. /* 立即執行Preview */
  298. mCamera01.startPreview();
  299.  
  300. bIfPreview = true;
  301. Log.i(TAG, "startPreview");
  302. }
  303. catch (Exception e)
  304. {
  305. Log.i(TAG, e.toString());
  306. e.printStackTrace();
  307. }
  308. }
  309. catch (Exception e)
  310. {
  311. Toast.makeText
  312. (
  313. EX07_15.this,
  314. "initCamera error.",
  315. Toast.LENGTH_LONG
  316. ).show();
  317. e.printStackTrace();
  318. }
  319. }
  320. catch (IOException e)
  321. {
  322. // TODO Auto-generated catch block
  323. mCamera01.release();
  324. mCamera01 = null;
  325. Log.i(TAG, e.toString());
  326. e.printStackTrace();
  327. }
  328. }
  329. }
  330.  
  331. /* 拍照擷取影像 */
  332. private void takePicture()
  333. {
  334. if (mCamera01 != null && bIfPreview)
  335. {
  336. /* 呼叫takePicture()方法拍照 */
  337. mCamera01.takePicture(shutterCallback, rawCallback, jpegCallback);
  338. }
  339. }
  340.  
  341. /* 相機重置 */
  342. private void resetCamera()
  343. {
  344. if (mCamera01 != null && bIfPreview)
  345. {
  346. mCamera01.stopPreview();
  347.  
  348. /* 延伸學習,釋放Camera物件 */
  349. //mCamera01.release();
  350. //mCamera01 = null;
  351.  
  352. Log.i(TAG, "stopPreview");
  353. bIfPreview = false;
  354. }
  355. }
  356.  
  357. private ShutterCallback shutterCallback = new ShutterCallback()
  358. {
  359. public void onShutter()
  360. {
  361. // Shutter has closed
  362. }
  363. };
  364.  
  365. private PictureCallback rawCallback = new PictureCallback()
  366. {
  367. public void onPictureTaken(byte[] _data, Camera _camera)
  368. {
  369. // TODO Handle RAW image data
  370. }
  371. };
  372.  
  373. private PictureCallback jpegCallback = new PictureCallback()
  374. {
  375. public void onPictureTaken(byte[] _data, Camera _camera)
  376. {
  377. // TODO Handle JPEG image data
  378.  
  379. /* onPictureTaken傳入的第一個參數即為相片的byte */
  380. Bitmap bm = BitmapFactory.decodeByteArray(_data, 0, _data.length);
  381.  
  382. /* 建立新檔 */
  383. File myCaptureFile = new File(strCaptureFilePath);
  384. try
  385. {
  386. /* 採用壓縮轉檔方法 */
  387. bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
  388.  
  389. /* 呼叫flush()方法,更新BufferStream */
  390. bos.flush();
  391.  
  392. /* 結束OutputStream */
  393. bos.close();
  394.  
  395. /* 將拍照下來且儲存完畢的圖檔,顯示出來 */
  396. mImageView01.setImageBitmap(bm);
  397.  
  398. /* 顯示完圖檔,立即重置相機,並關閉預覽 */
  399. resetCamera();
  400.  
  401. /* 再重新啟動相機繼續預覽 */
  402. initCamera();
  403. }
  404. catch (Exception e)
  405. {
  406. Log.e(TAG, e.getMessage());
  407. Log.e(TAG, e.toString());
  408. }
  409. }
  410. };
  411.  
  412. /* 自訂刪除檔案函數 */
  413. private void delFile(String strFileName)
  414. {
  415. try
  416. {
  417. File myFile = new File(strFileName);
  418. if(myFile.exists())
  419. {
  420. myFile.delete();
  421. }
  422. }
  423. catch (Exception e)
  424. {
  425. Log.e(TAG, e.toString());
  426. e.printStackTrace();
  427. }
  428. }
  429.  
  430. public void mMakeTextToast(String str, boolean isLong)
  431. {
  432. if(isLong==true)
  433. {
  434. Toast.makeText(EX07_15.this, str, Toast.LENGTH_LONG).show();
  435. }
  436. else
  437. {
  438. Toast.makeText(EX07_15.this, str, Toast.LENGTH_SHORT).show();
  439. }
  440. }
  441.  
  442. private boolean checkSDCard()
  443. {
  444. /* 判斷記憶卡是否存在 */
  445. if(android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
  446. {
  447. return true;
  448. }
  449. else
  450. {
  451. return false;
  452. }
  453. }
  454.  
  455. @Override
  456. public void surfaceChanged(SurfaceHolder surfaceholder, int format, int w, int h)
  457. {
  458. // TODO Auto-generated method stub
  459. Log.i(TAG, "Surface Changed1");
  460. }
  461.  
  462. @Override
  463. public void surfaceCreated(SurfaceHolder surfaceholder)
  464. {
  465. // TODO Auto-generated method stub
  466. Log.i(TAG, "Surface Changed2");
  467. }
  468.  
  469. @Override
  470. public void surfaceDestroyed(SurfaceHolder surfaceholder)
  471. {
  472. // TODO Auto-generated method stub
  473. /* 當Surface不存在,需要刪除圖檔 */
  474. try
  475. {
  476. delFile(strCaptureFilePath);
  477. mCamera01.stopPreview();
  478. mCamera01.release();
  479. mCamera01 = null;
  480. Log.i(TAG, "Surface Destroyed");
  481. }
  482. catch(Exception e)
  483. {
  484. e.printStackTrace();
  485. }
  486. }
  487.  
  488. @Override
  489. protected void onPause()
  490. {
  491. // TODO Auto-generated method stub
  492. try
  493. {
  494. resetCamera();
  495. mCamera01.release();
  496. }
  497. catch(Exception e)
  498. {
  499. e.printStackTrace();
  500. }
  501. super.onPause();
  502. }
  503.  
  504. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:41: error: class EX07_15 is public, should be declared in a file named EX07_15.java
public class EX07_15 extends Activity implements SurfaceHolder.Callback
       ^
Main.java:9: error: package android.app does not exist
import android.app.Activity;
                  ^
Main.java:12: error: package android.graphics does not exist
import android.graphics.Bitmap;
                       ^
Main.java:13: error: package android.graphics does not exist
import android.graphics.BitmapFactory;
                       ^
Main.java:14: error: package android.graphics does not exist
import android.graphics.PixelFormat;
                       ^
Main.java:17: error: package android.hardware does not exist
import android.hardware.Camera;
                       ^
Main.java:20: error: package android.hardware.Camera does not exist
import android.hardware.Camera.PictureCallback;
                              ^
Main.java:21: error: package android.hardware.Camera does not exist
import android.hardware.Camera.ShutterCallback;
                              ^
Main.java:22: error: package android.os does not exist
import android.os.Bundle;
                 ^
Main.java:23: error: package android.util does not exist
import android.util.DisplayMetrics;
                   ^
Main.java:24: error: package android.util does not exist
import android.util.Log;
                   ^
Main.java:25: error: package android.view does not exist
import android.view.SurfaceHolder;
                   ^
Main.java:26: error: package android.view does not exist
import android.view.SurfaceView;
                   ^
Main.java:27: error: package android.view does not exist
import android.view.View;
                   ^
Main.java:28: error: package android.view does not exist
import android.view.Window;
                   ^
Main.java:29: error: package android.widget does not exist
import android.widget.Button;
                     ^
Main.java:30: error: package android.widget does not exist
import android.widget.ImageView;
                     ^
Main.java:31: error: package android.widget does not exist
import android.widget.TextView;
                     ^
Main.java:32: error: package android.widget does not exist
import android.widget.Toast;
                     ^
Main.java:34: error: package android.widget does not exist
import android.widget.SeekBar;
                     ^
Main.java:35: error: package android.widget.SeekBar does not exist
import android.widget.SeekBar.OnSeekBarChangeListener;
                             ^
Main.java:36: error: package android.hardware.Camera does not exist
import android.hardware.Camera.Parameters;
                              ^
Main.java:37: error: package android.view.View does not exist
import android.view.View.OnClickListener;
                        ^
Main.java:41: error: cannot find symbol
public class EX07_15 extends Activity implements SurfaceHolder.Callback
                             ^
  symbol: class Activity
Main.java:41: error: package SurfaceHolder does not exist
public class EX07_15 extends Activity implements SurfaceHolder.Callback
                                                              ^
Main.java:44: error: cannot find symbol
  private Camera mCamera01;
          ^
  symbol:   class Camera
  location: class EX07_15
Main.java:45: error: cannot find symbol
  private Button mButton01, mButton02, mButton03;
          ^
  symbol:   class Button
  location: class EX07_15
Main.java:48: error: cannot find symbol
  private ImageView mImageView01;
          ^
  symbol:   class ImageView
  location: class EX07_15
Main.java:49: error: cannot find symbol
  private TextView mTextView01;
          ^
  symbol:   class TextView
  location: class EX07_15
Main.java:51: error: cannot find symbol
  private SurfaceView mSurfaceView01;
          ^
  symbol:   class SurfaceView
  location: class EX07_15
Main.java:52: error: cannot find symbol
  private SurfaceHolder mSurfaceHolder01;
          ^
  symbol:   class SurfaceHolder
  location: class EX07_15
Main.java:55: error: cannot find symbol
  private SeekBar seekBar;
          ^
  symbol:   class SeekBar
  location: class EX07_15
Main.java:56: error: cannot find symbol
  private TextView textView;
          ^
  symbol:   class TextView
  location: class EX07_15
Main.java:57: error: cannot find symbol
  Button btn;
  ^
  symbol:   class Button
  location: class EX07_15
Main.java:68: error: cannot find symbol
  public void onCreate(Bundle savedInstanceState)
                       ^
  symbol:   class Bundle
  location: class EX07_15
Main.java:357: error: cannot find symbol
  private ShutterCallback shutterCallback = new ShutterCallback() 
          ^
  symbol:   class ShutterCallback
  location: class EX07_15
Main.java:365: error: cannot find symbol
  private PictureCallback rawCallback = new PictureCallback() 
          ^
  symbol:   class PictureCallback
  location: class EX07_15
Main.java:373: error: cannot find symbol
  private PictureCallback jpegCallback = new PictureCallback() 
          ^
  symbol:   class PictureCallback
  location: class EX07_15
Main.java:457: error: cannot find symbol
  public void surfaceChanged(SurfaceHolder surfaceholder, int format, int w, int h)
                             ^
  symbol:   class SurfaceHolder
  location: class EX07_15
Main.java:464: error: cannot find symbol
  public void surfaceCreated(SurfaceHolder surfaceholder)
                             ^
  symbol:   class SurfaceHolder
  location: class EX07_15
Main.java:471: error: cannot find symbol
  public void surfaceDestroyed(SurfaceHolder surfaceholder)
                               ^
  symbol:   class SurfaceHolder
  location: class EX07_15
Main.java:70: error: cannot find symbol
    super.onCreate(savedInstanceState);
    ^
  symbol:   variable super
  location: class EX07_15
Main.java:72: error: cannot find symbol
    btn = (Button)findViewById(R.id.button1);
           ^
  symbol:   class Button
  location: class EX07_15
Main.java:72: error: package R does not exist
    btn = (Button)findViewById(R.id.button1);
                                ^
Main.java:73: error: cannot find symbol
    btn.setOnClickListener(new OnClickListener() {
                               ^
  symbol:   class OnClickListener
  location: class EX07_15
Main.java:100: error: cannot find symbol
    seekBar = (SeekBar) findViewById(R.id.seekBar1);
               ^
  symbol:   class SeekBar
  location: class EX07_15
Main.java:100: error: package R does not exist
    seekBar = (SeekBar) findViewById(R.id.seekBar1);
                                      ^
Main.java:101: error: cannot find symbol
    textView = (TextView) findViewById(R.id.textView1);
                ^
  symbol:   class TextView
  location: class EX07_15
Main.java:101: error: package R does not exist
    textView = (TextView) findViewById(R.id.textView1);
                                        ^
Main.java:104: error: cannot find symbol
    seekBar.setOnSeekBarChangeListener( new OnSeekBarChangeListener(){ 
                                            ^
  symbol:   class OnSeekBarChangeListener
  location: class EX07_15
Main.java:129: error: cannot find symbol
    requestWindowFeature(Window.FEATURE_NO_TITLE);
                         ^
  symbol:   variable Window
  location: class EX07_15
Main.java:130: error: package R does not exist
    setContentView(R.layout.main);
                    ^
Main.java:138: error: package R does not exist
        getResources().getText(R.string.str_err_nosd).toString(),
                                ^
Main.java:138: error: cannot find symbol
        getResources().getText(R.string.str_err_nosd).toString(),
        ^
  symbol:   method getResources()
  location: class EX07_15
Main.java:144: error: cannot find symbol
    DisplayMetrics dm = new DisplayMetrics();
    ^
  symbol:   class DisplayMetrics
  location: class EX07_15
Main.java:144: error: cannot find symbol
    DisplayMetrics dm = new DisplayMetrics();
                            ^
  symbol:   class DisplayMetrics
  location: class EX07_15
Main.java:145: error: cannot find symbol
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    ^
  symbol:   method getWindowManager()
  location: class EX07_15
Main.java:154: error: cannot find symbol
    mTextView01 = (TextView) findViewById(R.id.myTextView1);
                   ^
  symbol:   class TextView
  location: class EX07_15
Main.java:154: error: package R does not exist
    mTextView01 = (TextView) findViewById(R.id.myTextView1);
                                           ^
Main.java:155: error: cannot find symbol
    mImageView01 = (ImageView) findViewById(R.id.myImageView1);
                    ^
  symbol:   class ImageView
  location: class EX07_15
Main.java:155: error: package R does not exist
    mImageView01 = (ImageView) findViewById(R.id.myImageView1);
                                             ^
Main.java:158: error: cannot find symbol
    mSurfaceView01 = (SurfaceView) findViewById(R.id.mSurfaceView1);
                      ^
  symbol:   class SurfaceView
  location: class EX07_15
Main.java:158: error: package R does not exist
    mSurfaceView01 = (SurfaceView) findViewById(R.id.mSurfaceView1);
                                                 ^
Main.java:173: error: cannot find symbol
    mSurfaceHolder01.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
                             ^
  symbol:   variable SurfaceHolder
  location: class EX07_15
Main.java:175: error: cannot find symbol
    mButton01 = (Button)findViewById(R.id.myButton1);
                 ^
  symbol:   class Button
  location: class EX07_15
Main.java:175: error: package R does not exist
    mButton01 = (Button)findViewById(R.id.myButton1);
                                      ^
Main.java:176: error: cannot find symbol
    mButton02 = (Button)findViewById(R.id.myButton2);
                 ^
  symbol:   class Button
  location: class EX07_15
Main.java:176: error: package R does not exist
    mButton02 = (Button)findViewById(R.id.myButton2);
                                      ^
Main.java:177: error: cannot find symbol
    mButton03 = (Button)findViewById(R.id.myButton3);
                 ^
  symbol:   class Button
  location: class EX07_15
Main.java:177: error: package R does not exist
    mButton03 = (Button)findViewById(R.id.myButton3);
                                      ^
Main.java:180: error: package Button does not exist
    mButton01.setOnClickListener(new Button.OnClickListener()
                                           ^
Main.java:193: error: package Button does not exist
    mButton02.setOnClickListener(new Button.OnClickListener()
                                           ^
Main.java:206: error: package Button does not exist
    mButton03.setOnClickListener(new Button.OnClickListener()
                                           ^
Main.java:67: error: method does not override or implement a method from a supertype
  @Override
  ^
Main.java:246: error: cannot find symbol
        mCamera01 = Camera.open();
                    ^
  symbol:   variable Camera
  location: class EX07_15
Main.java:250: error: cannot find symbol
        Log.e(TAG, e.getMessage());
        ^
  symbol:   variable Log
  location: class EX07_15
Main.java:258: error: cannot find symbol
        Log.i(TAG, "inside the camera");
        ^
  symbol:   variable Log
  location: class EX07_15
Main.java:261: error: package Camera does not exist
        Camera.Parameters parameters = mCamera01.getParameters();
              ^
Main.java:263: error: cannot find symbol
        parameters.setPictureFormat(PixelFormat.JPEG);
                                    ^
  symbol:   variable PixelFormat
  location: class EX07_15
Main.java:265: error: package Camera does not exist
        List<Camera.Size> s=parameters.getSupportedPreviewSizes();
                   ^
Main.java:273: error: package Camera does not exist
              Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                                    ^
Main.java:273: error: illegal start of type
              Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                           ^
Main.java:273: error: package Camera does not exist
              Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                                                                         ^
Main.java:273: error: illegal start of type
              Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                                                                ^
Main.java:273: error: cannot find symbol
              Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
              ^
  symbol:   variable Log
  location: class EX07_15
Main.java:287: error: package Camera does not exist
                Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                                      ^
Main.java:287: error: illegal start of type
                Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                             ^
Main.java:287: error: package Camera does not exist
                Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                                                                           ^
Main.java:287: error: illegal start of type
                Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                                                                  ^
Main.java:287: error: cannot find symbol
                Log.i(TAG,""+(((Camera.Size)s.get(i)).height)+"/"+(((Camera.Size)s.get(i)).width));
                ^
  symbol:   variable Log
  location: class EX07_15
Main.java:301: error: cannot find symbol
            Log.i(TAG, "startPreview");
            ^
  symbol:   variable Log
  location: class EX07_15
Main.java:305: error: cannot find symbol
            Log.i(TAG, e.toString());
            ^
  symbol:   variable Log
  location: class EX07_15
Main.java:315: error: cannot find symbol
            Toast.LENGTH_LONG
            ^
  symbol:   variable Toast
  location: class EX07_15
Main.java:311: error: cannot find symbol
          Toast.makeText
          ^
  symbol:   variable Toast
  location: class EX07_15
Main.java:325: error: cannot find symbol
        Log.i(TAG, e.toString());
        ^
  symbol:   variable Log
  location: class EX07_15
Main.java:352: error: cannot find symbol
      Log.i(TAG, "stopPreview");
      ^
  symbol:   variable Log
  location: class EX07_15
Main.java:357: error: cannot find symbol
  private ShutterCallback shutterCallback = new ShutterCallback() 
                                                ^
  symbol:   class ShutterCallback
  location: class EX07_15
Main.java:365: error: cannot find symbol
  private PictureCallback rawCallback = new PictureCallback() 
                                            ^
  symbol:   class PictureCallback
  location: class EX07_15
Main.java:373: error: cannot find symbol
  private PictureCallback jpegCallback = new PictureCallback() 
                                             ^
  symbol:   class PictureCallback
  location: class EX07_15
Main.java:426: error: cannot find symbol
      Log.e(TAG, e.toString());
      ^
  symbol:   variable Log
  location: class EX07_15
100 errors
stdout
Standard output is empty