Android平台上有哪些优秀平台的相机 App

最高大上的安卓相机App?专业拍摄ProShot
  安卓棒棒糖有一个非常重要的改进&&第三方App可以调用更多的API,这令第三方App能够拍摄RAW照片,并且对一系列拍摄参数进行细调。不过,要发挥这些专业向的新特性,自然也得配上相应的App。配得上这些专业特性的App不仅需要支持最新版安卓系统,还需要拥有强大齐全的功能。有没有这样的App?这款专业拍摄ProShot就是这样的一款高大上安卓相机App了。软件名称:专业拍摄ProShot软件版本:2.0.0.5软件大小:2.25MB软件授权:免费适用平台:Android下载地址:  为什么说ProShot相机App高大上,首先就体现在对安卓版本的支持上&&ProShot仅支持安卓5.1版本以上的系统,低一点都不行!这就意味着只有新设备以及可以从旧系统升级上来的高端设备,才能运行,是不是有点高端的意思?其次,ProShot的功能非常对得起它的名字,功能和界面都十分Pro,简直是为摄影爱好者定身量造。ProShot相机界面比较简洁但功能却很丰富,不会用的话也有提供说明手册  ProShot相机的界面看上去比较简单,但仔细琢磨,其实可玩的东西非常多。ProShot相机界面显示的东西占位置不多,但界面的上中下方均布置了功能按钮,下方的左中右位置都清晰地安排了各类功能。不仅如此,ProShot相机的对焦框也是集成了很多实用功能了,例如能够充当水平仪。界面下方可以轻松调节EV,而其他地方的按钮则可以呼出不同方面的功能  得益于设计出色的界面,ProShot繁杂的功能被整理得比较顺手。例如,你可以很轻松地在下方调节最常用的曝光补偿,相对没那么需要频繁调节的参数,则可以通过不同位置的按钮呼出。ProShot的按钮设置还是比较有逻辑的,在左下方集成的是和曝光时间相关的功能,例如包围曝光、定时曝光、连拍以及视频拍摄等等;而在右下方集成的则是和曝光程序相关的功能,例如自动模式、手动模式、程序模式,甚至还提供了自定义程序功能。而在界面右侧按钮,集成的则是拍摄参数的调节,例如可以选择照片格式是JPEG还是RAW、用什么白平衡、ISO等等,如果选择的是手动模式,还能够调节快门。自拍定时设置和视频设置,视频还会显示容量,非常贴心连拍设置和拍摄模式设置,可以自定义的东西挺多的可以切换程序模式和手动模式,还提供了C1、C2两个自定义模式存储位置开启手动模式后,能够自行调节ISO、白平衡等参数可以调节快门,能够开启水平仪、直方图、网格线等辅助信息,还能把照片保存为RAW格式  可以说,只要是摄像头能够支持的调节,在ProShot中都能找到。要想把摄像头素质发挥到极致,这款ProShot相机App绝对值得考虑,各种专业功能高大上!但是,ProShot相机App是不是没有缺点?并非如此。ProShot相机App的一大缺点就是运行效率偏低,无论是响应速度还是流畅度,都很成问题。起码在笔者的Nexus 5中,流畅度明显不如系统相机。其实ProShot之前是WP平台上的App,现在有了安卓上的版本,可能还需要适应适应,希望以后版本能够有所优化。  总的来说,ProShot相机的功能非常专业,界面也比较易用,目前的不足就是运行有些卡顿。如果你打算发挥出安卓机摄像头的潜力,可以尝试一下ProShot相机。相关阅读:虚拟偶像走进现实!好玩的初音未来AR相机全新Google相机:连拍后挑选最佳照片老Bug再现!Nexus5升安卓5.1相机或出错新系统绝配!安卓5.0手动相机App体验&
