项目托管平台地址: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);//显示图像
}
} 点击事件中的代码就是相机的调取和图片的保存操作,之后会在数据库中保存图片的路径用来调取图片。
为防止图片命名冲突,在用时间命名的时候精确到秒,把重复的可能性降到最小。

《团队-手机app便签-开发文档》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. toggle的用法(点击更换不同的function)当指定元素被点击时,在两个或多个函数之间轮流切换。

    一,用法 <html> <head> <script type="text/javascript" src="/jquery/jquery. ...

  2. Apace Ignite剖析

    1.概述 Apache Ignite和Apache Arrow很类似,属于大数据范畴中的内存分布式管理系统.在<Apache Arrow 内存数据>中介绍了Arrow的相关内容,它统一了大 ...

  3. Theano环境搭建/安装

    关键词:theano安装,搭建theano环境, python, 深度学习 因为需要安装theano,结果发现这又是一个难以安装的python包-虽然网上教程不少,然而鱼龙混杂,试验了各种方法流程,最 ...

  4. 一次SQL慢查询的优化处理

    背景 在开发完成,数据验证的过程中,需要对两个非常大的表进行query,运行了十几分钟都跑不完.如下: select * from big_a a, big_b b where a.some_id = ...

  5. bzoj2969 矩形粉刷

    学习一波用markdown写题解的姿势QAQ 题意 给你一个w*h的矩形网格,每次随机选择两个点,将以这两个点为顶点的矩形内部的所有小正方形染黑,问染了k次之后期望有多少个黑色格子. 分析 一开始看错 ...

  6. 【HNOI2004】敲砖块(动态规划)

    越来越懒了,不想粘题目 题解 样例的输入是个很好的提醒, 把他往左边对齐之后 如果要打掉某个位置,那么必须要打掉右上方的所有砖 然后就很明显的一个DP了.... #include<iostrea ...

  7. Heavy Transportation POJ - 1797

    题意 给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值. 思路 不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 22 ...

  8. 【Spring源码分析】Bean加载流程概览

    代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入[Spring源码分析]这个板块就直接切入正题了. 很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事 ...

  9. 与二叉树有关的编程题的Java代码实现

    该文章几乎包含了所有与二叉树相关的基础面试题,其中包括二叉树的四种遍历方法:前序遍历,中序遍历,后续遍历,层次遍历. 算法题包括: 二叉树的序列化和反序列化 给定一颗二叉搜索树,请找出其中的第k大的结 ...

  10. python引用和对象详解

    python引用和对象详解 @[马克飞象] python中变量名和对象是分离的 例子 1: a = 1 这是一个简单的赋值语句,整数 1 为一个对象,a 是一个引用,利用赋值语句,引用a指向了对象1. ...