Android studio
情况一:
描述:写Android app时,出现activity对应的layout预览图所显示的activity是有标题栏的,但是运行该app,无论是模拟器还是真机,却出现没有了标题栏的情况,而自己没有特地隐藏标题栏。
解决:此时出现标题栏消失可能是因为activity继承是Activity而不是AppCompatActivity,而我们在创建app之初,AS默认是继承AppCompatActivity,AndroidManifest.xml文件里对应的theme则是
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
情况二:
描述:多个Fargment使用同一layout ID,在进行来回切换操作时出现“Java.lang.IllegalStateException: commit already called”的错误。
解决:由于本人将FragmentTransaction变量定义为全局变量,导致只能commit一次,所以只要将FragmentTransaction变量定义为局部变量即可。
情况三:
描述:使用FragmentTransaction的replace方法时出现错误:
'replace(int, android.app.Fragment, java.lang.String)' in 'android.app.FragmentTransaction' cannot be applied to '(int, com.jarwell.learnactionbar.ContentFragment, java.lang.String)'
解决:此种情况发生在ContentFragment所继承的Fragment是android.support.v4.app.Fragment,而FragmentTransaction对象所导入的包是android.app.FragmentTransaction,由此出现不兼容的情况。据此只要统一导入包的类型即可,譬如可以分别:import android.app.Fragment和import android.app.FragmentTransaction
情况四:
描述:如何添加assets文件夹?
解决:
首先,在“工程名.iml”文件里的configuration标签下添加以下代码:
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets"/>
然后,在main文件夹里新建一个子文件夹并命名为assets,到此完成,之后就可以往里面添加文件了。
情况五:
描述:在JSON解析时出现了以下错误日志:
08-31 15:36:59.369 13195-13195/? E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources
08-31 15:36:59.370 13195-13195/? E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache
08-31 15:36:59.381 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.382 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.382 13195-13195/? E/dalvikvm: Could not find class 'android.media.session.MediaController', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.383 13195-13195/? E/dalvikvm: Could not find class 'android.widget.Toolbar', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.386 13195-13195/? E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.391 13195-13195/? E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.393 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.395 13195-13195/? E/dalvikvm: Could not find class 'android.transition.TransitionManager', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.402 13195-13195/? E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.410 13195-13195/? E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.412 13195-13195/? E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.416 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.477 13195-13195/? E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
08-31 15:37:32.664 518-795/? E/FWKEXT: Enter GetCurrentOP
解决:出现以上情况,是因为代码所调用的一些方法只能在较高的API level(高于minSdkVersion)上使用,而调试用的机子或模拟器所用的SDK Version小于该API level。如日志第一行提示中的ArrayMap,通过查看Android官方API可得到如下信息:
Added in API level 19
而本人的project的build.gradle如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "com.jarwell.learnjson"
minSdkVersion 17
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
}
其中所使用的minSdkVersion为17,targetSdkVersion 为24,而run app的机子对应的API level恰好是17(17<19<24),因此出现了以上的错误日志信息,尝试用level为19以上的机子或模拟器则运行正常。
Android studio的更多相关文章
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- Android Studio —— 重装 HAXM
Android Studio -- 重装 HAXM 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. Android SDK 自带模拟器一直以慢.卡 ...
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...
- 使用 Android Studio 检测内存泄漏与解决内存泄漏问题
本文在腾讯技术推文上 修改 发布. http://wetest.qq.com/lab/view/63.html?from=ads_test2_qqtips&sessionUserType=BF ...
- 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值
一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...
- 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案
相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...
- android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!
android studio用了很久了,也不知道各位小伙伴有没有还在用eclipse的,如果还有,楼主真心推荐转到android studio来吧,毕竟亲儿子,你会知道除了启动速度稍微慢些,你找不到一 ...
- 解决Android Studio 无法显示Layout视图问题
在Android Studio 当中,如果你选择的SDK的版本 与你所显示的视图版本不一致时,会出现这个错误 Exception raised during rendering:com/android ...
- Android Studio快捷键
一.android studio 默认快捷键 刚开始接触一款开发软件,想必很想了解它的快捷方式,这会对你的编程起到很好的帮助,提高工作效率,接下来给你介绍下Android Studio一些常用的快 ...
随机推荐
- Java中日期的转化
4.如何取得年月日.小时分秒? 创建java.util.Calendar实例(Calendar.getInstance()),调用其get()方法传入不同的参数即可获得参数所对应的值,如:calend ...
- 模块化你的JS代码
为什么要使用模块模式? 因为在全局作用域中声明的变量和函数都自动成为全局对象Window的属性,这经常会导致命名冲突,还会导致一些非常重要的可维护性难题,全局变量越多,引入错误BUG的概率就越大!所以 ...
- ngrok
为什么要使用ngrok?/ngrok 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供它人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 ...
- [转]ASP.NET应用程序生命周期趣谈(一)
这几天一直在看ASP.NET应用程序生命周期,真是太难了,我理解起来费了劲了,但偏偏它又是那么重要,所以我希望能给大家带来一篇容易理解又好用的文章来帮助学习ASP.NET应用程序生命周期.这篇就是了. ...
- Android设置图片内存溢出(OOM)问题——Android开发进阶之路6
ImageView设置图片必备常识技术: Android设备会给每个应用分配16M的内存空间,如果你设置的图片的比较大且同一个页面有多个时,经常会报OOM错误导致程序奔溃.所以在这种情况下我们必须要对 ...
- 带调试器(Debugger)的ILSpy(2.2.0.1738)
2015-03-13 09:40更新: 感谢@dark89757园友提出的调试时不能查看变量的问题. 源码已修改,并提交到了github. 请查看最新发布,二进制文件和源码都在这里: 调试时可查看变量 ...
- nginx+tomcat https实践
1. 安装ssl'证书 使用Let's Encrypt 的免费证书: 下载源代码: git clone https://github.com/letsencrypt/letsencrypt 我时阿里云 ...
- c#批量插入数据库Demo
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...
- 轻量级ORM框架——第一篇:Dapper快速学习
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...
- mac 下JDK 与 tomcat 的安装与配置
一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...