软件论坛帖子排行
最新资讯离线随时看
聊天吐槽赢奖品
相关软件:
大小:1.93 MB
授权:免费
大小:62.51 MB
授权:免费Android平台上的优秀的App - 厚朴〖HOPE〗工作室 >> 厚朴教育 >>
Android平台上的优秀的App
1、Google Keep
快速记录您的想法,并在恰当的地点或时间收到提醒。您还可以创建核对清单、输入语音记事,或拍摄照片并为照片添加注释。您添加的所有内容都会立即同步到您的所有设备(桌面设备和移动设备)上。
有了 Google Keep,您就可以:
? 通过记事、清单和照片记录自己的所思所想
? 为重要的记事添加提醒,然后通过 Google 即时接收提醒
? 自动转录语音记事
? 使用小部件快速记录自己的所思所想
? 用颜色标记各种记事,以便日后查找
? 左右滑动手指来归档不再需要的内容
? 通过添加复选框将记事转换成核对清单
? 随时随地使用自己的记事;系统会将您的记事安全地存储于云端,方便您用浏览器 () 或 Chrome 网上应用店提供的 Google Keep 应用来查看和编辑。
2、Google Play Books
Google Play 上有数百万本图书任您挑选,包括新出版的图书、《纽约时报》推荐畅销书、当红作者佳作以及各种免费图书。可以在Google书库中选择收费或者免费的电子书,然后与手机进行同步,包括书签、图书内容等都可以传至手机,关闭电脑之后依然可以继续阅读。
3、Quickoffice
这款免费的 Google 应用可以让您在 Android 手机和平板电脑上创建和编辑 Microsoft Office? 文档、电子表格和演示文稿。只要使用 Google 帐户登录,即可将工作存储在 Google 云端硬盘上,并可享有高达15GB 的免费存储空间,还能通过任何移动设备或是计算机访问您的文件。
有了 Quickoffice 和 Google 帐户,您可以:
- 创建和编辑 Word 文档、Excel 电子表格、PowerPoint 演示文稿
- 在 Google 云端硬盘和您的移动设备上访问文件
- 打开与查看 PDF 文件
- 通过以前共享的 Google 云端硬盘文件夹共享文件
- 为电子邮件添加附件
4、印象笔记
★ 风靡全球的免费笔记应用,轻松记住一切,越用越聪明!
★ @我的印象笔记,永久收藏微信、微博。
★ 超强搜索功能,连图片里的文字都搜得到
★ 无限大存储空间,文字、照片、录音和各种文件轻松存
★ 电脑手机平板网页,随时随地同步,找到一切记忆
★ 现在推荐好友,就能赚印象分,换高级帐户和1G上传流量等精彩好礼!http://t.cn/zRVIpXm
印象笔记(Evernote)是一款免费且简单实用的生活必备应用。它强大的跨平台同步功能,让你随时随地记录一切有价值的信息,保留美好的记忆,一辈子不忘记。从此,工作更高效,生命更精彩!
5、番茄土豆
番茄土豆是番茄工作法和 To-do List 工具,它可以帮助你计划、管理、执行、记录工作。现在就开始使用番茄土豆,完成了不起的工作!
* 结合番茄工作法和 GTD
结合最高效的时间管理方法“番茄工作法”和 GTD 任务管理方法,让工作如虎添翼。
* 跨平台多终端自动同步
任务和番茄历史数据都将安全的储存在云端,并在多个终端自动同步。供您随时随地使用。
* 完整的工作流管理
集合了完整的工作流管理,在一个应用内完成收集想法、计划工作、完成任务、回顾历史的工作。
6、火猴浏览器
火猴浏览器是一款风靡全球的安卓移动浏览器,拥有独创的WiseStyle前置数据解析引擎和业界首款云端服务,完美地支持各种热门网页应用,具有安全、高速、省流量的产品特性!无论是看小说、刷微博,还是读新闻、玩游戏、亦或观赏视频、网络购物,火猴浏览器都能给您最畅爽的移动互联网体验。火猴浏览器拥有的关键特性如下:
1、极致语音控制。
2、独创引擎,革命性浏览。
3、附近雷达扫描。
4、海量免费手游。
5、流量“0”浪费。
6、全新“习惯”选项,私人定制专属火猴。
7、二维码、条形码极速扫描,链接、下载、参考价格轻松搞定。
7、谁叫我起床闹钟
《谁叫我起床》获得苹果APP Store官方推荐/MIUI 2013年度最佳创新奖/腾讯应用宝第二期小红花奖/中国经济报2013年度中国互联网应用最具竞争力十大品牌。
“谁叫我起床”是史上首个将闹钟、真人语音与社交结合起来的趣味应用。
这款原创易用的应用无需过多介绍,设定闹钟时间与叫醒声音的性别,就会有随机的神秘人来准时叫你起床!
1 有爱:与其它冷冰冰的电子软件不同,这是一个亲切温暖、由用户之间来互相叫醒的语音闹钟。让真实用户来唤你起床,使得闹钟更加有人情味。你也许会孤独地入睡,但一定会温暖地醒来。
2 随机:生活就像一盒巧克力,你永远不知道会得到什么。谁来叫我起床通过随机推送,让起床像吃巧克力一样变成一件幸福的小事吧!
3 有趣:如果用户在听到语音闹铃的60秒内不起床,就永远无法知道刚才叫醒你的人是谁!那美妙的声音到底是谁呢?这样有趣而特别的设定,也会让用户在醒来起床的时候多一点点鼓励。
8、番茄工作法
番茄工作法是简单易行的时间管理方法。番茄工作法是弗朗西斯科·西里洛于1992年创立的一种相对于GTD更微观的时间管理方法。在番茄工作法一个个短短的25分钟内,收获的不仅仅是效率,还会有意想不到的成就感。
文章录入:11hope 责任编辑:11hope
分享本文:
上一篇文章:下一篇文章:相机使用基础之 调用系统中的相机应用
通过Intent直接调用系统相机
  直接调用系统的相机应用,只需要在Intent对象中传入相应的参数即可,总体来说需要以下三步:
  1. Compose a Camera Intent
  &拍照;
  录像。
  2. Start the Camera Intent
  使用方法,并传入上面的intent对象。
  之后,系统自带的相机应用就会启动,用户就可以用它来拍照或者录像。
  3. Receive the Intent Result
