android

Android基类设计方法详解

1 为什么要设计基类         为什么要给程序设计基类呢?主要是出于2个原因,一是方便代码编写,减少重复代码和冗余逻辑,优化代码:二是优化程序架构,降低耦合度,方便拓展.修改.         ok,编写代码是程序员的第一步,那么第二步就是要编写高质量的代码,代码能实现功能是一方面,写的优美则是另一方面,这也是我们所有攻城狮们应该追求的境界. 2 设计基类的基本思路         那么,哪些东西我们需要抽象到基类中呢?          2.1 重复的代码:如果一个逻辑是大多数子类都需要

Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details

Android Studio 编译中断....   Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details   错误信息如上:   解决方案: drawable里面的图片格式保存不对,Android studio 当编译资源文件的时候(using AAPT(Android Asset Packaging Tool))会抛出异常, 只

Android 软键盘小知识点

chatText = (EditText) findViewById(R.id.chatText); chatText.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER))

EditText 双击才能获取点击事件

在获取EditText点击事件的过程中,发现EditText setOnClickListener事件响应中,只有获取焦点的时候才会响应, 如当焦点在别的控件上时,只能先点击获取焦点,第二次点击才会响应,解决办法改用setOnTouchListener监听, android.view.View下的OnTouchListener接口是只要触摸(touch)状态改变,就会触发该事件. 代码如下:   woman_SDloadText.setOnTouchListener(new View.OnTou

Android 常用动画小结

1. 渐入动画 // Request the next activity transition (here starting a new one). startActivity(new Intent(Animation.this, AlertDialogSamples.class)); // Supply a custom animation. This one will just fade the new // activity on top. Note that we need to als

WARNING [Project: :app] To shrink resources you must also enable ProGuard

新版本的Android Gradle plugin中,对于resource有了更加一步的管理,可以把unused resource移除,不仅是自己工程,并且library里面也可以没有用到的,也可以移除. 需要体验这个功能,build.gradle配置如下: android { ... buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('progu

Android应用截图嵌入到真实设备

Device Art Generator 你可以使用 Device Art Generator 方便快捷地将应用截图嵌入到真实设备的效果图中.这样,当用户在你的网站上或其他宣传材料中看到你的应用截图时,就能更加直观地了解应用的内容环境   地址:去试试吧---->>    

RecyclerView 小记

RecyclerView,是在v7包加入的,一个灵活的view可以展示巨大的数据集,类似于listview的viewholder复用已经优化好了.   语言是苍白的,代码是最生动的叙说:   布局: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layou

Toast的替代者Snackbar

在Android design support library中,SnackBar的使用: Part 2 – Welcome Snackbar, Goodbye Toast! BY PARESH MAYANI - JULY, 1ST 2015 Welcome to the second part of the Android design support library tutorial series. In the first part, we talked about Floating ac

Android 中延迟执行的小结

一.开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage();----告诉主线程执行任务 } }).start   二.利用定时器 TimerTask task = new TimerTask(){ public void run(){ //execute the task } }; Timer timer = new Timer(); timer.schedule(

Android 性能优化之优秀工具以及分析

http://blog.udinic.com/2015/09/15/speed-up-your-app

StrictMode使用详解

StrictMode         StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例.一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例.除了主线程,我们还可以在Handler,AsyncTask,AsyncQueryHandler,IntentService等API中使用StrictMode. 检查策略 StrictMode的线程策略主要用于检测磁盘IO和网络访问,而虚拟机策略主要用于

Android Material Design调色板

  转: http://www.stormzhang.com/design/2014/12/26/material-design-palette/   Material Design出来一段时间了,身为Android开发人员想要自己适配一套Material Design,但是又苦于缺少设计方面的知识与理解,怎么办呢?今天就来介绍一个最简单的适配Material Design的工具. Material Palette 这个工具其实就是一个在线网站,网址: http://www.materialpa

Android Studio使用jni、so库

Android Studio使用jni.so库 在Android Studio1.1之后,AS就已经支持jni和so库了,马上发布的1.3正式版,更是可以在clion环境下编译c.c++,更加方便的使用NDK进行开发,网上有很多讲在Android Studio中使用jni的方法,但大多都是在1.1之前的,那时候还没有直接支持jni,所以需要通过给gradle增加task的方式来添加支持.而现在,这一切都不是事!!! 添加lib库 切换到project标签,直接将jar包复制到libs目录下,在添

开发网站合集

没事整理了下书签,发现了好多好多好多好多好多平时收藏了还没看的东西,先贴下来,慢慢看. EOE  http://www.eoeandroid.com/ AndBase http://www.amsoft.cn/ 酷壳 http://coolshell.cn/ 前端导航站 http://123.jser.us/ 最受欢迎的开源项目 http://www.csdn.net/tag/%E6%9C%80%E5%8F%97%E6%AC%A2%E8%BF%8E%E7%9A%84%E5%BC%80%E6%BA

Android Studio 打包流程

(1)Android Studio菜单Build->Generate Signed APK  (2)弹出窗口  (3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过)     点击"Create new..."按钮创建密钥库        Key store path:密钥库文件的地址         Password/Confirm:密钥库的密码         Key:             Alias:密钥名称             Passw

Android ImageView的ScaleType属性

android中ImageView的ScaleType属性 ScaleType的值分别代表的意义: ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值 ScaleType.CENTER::图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示. ScaleType.CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即

Android Screen Monitor同步手机屏幕到PC

        有时候我们需要在PC上显示真机的屏幕,Android的ADM只能静态的监听一桢图像,所以在Google Code上,Google提供了一个Android Screen Monitor工具来实时显示手机屏幕: http://code.google.com/p/android-screen-monitor/   点击打开链接 介于大部分的朋友无法翻墙,这里提供下CSDN的下载链接 点击打开 System Requirements Ver.2.00 - 2.50 JRE(JDK) 5

android.view.InflateException: Binary XML file line #7: Error inflating class(OOM)

由于页面含有ImageView引起的内存溢出.   作如下处理:在OnDestroy中   Drawable d = imageView.getDrawable(); if (d != null) d.setCallback(null); imageView.setImageDrawable(null); imageView.setBackgroundDrawable(null);

Android Studio之build.gradle小技巧

一: 当你工程引用android 的support包的时候,常常会这样写: dependencies { compile 'com.android.support:recyclerview-v7:22.2.1' }   注意看数字,标示你引用跟你的targetSdkVersion对应的版本的support包,如果一个这样写,倒是也无所谓,如果多的话,并且需要切换targetSdkVersion的时候就有点麻烦了,可以这样写: ext { supportLibVersion = '23.1.1'}