Thursday, May 14, 2009

android的相機功能

使用android 相機預覽功能需要幾個物件surfaceView , SurfaceHolder, Camera
surfaceView = (SurfaceView)findViewById(R.id.cameraView);
surfaceHoler = surfaceView.getHolder();
surfaceholder.addCallback(this);
surfaceHolder.setType();

Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
parameters.setPreviewSize(320, 340);
parameters.setPictureSize(320,340);
camera.setParameters(parameters);
camera.setPreviewDisplay(surfaceHolder);

camera.startPreview();

Wednesday, May 6, 2009

intent用法收集

1. 從AP開啟控制台location的設定
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));



2.從AP開啟android內部圖庫,並傳回選擇的圖片

startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SELECT_IMAGE)
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
// TODO Do something with the select image URI
}
}



3. 切換到另外一個class視窗

Intent intent = new Intent(this, RedirectGetter.class);
startActivityForResult(intent, INIT_TEXT_REQUEST);

Tuesday, May 5, 2009

android DDMS 啟動 sdcard存取

須要先建立sdcard鏡像檔, 再啟動模擬器時連結鏡像檔即可存取
1.在commond line下執行 $andoird_sdk_home/tools/mksdcard 256M d:/test/testSDcard.iso
2. 在eclipse中 Run->Run configures->'target'->addtional Emulator Command Line Options,
加入參數-sdcard d:/test/testSDcard.iso
3. 在DDMS啟動Emulator
4. DDMS->File Explorer, 找到sdcard這個目錄, 右上角可以看到'Push a File onto the device', 就可以上傳了

除了直接在DDMS中上載檔案到sdcard, 指令列也可以
1. 同上述第一步驟
2. $andoird_sdk_home/tools/emulator -sdcard d:/test/testSDcard.iso
3. 開另外一個command line, $andoird_sdk_home/tools/adb -e push test.jpg sdcard, 即可上傳test.jpg這份檔案到emulator的sdcard這個目錄

PS 新版的DDMS已經可以直接在create emulator中直接建立sdcard空間