&  用接收传回的图像,当用户拍完照片或者录像,或者取消后,系统都会调用这个函数。
关于接收图像
  如果不设置接收图像的部分,拍照完毕后将会返回到原来的activity,相片会自动存储在拍照应用的默认存储位置。
  为了接收图像,需要做以下几个工作:
  1.指定图像的存储位置,一般图像都是存储在外部存储设备,即SD卡上。
  你可以考虑的标准的位置有以下两个:
  这个方法返回图像和视频的标准共享位置,别的应用也可以访问,如果你的应用被卸载了,这个路径下的文件是会保留的。
  为了区分,你可以在这个路径下为你的应用创建一个子文件夹。
  这个方法返回的路径是和你的应用相关的一个存储图像和视频的方法。
  如果应用被卸载,这个路径下的东西全都会被删除。
  这个路径没有什么安全性限制,别的应用也可以自由访问里面的文件。
  2.为了接收intent的结果,需要覆写activity中的&&方法。
  前面说过,可以不设置相机返回的图像结果的操作,此时在startActivityForResult()中不需要给intent传入额外的数据,这样在onActivityResult()回调时,返回的Intent data不为null,照片存在系统默认的图片存储路径下。
  但是如果想得到这个图像,你必须制定要存储的目标File,并且把它作为URI传给启动的intent,使用MediaStore.EXTRA_OUTPUT作为关键字。
  这样的话,拍摄出来的照片将会存在这个特殊指定的地方,此时没有thumbnail会被返回给activity的回调函数,所以接收到的Intent data为null。
  附上程序代码,其中视频存储的返回结果部分没有写代码,视频拍摄后会存入系统应用的默认位置。
