Android
文章平均质量分 65
回归的阿廖
一懒就是一年,想放弃,一直都想
展开
-
Gradle peer not authenticated
修改当前project的build.gradle: repositories { jcenter { url "http://jcenter.bintray.com/" } }原创 2015-10-10 13:00:51 · 2067 阅读 · 0 评论 -
错误: -source 1.6 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
今天晚上运行校长项目时,报错如下:Error:(71, 35) 错误: -source 1.6 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)这个错误对应程序里的代码是:一般正确的写法是在声明的时候指定类型,也就是:List _hotDatas = new ArrayListPublicBlogListBean原创 2015-01-08 23:41:55 · 78570 阅读 · 3 评论 -
Android异步消息处理之Thread+Handler
Android Developers中Keeping Your App Response一文中:No response to an input event (such as key press or screen touch events) within 5 seconds.A BroadcastReceiver hasn't finished executing within 10 se原创 2014-04-12 16:41:01 · 2217 阅读 · 1 评论 -
Android中的线程
这篇博文旨在什么原创 2014-04-08 22:31:55 · 1180 阅读 · 0 评论 -
ANDROID探究oom内幕
从早期G1的192MB RAM开始,到现在动辄1G -2G RAM的设备,为单个App分配的内存从16MB到48MB甚至更多,但OOM从不曾离我们远去。这是因为大部分App中图片内容占据了50%甚至75%以上,而App内容的极大丰富,所需的图片越来越多,屏幕尺寸也越来越大分辨率也越来越高,所需的图片的大小也跟着往上涨,这在大屏手机和平板上尤其明显。而且还经常要兼容低版本的设备。所以Android的转载 2014-04-20 10:32:39 · 1257 阅读 · 0 评论 -
有关ListView优化机制及滑动时数据错乱问题的讨论
该篇内容主要是记录我在实际开发中遇到的ListView滑动时数据错乱的几种情况,以及解决方法。在进行ListView滑动时数据错乱问题讨论之前会对ListView所谓的进行说明。文章末尾分享了几篇文章,增强对ListView使用以及Adapter优化的理解,其中有对adapter优化方法的耗时测试的介绍。Getting Start遇到过的ListView在滑动时数据错乱的几种情况:原创 2014-03-31 18:08:32 · 5709 阅读 · 2 评论 -
List Fragments In Android Studio
原英文链接:List Fragment In Android StudioList Fragment是一个重要的UI结构,用来显示list和grid数据,本篇指南涉及了在一个基础手机应用里如果使用list fragments。Getting Started如果你还没有一个Android Studio项目,可以先创建一个新项目(File -> New Project)翻译 2014-03-28 19:39:46 · 2516 阅读 · 0 评论 -
解读郭神LitePal源码-litepal.xml的解析
在开始使用LitePal时,要求在项目的assets目录下新建一个litepal.xml文件: 该配置文件用来设定数据库的名字、版本号以及所有的对象关系映射模型。什么是对象关系映射模型?因为sql原创 2015-06-08 09:18:17 · 2187 阅读 · 2 评论 -
实现一个最简单图片列表所引发的问题
前一阵看了些Universal-Image-Loager的源码。我觉得看源码很累的一个原因就是除了看怎么实现,就是去揣测为什么这么实现。这个揣测的过程很容易走马观花,看到后面似懂非懂。人懒到一个地步一句话来说是能躺着就绝对不坐着,能坐着就绝对不蹲着,能蹲着就绝对不站着。有时候看源码也是,能看懂就不会想着去debug,debug能看明白的就懒得去动手写写。看和写的感受是不一样的。看的是结果,原创 2015-07-21 13:59:43 · 1730 阅读 · 0 评论 -
降低图片的内存消耗
我们知道产生OOM的原因是内存的使用量持续增长,直到超过了内存使用上限。每部手机对应用程序的内存上限在出厂时就已经是固定的了,所以我们需要尽量控制内存的使用量不要超过这个内存阀值,才能避免OOM。具体的做法就是去减少对象对内存的消耗。而今天要讨论的主要是减少图片对内存的消耗,因为图片消耗内存比较大,大多数应用程序都会有大量图片的加载,产生OOM往往也会发生在加载大量图片的时候。所以对图片占用内存的原创 2015-08-03 15:21:13 · 4618 阅读 · 0 评论 -
如何查看程序可使用的最大内存及内存使用情况
当加载带有大量图片的列表时,通常我们都要考虑到图片达到一定上限时,内存不足引发OOM导致程序崩溃的问题。下一步也许就是去找个图片加载开源框架来一劳永逸。OOM不急着解决,先来了解下关于程序可用内存的一丢丢知识。在面对OOM的时候,你有没有想过这些: 1.什么是OOM OOM都知道是Out Of Memory的缩写也就是内存溢出,通俗点说就是内存用完了。 2.为什么会OOM原创 2015-07-22 15:22:38 · 9727 阅读 · 0 评论 -
解读郭神LitePal源码-表的创建
数据库创建完,该创建表了。在SQLiteOpenHelper类里getWritableDatabase()和getReadableDatabase()方法的内部实现都是调用了getDatabaseLocked()方法,该方法是处理数据库创建,表创建的核心方法。他定义了一系列逻辑骨架,但并不是具体的实现者。下面来看看该方法在创建完数据库后是怎样处理表的创建: private SQL原创 2015-06-12 15:56:12 · 1883 阅读 · 0 评论 -
Android Configuration change引发的问题及解决方法
之前在学习Fragment和总结Android异步操作的时候会在很多blog中看到对Configuration Change的讨论,以前做的项目都是固定竖屏的,所以对横竖屏切换以及横竖屏切换对程序有什么影响都没什么了解。见到的次数多了,总是掠过去心理总觉得不踏实,最终还是好好看了些介绍Congifuration Change的blog,在此做个梳理也不枉花了那么多时间。有疏漏和描述不准确的地方恳请原创 2014-04-16 14:28:15 · 18101 阅读 · 7 评论 -
解读郭神LitePal源码-数据库的创建以及如何修改源码来创建外置数据库
在解析完litepal.xml之后,就可以通过LitePalAttr类的对象获取到数据库名,版本号以及所有有数据库映射关系的对象的类名。得到这些基本信息可以用来创建数据库和表。先只讨论数据库的创建以及怎样修改源码进行外置数据库的创建,表创建和关联关系的设置下篇再说。由于SQLite的数据库创建默认路径是data/data/程序包名/database,所以应用程序一旦被卸载,数据库也就随之消失。如果原创 2015-06-09 17:56:04 · 2012 阅读 · 0 评论 -
WebView与Js交互
上周五,老大让临时搞一个评分app,俩页面,第一个页面显示所有待评分的物业,第二个页面是对应物业的评分页面。评分页面是表格样式的,所以就让web端的同学写个html,我们通过Webview去展示。这里不仅仅是展示就完了,web页面需要知道我们点击的哪个物业以及所填评委的名字并显示在html上,所以客户端需要把这两个值传给html。当评委评分完后点击html里的提交按钮并提交成功后,客户端也需要进行原创 2015-06-08 14:36:28 · 1205 阅读 · 1 评论 -
使用Android Studio新建Project并建立多个module
说明:本篇内容涉及如何在AS中新建一个Project(应用工作区)并在Project里创建多个Module(项目),记录了在创建Module时遇到的问题,比如新建一个Module后选择要运行的项目时,项目标有红色的叉叉导致无法运行。Getting Start在使用Android Studio(以下简称AS)新建项目时都会有这样一个概念:Eclipse中的WorkSpace相当于原创 2014-03-29 23:25:17 · 28849 阅读 · 3 评论 -
Fragments In Android Studio
原英文链接:Fragments in Android Studio这篇指南将会教你在Android Studio上简单地创建和使用Fragment,并在fragment里添加一个按钮,点击按钮会发送一个个动作给持有该fragment的父activity,并且显示一个Toast通知。Getting Started打开Android Studio 并且点击“File ->翻译 2014-03-28 10:22:53 · 4260 阅读 · 0 评论 -
Android-Fragments的使用
请转原文学习:Using Fragmenys in Android - Tutorialwhere I found this resource:干干货分享——Android开发中学习资源大集合(译)很素的翻译开始:2. Fragments2.1. 什么是fragments?fragments是一个能够应用于Activity中的独立组件,他封装了功能,所以在activitys和layouts中更容易翻译 2013-12-23 23:07:32 · 3311 阅读 · 0 评论 -
Android中contentDescription属性作用
android:contentDescription="控件的备注说明"设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明,如ImageButton。这里在界面上不会有效果,自己在程序中控制,可临时放一点字符串数据。原创 2013-10-30 23:07:26 · 5326 阅读 · 0 评论 -
Android_UI_实现TabHost的两种方法
实现TabHost有两种方式:一、1.不继承TabActivity2.在布局文件中定义TabHost1.图文解意:在布局文件tabhostdemo1.xml里怎么定义tabhost,大家看下面的图片(部分代码)即可,文章最后都会贴出完整代码【注意】这里需要强调的是TabWidget的id必须是@android:id/tabs,FrameLayout的id原创 2012-05-25 11:11:20 · 7495 阅读 · 8 评论 -
Android_selector背景选择器的用法
Selector背景选择器可以帮助我们切换自定义的背景风格,用于button、ListView或布局点击时候的背景切换Selector包含一个或多个item元素常用item的属性: android:state_focused ==》true表示获得焦点时显示(例如用滚动球聚焦button),false表示没获得焦点时显示默认 andro原创 2012-05-18 21:00:07 · 2745 阅读 · 0 评论 -
ListView中getView的原理+如何在ListView中放置多个item
转载自OYK博客园 http://www.cnblogs.com/-OYK/archive/2011/05/31/2064781.html此文最原始被翻译自:http://android.amberfog.com/?p=296ListView中getView的原理+如何在ListView中放置多个itemListView 和 Adapter 的基础工转载 2012-06-05 18:42:38 · 1115 阅读 · 0 评论 -
Android_UI_点击按钮切换背景效果实现
实现按钮按下和释放,按钮背景图片相应切换效果的方法这里介绍两种,一种是在代码里实现,另一种是在xml文件里实现一、在xml文件里首先现在layout的一个xml文件下定义Button如下所示: <Button android:id="@+id/btn_user_selected" android:layout_widt原创 2012-05-17 00:57:01 · 16726 阅读 · 5 评论 -
Android项目实战_新浪微博客户端开发过程中遇到的问题及解决办法01
实战项目:新浪微博Android客户端开发(学习ivanhxy老师的视频教程)第四讲系统主框架搭建2_点击登录按钮界面没有刷新改变(2012.5.1)预期效果:运行Android application后,模拟器正常启动微博动画界面,3秒后跳转到登陆界面,登陆界面有一个textview和一个Login button,点击这个登录按钮,textView上相应的text会把“weiboli原创 2012-05-01 10:40:08 · 3865 阅读 · 1 评论 -
Android获取手机屏幕宽高/屏幕状态栏的高度
只要调用方法即可1. 获取手机屏幕宽高 private int mScreenWidth;//屏宽 private int mScreenHeight;//屏高 private void getScreenSize() { Display display = getWindowManager().getDefaultDisplay原创 2013-10-31 09:35:38 · 1828 阅读 · 0 评论 -
Android混淆后运行程序出现异常:Missing type parameter
对程序进行混淆,打包发布版apk,再用真机对该发布版apk进行测试,发现所有有网络请求的页面都无法显示出数据,查看log,发现如下异常:网上查了查"Missing type parameter"这个问题到底是什么原因引起的,可以看到这样的回答因为程序中用到了gson的new typeToken。那应该是在混淆的文件里对typetoken相关的类做了混淆,导致运行时程序不能识别。看上图的原创 2014-01-01 22:50:03 · 6744 阅读 · 0 评论 -
Android Studio上如何混淆打包apk
先分享个链接,这个链接解决了我在用AS混淆打包apk时遇到的一个大问题Gradle failed to build when proguard is activated当时遇到的问题:这个问题,导致我一直在查找failed for task ':项目名:proguardRelease'是怎么一回事,当然查找的结果是少得可怜,几乎没有,后来stackoverflow上的大神回复的原创 2014-01-01 23:24:26 · 4872 阅读 · 2 评论 -
Activity启动edittext自动弹出软键盘解决办法
转载:Activity启动EditText自动弹出软键盘解决办法有时候我们一个Activity中有一个edittext控件,每次跳转到这个Activity,软键盘都会自动弹出,实在是很不爽。其实这就是edittext获得了屏幕的焦点,所以才导致这样的问题发生。只要让它失去焦点就可以了,解决办法如下:1)在Manifest.xml文件中相应的activity下添加一下代码:a转载 2013-12-05 15:08:46 · 3146 阅读 · 1 评论 -
Android选择图片报错Attempted to access a cursor after it has been closed.
Caused by: android.database.StaleDataException: Attempted to access a cursor after it has been closed. at android.database.BulkCursorToCursorAdaptor.throwIfCursorIsClosed(BulkCursorToCursorAd原创 2013-11-14 11:58:00 · 2089 阅读 · 0 评论 -
Android Studio Gradle 'XXX' project refresh failed:Unable to start the daemon process
solution:where I found the solution : An error when creating new project in android studio原创 2013-11-21 17:39:43 · 8351 阅读 · 3 评论 -
Android Studio报错Gradle: Execution failed for task ':MyTest:processDebugResources'.
原先把/res/drawable-hdip里的一张.png图片命名写错,改过后再运行就报出上述错误。但是图片命名已经修改争取了,只好删除该图片,重新拷贝到/res/drawable-hdip目录下,运行成功。原创 2013-11-06 14:46:04 · 6219 阅读 · 0 评论 -
Android Gradle cannot find symbol class Gson
Error:(12, 23) Gradle: package com.google.gson does not existError:(37, 3) Gradle: cannot find symbol class GsonError:(37, 19) Gradle: cannot find symbol class Gsondependencies {compile 'com原创 2013-10-31 17:22:10 · 3441 阅读 · 0 评论 -
Android_UI_全屏去掉标题栏和状态栏的两种方法
Android设置两种全屏的方式:1.在代码中设置【注意】设置全屏的代码必须放在setContentView(R.layout.main)前,否则会报错哦【code eg:】 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)原创 2012-04-29 22:19:04 · 3295 阅读 · 0 评论