android 基础
文章平均质量分 88
ecosystems
小程序是中国第三次互联网技术革命, 带来的科创浪潮对零售电商、生活服务、内容产业、视频产业、移动出O2O及小游戏等为代表的新业态、新商业影响深远,同时这些新业态、商业模式也在数据和资本上得到了验证。
笔者做为国内第一批Android开发者,经历和见证了移动互联网的一路发展。过去的10年里,从事了5年的垂类APP开发和管理(涉及社交、O2O),5年的浏览器开发和管理,深谙APP开发和管理之道(用户增长、营收、性能体验、动态部署...),目前all in在小程序这样的开发者生态领域 , 为开发者提供多场景的解决方案 ,助力生态发展~
展开
-
Android自定义捕获Application全局异常
收集Andorid异常信息转载 2015-06-27 10:58:21 · 1064 阅读 · 0 评论 -
JAVA 单例模式与多线程
单例模式单例模式是一种常见的设计模式,分三种:懒汉式单例、饿汉式单例、内部类单例、登记式单例几种。单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。懒汉模式不是线程安全的,饿汉模式是线程安全的,内部内模式利用Classloader的特,注册表模式是线程安全转载 2013-05-07 18:08:53 · 696 阅读 · 0 评论 -
去掉gridview 黄色背景
如何取消或定制当点击GridView 的时候出现的那个黄色背景?初始化的时候在代码里面设置setSelector颜色为透明色gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));原创 2013-01-11 11:25:21 · 680 阅读 · 0 评论 -
android adb shell 命令大全
android adb shell 命令大全1. 显示系统中全部Android平台: android list targets2. 显示系统中全部AVD(模拟器): android list avd3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号4. 启动模拟器:原创 2012-12-09 23:16:20 · 627 阅读 · 0 评论 -
popwindow 常用方法
常用的方法:dismiss() 关闭弹出的窗口getContentViewgetBackgroundisClippingEnabled是否裁剪启用isFocusable是否弹出窗口可以抓住焦点boolean isShowing() 是否表明弹出窗口显示在屏幕上boolean isTouchable() 是否弹出窗口支持触摸事件setClippingE翻译 2012-11-25 18:26:38 · 2842 阅读 · 0 评论 -
intent 传递对象
Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);原创 2012-11-01 09:39:07 · 577 阅读 · 0 评论 -
多Activity 跳转
当一个程序里面有多个Activity(例如:A1、A2、A3、A4四个Activity),正常的流程是A1->A2->A3->A4,然后再倒回来。但是为了改善用户体验,又需要能够直接A4->A1或者A2->A4等等。 在Android中有多种方法能够实现Activity之间的跳转,像往startActivity传入目标Activity的类名或者其等,虽然也能够实现想要的跳转,但原创 2012-10-31 17:42:20 · 1059 阅读 · 0 评论 -
service基础
作为android四大组件之一,Services主要用作后台的、耗时操作。它没有UI。应用程序的其他组件可以启动Service,此时Service 即会在后台持续运行,即使用户切换到了其他应用程序,service也依旧运行。此外,组件可以绑定一个Service,一般和它进行交换,甚至实现进程间通信(IPC)。一般:网络传输、播放音乐、执行文件I/O,或者和内容提供者(content provide转载 2012-10-30 12:53:24 · 642 阅读 · 0 评论 -
onclick longclick onTouch 共存
Java代码 int lastX, curX; private int totalMove = 0; private boolean firstDown = true;//开关 int duration = 150; OnTouchListener listViewOnTouchListener = new OnTouchListener() {原创 2012-10-29 17:51:44 · 1151 阅读 · 0 评论 -
ViewGroup View触摸事件
ViewGroup和View触摸事件返回值意义ViewGroup中两个触摸方法1. OnInterceptTouchEvent(MotionEventev)当ACTION_DWON触发函数return false时,后续的ACTION_MOVE,ACTION_UP等事件也会先传递给OnInterceptTouchEvent方法,并将一系列事件传递给子View的原创 2012-09-21 18:10:36 · 638 阅读 · 0 评论 -
canvas drawimage
// GameView.drawImage(canvas, mBitDestTop, miDTX, mBitQQ.getHeight(), mBitDestTop.getWidth(), mBitDestTop.getHeight()/2, 0, 0); public static void drawImage(Canvas canvas, Bitmap blt, int x, i原创 2012-09-19 15:24:20 · 1609 阅读 · 0 评论 -
单元测试
许多开发者都有个习惯,常常不乐意去写个简单的单元测试程序来验证自己的代码。对自己的程序一直非常有自信,或存在侥幸心理每次运行通过后就直接扔给测试组测试了。然而每次测试组的BUG提交过来后就会发现自己的程序还存在许多没有想到的漏洞。但是每次修改好BUG以后还是怀着侥幸心理,认为这次不会有bug了。然后又一次自信地提交,结果又败了。因为这样反复几次后。开发者花在找BUG和修复BUG的这些时间加起来已经转载 2013-07-31 16:58:57 · 619 阅读 · 0 评论 -
android:scaleType属性
android:scaleType属性ImageView.ScaleType.CENTER|android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放,当图片长/宽超过View的长/宽,则截取图片的居中部分显示ImageView的size.当图片小于View 的长宽时,只显示图片的size,原创 2014-01-06 21:04:50 · 789 阅读 · 0 评论 -
android:installLocation 用法科普
在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置.android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:xmlns:android="http://schemas.android.com/ap翻译 2015-04-16 15:51:10 · 755 阅读 · 0 评论 -
总结的不错的Android事件分发介绍
不错的对事件分发介绍博客:1,简单的事件分发流程:2,ViewGroup中的事件分发:顾名思义,ViewGroup就是一组View的集合,它包含很多的子View和子VewGroup,是Android中所有布局的父类或间接父类,像LinearLayout、RelativeLayout等都是继承自ViewGroup的。但ViewGroup实际上也是一个V转载 2015-04-23 17:36:04 · 726 阅读 · 0 评论 -
Android 线程 Looper.prepare()、Looper.loop() 使用
优化项目过程中发现了一个很Low的问题,整理一下,备忘:说问题之前先看下HandlerThread的定义一个封装了looper的线程: Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建一个消息循环,调用Looper.loop()来原创 2015-03-16 21:35:40 · 14237 阅读 · 5 评论 -
Android进程管理
系统会对进程的重要性进行评估,并将重要性以“oom_adj”这个数值表示出来,赋予各个进程;(系统会根据“oom_adj”来判断需要结束哪些进程,一般来说,“oom_adj”的值越大,该进程被系统选中终止的可能就越高)(请发邮件到freeget.one@gmail.com获得翻强软件。)前台程序的“oom_adj”值为0,这意味着它不会被系统终止,一旦它不可访问后,会获得个更高的“oom_adj”转载 2014-12-13 10:59:25 · 788 阅读 · 0 评论 -
android onNewIntent 问题
一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:转载 2014-12-23 19:48:00 · 757 阅读 · 0 评论 -
volley 讲解
总结的不错的Volley介绍: Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded1. 什么是Volley在这之前,我们在程序中需要和网络通翻译 2014-12-22 23:25:20 · 790 阅读 · 0 评论 -
混淆相关
1.如果没有引入第三方类库则直接在project.properties文件末尾添加 proguard.config =proguard.cfg 即可,然后将文件打包。2.如果因为引入了第三方类库而出现打包错误,需要将第三方类库对应的包名添加到proguard.cfg中,以如下形式:[html] view plaincopyprint?翻译 2014-11-29 22:14:54 · 558 阅读 · 0 评论 -
assets目录与res下的raw、drawable目录 存放异同
assets目录与res下的raw、drawable目录一样,也可用来存放资源文件,但它们三者有区别,对比总结如下表: assetsres/rawres/drawable获取资源方式: 文件路径+文件名 R.raw.xxx R.drawable.xxx 是否被压缩:NONOY转载 2014-04-03 10:36:01 · 1660 阅读 · 0 评论 -
AndroidMenifest.xml中minSdkVersion、targetSdkVersion、targetApiLevel的区别
在default.properties中的target是指在编译的时候使用哪个版本的API进行编译。 综上,上面的四个值其实是作用于不同的时期:target API level是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。 minSdkVersion和maxSdkVersion是在程序安装的时候起作用,用于指定哪些版本的设备可以安装此应用。 targetSdkVe原创 2014-04-01 11:27:53 · 802 阅读 · 0 评论 -
梳理ldpi,mdip,hdpi,xhdpi及对应density
drawable H*W Densitydrawable-ldpi 320*240 120 (0.75)drawable-mdpi 480*320 160 (1)drawable-hdpi 800*480 2原创 2014-02-11 17:07:16 · 3619 阅读 · 0 评论 -
dex2jar 使用方法
android反编译工具使用 java文件反编译及dex2jar 使用方法Android学习笔记之反编译工具介绍及下载(Class文件反编译,xml文件反编译整理) 最近在网上查了一些Android文件反编译工具,供大家参考。1.CLASS文件反编译工具:XJAD2.xml文件工具AXMLPrinter2.jar将它放到androi转载 2012-10-08 15:56:08 · 54531 阅读 · 6 评论 -
android 多点触控
对于常规的控件触控操作在内部为View的setOnTouchListener()接口实现的onTouchEvent()方法来处理。对于onTouchEvent方法的参数MotionEvent我们可以详细处理来实现对多点触控的了解,比如 event.getAction() //获取触控动作比如ACTION_DOWN event.getPointerCount(); //获取触控点原创 2012-09-12 16:44:05 · 767 阅读 · 0 评论 -
Matrix 使用
Public Constructors Matrix()Create an identity matrix Matrix(Matrix src)Create a matrix th原创 2012-09-27 16:04:26 · 1179 阅读 · 0 评论 -
Android invalidate 与postInvalidate用法
根据Android SDK api文档说明 invalidate 方法是用来更新视图(View)的方法,不过这东西的用法比较古怪 invalidate 方法如果你直接在主线程中调用,是看不到任何更新的。如果跟线程结合使用的话比如在下面的代码中就会抛出异常 UIThread implements Runnable{ public voi 根据Android SDK api文档说明原创 2012-03-06 16:23:52 · 753 阅读 · 0 评论 -
android scroller
一、结构 public class Scroller extends Object Java.lang.Object android.widget.Scroller 二、概述 这个类封装了滚动操作。滚动的持续时间可以通过构造函数传递,并且可以指定滚动动作的持续的最长时间。经过这段时间,滚动会自动定位到最终位置,并且通过co翻译 2012-03-06 16:11:27 · 847 阅读 · 0 评论 -
android 导入项目 项目中文字乱码问题
乱码问题出现了几次,一直没有在意,今天又出现了,现总结如下:eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文原创 2012-03-02 17:40:16 · 24598 阅读 · 9 评论 -
Android核心模块及相关技术
Android作为一个移动设备的平台,其软件 层次结构包括了一个操作系统 (OS),中间件(MiddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次: 第一、操作系统层(OS) 第二、各种库(Libraries)和Android 运行环境(RunTime) 第三、应用程序框架(Application Fram转载 2011-10-20 22:24:41 · 386 阅读 · 0 评论 -
AndroidManifest文件中android属性
android:allowTaskReparenting是否允许activity 更换从属的任务,比如从短信息任务 切换到浏览器任务。--------------------------------------------------------------------------------------android:alwaysRetainTaskState是否保留转载 2011-10-20 22:08:00 · 468 阅读 · 0 评论 -
<activity>标签的一些属性
android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:configChanges=["mcc"转载 2011-10-20 17:51:17 · 699 阅读 · 0 评论 -
Android开发之--(WIFI,蓝牙,电池,背光,SD卡,摄像头,按键,MIC,重力感应等)功能的简单使用
这篇文章主要是记录前段时间开发所用到的一些技术,在这里做个总结,文中有不足之处还请看到本文的你多多指点。分享分享开发经验,一起提高!1、WIFI(打开,关闭,使能,扫描等)2、蓝牙(打开关闭)3、电池(获取电池的各种参数和状态信息)4、背光(背光调节)5、U盘/SDcard(判断是否插入,读取等)6、屏幕校准(准确的说是点击屏幕的准确度,不是校准屏幕,这是一个简单的算法转载 2011-10-19 21:42:20 · 1901 阅读 · 0 评论 -
Activity详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
一、什么是Activity? 简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity,如下设置当程序第一次运行时用户就会看这个Activity,这个Activity可以通过启动其他的Activity进行相关操作。当启动其他的Activity时这个当前的这转载 2011-10-19 21:38:15 · 3349 阅读 · 0 评论 -
Android 获取设备信息
1)android 获取设备型号、OS版本号: import android.os.Build; // ..... Build bd = new Build(); String model = bd.MODEL; android.os.Build.MODEL an原创 2011-10-20 18:02:10 · 1579 阅读 · 1 评论 -
android中的权限
程序执行需要读取到安全敏感项必需在 androidmanifest.xml 中声明相关权限请求 , 完整列表如下 : android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties” 表在checkin 数据库中,改值可以修改上传( Allows read/write access to the “p转载 2011-10-20 22:18:48 · 448 阅读 · 0 评论 -
android Scroller使用
实现“左右滑屏”核心类是Scroller,将View中的内容左右滚动从而实现滑屏效果。关键方法有:scroller.scrollTo(x,y):直接将View中的内容滚动到指定的(x,y)位置。scroller.scrollTo(dx,dy):直接将View中的内容滚动到相对当前状态的(dx,dy)位置。本例中用于实现手指拖拉移动View的效果。scroller.startSc原创 2012-03-08 16:00:08 · 3341 阅读 · 1 评论 -
android (style&theme)
android 中的样式和 CSS 样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个 view 控件属性的集合。如:需要定义字体的颜色和大小。 在 CSS 中是这样定义的: .itcast{COLOR:#0000CC;font-size:18px;} 可以像这样使用上面的 css 样式: 传智播客 在 Andro翻译 2011-10-24 14:42:48 · 558 阅读 · 0 评论 -
android loader使用详解
装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性:它们对每个Activity和Fragment都有效。他们提供了异步加载数据的能力。它们监视数据源的一将一动并在内容改变时传送新的结果。当由于配置改变而被重新创建后,它们自动重连到上一个加载器的游标,所以不必重新查询数转载 2012-08-27 13:54:43 · 4382 阅读 · 1 评论 -
android 图片裁剪
在android应用程序中加载一张图片,然后把它显示出来这是一件非常容易的事情,那怎么才能显示一张图片的一小部分呢,一种做法是把图片ps一下,要显示的那部分单独存成一张图片,然后程序中加载它,并把它显示出来。但这样会增加程序的图片量。对一张完整的图,用程序去切割你想要的那部分也是很简单的。下面实现的一个程序,是加载了一张图片,然后经过变换让图片填充到手机的整个屏幕,然后在屏幕的中间显示图片转载 2012-08-22 10:47:18 · 4617 阅读 · 0 评论