把每天出现的问题记下来,避免遗忘。
1.关于activity设置为singleInstance和singleTask的问题,当设置了此属性的时候,发现onActivityResult方法不好使了,经过查多方资料,发现当然设置此属性的时候,其实直接返回了取消结果返回的,主要原因是此activity实例其实是一直存在的。解决方法:如果跳转到另一个activity也是自己写的话,那么可以返回一个intent,当前activity在onNewIntent方法里处理,如果跳转到的另一个activity不是自己写的,那么只能用一个非singleInstance的activity中转下。
2.关于webview的问题,如果用到webview的时候要和其它的activity交互(比如相机功能)的时候,发现返回到webview的activity的时候,webview会重新加载,这是一个很讨厌人的问题,因为一个webview可能会加载很久,这时候就需要将webview的activity设置为singleInstance,也就是上一个问题。
3.关于camera拍照,android2.0以上api是支持往JPEG图片里写入一些信息的,比如经纬度、拍照时间、白平衡、拍照角度等等一些信息,用到的类是ExifInterface,可是带了一个问题,就是存经纬度的时候发现不能存进去,主要原因是这个类存入信息的时候是按照固定的格式来存入的,比如经纬度的格式是"34.2324254/xxxxx",前者是经纬度,后者是地球半径值好像,因为坐标系的不同(比如54坐标系和西安80坐标系)的地球半径值是不一样的,所以这个类支持的还是比较多的,我们如果只需要存入一种的话完全可以前者是经纬度,后者弄一个固定的后缀,这样自己也好取。
4.下面是获取手机设备方向的方法,需要实现SensorEventListener,然后重写以下方法
@Override
public void onSensorChanged(SensorEvent event) {
float[] values = event.values;
int orientation = Configuration.ORIENTATION_UNDEFINED;
float X = -values[0];
float Y = -values[1];
float Z = -values[2];
float magnitude = X * X + Y * Y;
// Don't trust the angle if the magnitude is small compared to the y
// value
// 这里是关键,来至于谷歌官方
if (magnitude * 4 >= Z * Z) {
float OneEightyOverPi = 57.29577957855f;
float angle = (float) Math.atan2(-Y, X) * OneEightyOverPi;
orientation = 90 - (int) Math.round(angle);
// normalize to 0 - 359 range
while (orientation >= 360) {
orientation -= 360;
}
while (orientation < 0) {
orientation += 360;
}
}
if(orientation < 45 || orientation >= 315){
screentDirection = 0;
}else if(orientation >= 45 && orientation < 135){
screentDirection = 90;
}else if(orientation >= 135 && orientation < 225){
screentDirection = 180;
}else{
screentDirection = 270;
}
}
分享到:
相关推荐
Android开发常用整理(不断扩充中)包含各种工具类、线程池、日志、自定义的控件、程序崩溃捕捉处理、默认的Application配置、常用的Adapter等 注意: > 如果需要使用FragmentTabAdapter,则需要android-support-v4....
### Android开发核心知识点详解 #### 一、Android概述与历史背景 **1.1 Android简介** Android是一个开源的移动设备操作系统平台,它包含了操作系统、中间件以及关键的应用程序。此外,Android还提供了一组用于...
本文将基于“Android开发经验整理”这一主题,详细解析其中包含的关键知识点,旨在帮助新手开发者快速上手,避免常见错误,提升开发效率。 1. **环境配置**:Android开发首先需要安装Android Studio,这是Google...
Android 高级开发面试题以及答案整理 Android 高级开发面试题以及答案整理是 Android 开发者面试的重要参考资料。该资料涵盖了 Java 基础知识、Android 平台知识、数据存储、网络编程、多媒体处理、Android 架构...
Android开发的一些技巧,90个小技巧,doc格式。
以下是一些基于“android开发技巧整理”的核心知识点: 1. **资源优化**:优化图片资源是Android开发中的重要一环。使用WebP格式可以减少图片大小而不牺牲质量。对于SVG矢量图,可以避免在不同设备上因分辨率差异...
《阿里巴巴 Android 开发手册》是阿里巴巴集团各大 Android 开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等 App 长期开发迭代和优化经验系统地整理成册,以指导 Android 开发者更加高效、高质量地...
Android开发资源整理 article:分类积累开发中一些不错的技术博文,主要针对某个知识点做讲解。 blog:包括国内外优秀开发者及其他们的博客。 project:整理开源社区中优秀的开源项目,话说看别人的代码也是一种很...
"Android开发基础知识点" 以下是从给定的文件中生成的相关知识点: 一、Android是什么? * Android是一个针对移动设备的操作系统和软件平台 * 基于Linux内核,由Google和开放手机联盟OHA开发 * 允许使用Java语言...
Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到 特定硬件平台下,同时将必要的驱动进行编写及开发。...Google.Android开发入门与实战.rar
Android蓝牙开发整理知识
Android开发基础教程整理版【PDF】 Android开发教程,基础版,由一系列的教程整理而得,相对基础的知识,高手们就不要看了,本书主要对象是即将跨入Android的编程行列或已经跨入但仍一头雾水的朋友们。在智能手机...
android 安卓开发 app 移动开发 程序员 android面试题整理 android开发工程师必备资料文档
### Android知识点整理:Android开发工程师必备资料文档 #### 一、项目目录结构解析与资源管理 在Android开发中,合理的项目目录结构对于提高代码可读性和维护性至关重要。以下是几个关键目录及其作用: 1. **Src...
Android开发Java基础教程[整理].pdf
【Android开发基础教程整理版】 Android开发是移动应用开发领域中的一个重要组成部分,它基于Linux内核,由Google主导并开放源代码。这个整理版的教程将带你深入理解Android开发的基础知识,助你成为一名合格的...
Android开发教程与视频教程类专题资料免费下载整理合集 Android开发教程与视频教程类专题资料免费下载整理合集 《Android开发从零开始视频教程》【2.3 GB】 ://...
"Android移动应用开发技术教案" Android 移动应用开发技术教案是 Android 开发的入门教程,涵盖了 Android 开发的基础知识和技术。本教案共分为八章,分别介绍了 Android 开发的基础知识、开发环境的搭建、 ...
VirtualBox虚拟机和Android 3.2搭建高效Android开发环境整理.pdf 本文档主要介绍了如何使用VirtualBox虚拟机和Android 3.2搭建高效Android开发环境。下面是从文档中提取的主要知识点: 1. 安装Android-x86系统镜像...