系统自带相机应用测试
package com.example.
import java.io.F
import java.text.SimpleDateF
import java.util.D
import android.app.A
import android.content.I
import android.graphics.B
import android.graphics.BitmapF
import android.net.U
import android.os.B
import android.os.E
import android.provider.MediaS
import android.util.L
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.ImageV
import android.widget.T
public class HelloCameraActivity extends Activity
private static final String LOG_TAG = "HelloCamera";
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;
private Button takePicBtn = null;
private Button takeVideoBtn = null;
private ImageView imageView = null;
private Uri fileU
public void onCreate(Bundle savedInstanceState)
Log.d(LOG_TAG, "onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_camera);
takePicBtn = (Button) findViewById(R.id.buttonPicture);
takePicBtn.setOnClickListener(takePiClickListener);
takeVideoBtn = (Button) findViewById(R.id.buttonVideo);
takeVideoBtn.setOnClickListener(takeVideoClickListener);
imageView = (ImageView) findViewById(R.id.imageView1);
private final OnClickListener takePiClickListener = new View.OnClickListener()
public void onClick(View v)
Log.d(LOG_TAG, "Take Picture Button Click");
// 利用系统自带的相机应用:拍照
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// create a file to save the image
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
// 此处这句intent的值设置关系到后面的onActivityResult中会进入那个分支,即关系到data是否为null,如果此处指定,则后来的data为null
// set the image file name
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
private final OnClickListener takeVideoClickListener = new View.OnClickListener()
public void onClick(View v)
Log.d(LOG_TAG, "Take Video Button Click");
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// create a file to save the video
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);
// set the image file name
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
// set the video image quality to high
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
public static final int MEDIA_TYPE_IMAGE = 1;
public static final int MEDIA_TYPE_VIDEO = 2;
/** Create a file Uri for saving an image or video */
private static Uri getOutputMediaFileUri(int type)
return Uri.fromFile(getOutputMediaFile(type));
/** Create a File for saving an image or video */
private static File getOutputMediaFile(int type)
// To be safe, you should check that the SDCard is mounted
// using Environment.getExternalStorageState() before doing this.
File mediaStorageDir = null;
// This location works best if you want the created images to be
// between applications and persist after your app has been
// uninstalled.
mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
"MyCameraApp");
Log.d(LOG_TAG, "Successfully created mediaStorageDir: "
+ mediaStorageDir);
catch (Exception e)
e.printStackTrace();
Log.d(LOG_TAG, "Error in Creating mediaStorageDir: "
+ mediaStorageDir);
// Create the storage directory if it does not exist
if (!mediaStorageDir.exists())
if (!mediaStorageDir.mkdirs())
// 在SD卡上创建文件夹需要权限:
// &uses-permission
// android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
Log.d(LOG_TAG,
"failed to create directory, check if you have the WRITE_EXTERNAL_STORAGE permission");
return null;
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
File mediaF
if (type == MEDIA_TYPE_IMAGE)
mediaFile = new File(mediaStorageDir.getPath() + File.separator
+ "IMG_" + timeStamp + ".jpg");
else if (type == MEDIA_TYPE_VIDEO)
mediaFile = new File(mediaStorageDir.getPath() + File.separator
+ "VID_" + timeStamp + ".mp4");
return null;
return mediaF
protected void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
Log.d(LOG_TAG, "onActivityResult: requestCode: " + requestCode
+ ", resultCode: " + requestCode + ", data: " + data);
// 如果是拍照
if (CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE == requestCode)
Log.d(LOG_TAG, "CAPTURE_IMAGE");
if (RESULT_OK == resultCode)
Log.d(LOG_TAG, "RESULT_OK");
// Check if the result includes a thumbnail Bitmap
if (data != null)
// 没有指定特定存储路径的时候
Log.d(LOG_TAG,
"data is NOT null, file on default position.");
// 指定了存储路径的时候(intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);)
// Image captured and saved to fileUri specified in the
Toast.makeText(this, "Image saved to:\n" + data.getData(),
Toast.LENGTH_LONG).show();
if (data.hasExtra("data"))
Bitmap thumbnail = data.getParcelableExtra("data");
imageView.setImageBitmap(thumbnail);
Log.d(LOG_TAG,
"data IS null, file saved on target position.");
// If there is no thumbnail image data, the image
// will have been stored in the target output URI.
// Resize the full image to fit in out image view.
int width = imageView.getWidth();
int height = imageView.getHeight();
BitmapFactory.Options factoryOptions = new BitmapFactory.Options();
factoryOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(fileUri.getPath(), factoryOptions);
int imageWidth = factoryOptions.outW
int imageHeight = factoryOptions.outH
// Determine how much to scale down the image
int scaleFactor = Math.min(imageWidth / width, imageHeight
/ height);
// Decode the image file into a Bitmap sized to fill the
factoryOptions.inJustDecodeBounds = false;
factoryOptions.inSampleSize = scaleF
factoryOptions.inPurgeable = true;
Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),
factoryOptions);
imageView.setImageBitmap(bitmap);
else if (resultCode == RESULT_CANCELED)
// User cancelled the image capture
// Image capture failed, advise user
// 如果是录像
if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE)
Log.d(LOG_TAG, "CAPTURE_VIDEO");
if (resultCode == RESULT_OK)
else if (resultCode == RESULT_CANCELED)
// User cancelled the video capture
// Video capture failed, advise user
  程序运行截图,拍照之后返回:
  Reference: Camera:
  API Guides: Camera:&
阅读(...) 评论()}

我要回帖

更多关于 优秀的网贷平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信