zoukankan      html  css  js  c++  java
  • 《团队-手机app便签-开发文档》

    项目托管平台地址:https://github.com/Vcandoit/Notepad.git

    我主要负责文件存储部分,文字部分使用sqlite保存。

    因为我们想实现备忘录记录照片、语音的功能,所以还会涉及照片和语音的存储问题,由于语音模块还存在问题,所以我先以照片存储做尝试。

    public class PhotoActivity extends Activity {

    final static int CAMERA_RESULT = 0;
    private Button button;//声明一个Button对象
    private ImageView imageView;//声明一个ImageView对象
        public static final int TAKE_PHOTO = 1;//声明变量代表结果码
    public static final int CROP_PHOTO = 2;
    private Uri imageUri; //图片路径
    private String filename; //图片名称

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.takephoto);
    button = (Button) findViewById(R.id.button);
    imageView = (ImageView) findViewById(R.id.imageView);
    button.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {

    //图片名称 以时间命名
    SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
    Date date = new Date(System.currentTimeMillis());
    filename = format.format(date);
    //在缓存目录中创建MMM文件夹作为图片存储位置
    File path = getExternalFilesDir("MMM");
    File outputImage = new File(path,filename+".jpg");
    try {
    if(outputImage.exists()) {
    outputImage.delete();
    }
    outputImage.createNewFile();
    } catch(IOException e) {
    e.printStackTrace();
    }
    //将File对象转换为Uri并启动照相程序
             //由于版本不同转换方式不同转换Uri之前先判断版本
    if(Build.VERSION.SDK_INT >= 24){
    imageUri = FileProvider.getUriForFile(PhotoActivity.this,"com.example",outputImage);
    }else {
    imageUri = Uri.fromFile(outputImage);
    }
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); //照相
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); //指定图片输出地址

    // 启动照相
    startActivityForResult(intent,TAKE_PHOTO);
    //拍完照startActivityForResult() 结果返回onActivityResult()函数

    }
    });
    }
    /**
    * 用onActivityResult()接收传回的图像,当用户拍完照片,或者取消后,系统都会调用这个函数
    */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if(resultCode==RESULT_OK){
    Bundle extras=intent.getExtras();//从Intent中获取附加值
    Bitmap bitmap=(Bitmap) extras.get("data");//从附加值中获取返回的图像
    imageView.setImageBitmap(bitmap);//显示图像
    }
    }

    点击事件中的代码就是相机的调取和图片的保存操作,之后会在数据库中保存图片的路径用来调取图片。
    为防止图片命名冲突,在用时间命名的时候精确到秒,把重复的可能性降到最小。
  • 相关阅读:
    随笔12 java反射机制
    随笔11 J2EE中常用的名词解释
    随笔⑩ java中的基本数据类型的基础知识
    随笔⑨ java中的变量 --- 类变量(静态变量),final变量,成员变量,局部变量 java中的方法 --- 类方法(静态方法),final方法,成员方法(实例方法),构造方法
    随笔⑧ java中的存根类 --- Stub
    随笔⑦ Java中的比较 ==,equals以及精度对比较的影响
    随笔⑥ 关于线程 --- 线程操作的主要方法
    Jupyter notebook and Octave kernel installation
    [C7] Andrew Ng
    [C6] Andrew Ng
  • 原文地址:https://www.cnblogs.com/cxyliming/p/7777090.html
Copyright © 2011-2022 走看看