- 博客(204)
- 资源 (1)
- 收藏
- 关注
原创 Activity界面绘制过程详解
Activity界面绘制过程详解设置界面首先就是Activity.setContentView()方法:我们先看一下他的源码:/** * Set the activity content from a layout resource. The resource will be * inflated, adding all top-level views to the activi...
2018-07-08 22:33:13
2777
原创 自定义View详解
自定义View详解虽然之前也分析过View绘制过程,但是如果让我自己集成ViewGroup然后自己重新onMeasure,onLayout,onDraw方法自定义View我还是会头疼。今天索性来系统的学习下。onMeasure/** * <p> * Measure the view and its content to determine the...
2018-07-08 22:28:38
974
原创 ADB常用命令
ADB(Android Debug Bridge),连接电脑和手机的桥梁=.=,位于SDK目录下的platform-tools下1. 安装APK程序DavidtekiMacBook-Air:EverydayStudy du$ adb install -r /Users/du/AndroidProjectForGerrit/EverydayStudy/app/build/outputs/apk/ap...
2018-07-08 21:49:28
896
原创 Android Studio--Gradle多渠道打包
由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。友盟多渠道打包废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段:<meta-data android:name="UMENG_CHANNEL" android:v...
2018-07-08 21:47:52
258
原创 Android Studio中进行单元测试和UI测试
目录在Android Studio中进行单元测试和UI测试 - 1.概述在Android Studio中进行单元测试和UI测试 - 2.创建新的Android Studio工程在Android Studio中进行单元测试和UI测试 - 3.配置支持单元测试的工程在Android Studio中进行单元测试和UI测试 - 4.创建第一个单元测试在Android Studio中进行单元测试和UI测试 ...
2018-07-08 21:44:39
3068
原创 Android资源访问机制—获取Resources对象
我们知道在开发中,需要应用程序资源,如应用工程中assets和res目录下的图片,layout,values等,或者需要系统内置的资源。我们获取这些资源的入口对象都是Resources对象,并博文将分析如何获取Resources对象。 获取Resources的过程:(1)将framework/framework-res.apk和应用资源apk装载为Resources对象。(2)获取Resource...
2018-07-08 21:41:47
4587
1
原创 Android开发到底做什么?
android开发时下很流行,且工资高需求量大。随便大街上看一堆人手里都是拿着android手机,屌丝嘛我也是用android手机的,便宜嘛,不好用了不好看了换个。android手机类等移动产品数不甚数,android产品百花齐放自然android开发需要就上来了,android开发工程师诚聘待遇高福利好就等你来了。是不是这样的呢?我们就多目前流行的android开发来聊聊。以下纯
2016-05-16 11:33:49
5029
原创 android:ListView的局部刷新
1.简介对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView。在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容。这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后l
2016-05-16 11:26:13
689
原创 Android Sqlite 数据库版本更新
Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的疑问:1. 帮助文档里说的“数据库升级”是指什么?你开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,你在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本就要被升级了。
2016-05-16 11:22:02
474
原创 Android中使用广播机制退出多个Activity
谷歌百度一下,Android中退出多个Activity的方法,大家讨论的很多。 在实习的时候,看到公司的项目退出多个Activity,是采用LinkedList方法,毕业设计的时候,也参照了那种方法。完成之时,无意在网上看到的可以使用广播机制退出Activity。看了一部分人的博客、文章等教程,发现也是摘抄的“很随便”,说的不详细,或不能实现。 看了他们的意思,写了
2016-05-16 11:19:30
510
原创 浅谈 EventBus
概述:EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service。线程之间传递消息.优点是开销小,代码更优雅,以及将发送者和接收者解耦。-------------------------------------------------------
2016-05-16 11:16:28
603
原创 android设置webview的适配比例,setInitialScale 方法神奇的功能
android webview setInitialScale 方法神奇的功能. web.setInitialScale(25);//为25%,最小缩放等级 解释: 里面的数字代表缩放等级 web.setInitialScale(100); 代表不缩放。 什么是不缩放? 比如你要加载的网页
2016-05-16 11:15:16
16856
1
原创 android中webview支持位置定位
WebView webView = (WebView)findViewById(R.id.webview);androidWebView webView = (WebView)findViewById(R.id.webview);WebSettings webSettings = webView.getSettings();//web
2016-05-16 11:05:35
1287
原创 android中webview控件和javascript交互实例
这篇文章主要介绍了android中webview控件和javascript交互实例,例子中包括javascript调用java的方法,java代码中调用javascript的方法,需要的朋友可以参考下当我们要实现丰富的图文混排效果的时候,我们一般会使用webview,这是一个功能十分强大的的控件,来看看官方的解释:复制代码代码如下:A View th
2016-05-16 11:02:14
524
原创 Android WebView 缓存处理
当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹:我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webviewCache文件夹下.WebView中存在着两种缓存:网页数据缓存(存储打开过的页面及资源)、H5缓存(即AppCache)。一、网页缓存1、缓存构成/dat
2016-05-16 11:00:35
324
原创 Android微信支付的两大坑点
并不是所有的BAT的API都是那么好用,微信支付就有不少的坑点,总结一下微信支付实现中出现的坑点坑点一:PayReq的参数 sign的生成PayReq对象有个参数为packageValue而sign生成时要用到packageValue,但是对应的Key是package,这里的key容易弄错List signParams = new LinkedList(); s
2016-05-16 10:58:34
489
原创 四种方案解决ScrollView嵌套ListView问题
本帖最后由 echohe 于 2014-4-9 10:13 编辑以下文章转自@安卓泡面在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、
2016-05-16 10:49:53
491
原创 Android将程序崩溃信息保存到本地文件
大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开
2016-05-16 10:42:07
675
转载 Android将应用log信息保存到文件
相信大家在做应用调试的时候,不可能时时通过USB线连着电脑去查看log信息,所以,将应用的log信息保存到手机本地就很有必要了,有助我们从这些log信息中提取有用的部分,以解决一些bug,下面我把网上分享的代码中作了一些精简,作为开发者使用,个人觉得没必要通过用户上传给我们,用户上传的不需要这么庞大的log信息,仅仅那部分崩溃的log信息即可,可参考我的另外一篇blog:http://blog.c
2016-05-16 10:40:29
611
原创 Making Your ActionBar Not Boring
这篇文章转自国外一个技术大牛的博客,首先感谢这位大牛的无私奉献。 Android应用中有一名位 Google书报摊的应用,他实现了一种新的ActionBar风格。当用户初始进入该界面的时候,为一个透明的 ActiionBar ,这样利用充分的空间显示大图片,如果用户滚动页面需要查看内容的时候,则大图收缩到 ActionBar 中。 这个的主要
2016-05-16 10:27:58
592
转载 Android 记录和恢复ListView滚动的位置的方法
本文主要介绍记录和恢复listView滚动位置的3种方法,记录listView滚动到的位置的坐标(推荐)、记录listView显示在屏幕上的第一个item的位置、通知适配器数据改变。有时在view切换时,需要恢复listView之前滚动到的位置,鉴于网上已有资料说的都是第二种方法,而第二种方法本身在精确度上较差,自己找到了第一种方法分享下。1、记录listView滚动到的位置的坐标
2016-05-16 10:26:29
480
原创 Android加载图片内存溢出问题解决方法
这篇文章主要介绍了Android加载图片内存溢出问题解决方法,本文讲解使用BitmapFactory.Options解决内存溢出问题,需要的朋友可以参考下1. 在Android软件开发过程中,图片处理是经常遇到的。 在将图片转换成Bitmap的时候,由于图片的大小不一样,当遇到很大的图片的时候会出现超出内存的问题,为了解决这个问题Android API提供了BitmapFa
2016-05-16 10:22:09
688
原创 附录_字符集问题
字符集问题一、字符集问题的起源: 众多字符集一直是困扰初级程序员的一个问题,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示
2016-01-20 10:44:35
429
原创 附录_正则表达式的用法
正则表达式及应用一、 正则表达式(一)、概念: 正则表达式(regular expression)就是由普通字符(例如a到z)以及特殊字符(称为元字符)组成的一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件
2016-01-20 10:43:42
767
原创 附录_UI开发推荐颜色
Android UI开发推荐颜色res/values/colors.xml: #ffffff #fffff0 #ffffe0 #ffff00 #fffafa #fffaf0 #fffacd #fff8dc
2016-01-20 10:42:53
347
原创 附录_MIME TYPE
MIME TYPE一、(MIME,Multipurpose Internet Mail Extensions)(一)概念:MIME意为多功能Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。后来在http协议中也采用此标准,对传输的数据类型进行类型标识,这些信息是在http协
2016-01-20 10:42:11
876
原创 附录_HTTP状态码
HTTP状态码HTTP状态码(HTTP Status Code)一些常见的状态码为:200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 一、1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器
2016-01-20 10:41:21
403
原创 附录_Android中常用英文单词
Android常用英文词汇ANR (Application Not Response ) bundle 捆,entire 整个的,完整的lifetime 生命周期entire lifetime 完整生命周期visible lifetime 可见生命周期foreground lifetime 前沿生命周期
2016-01-20 10:40:47
1427
原创 附录_Android权限大全
Android权限大全android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问在checkin数据库中"properties"表,改值可以修改上传( Allows read/write access to the "properties" table in the checkin database, to change
2016-01-20 10:40:06
574
原创 Android49_项目需求说明及可行性分析文档基本格式
项目需求说明及可行性分析文档基本格式一、文档基本格式:(一)、项目说明及功能可行性分析:1、描述这个项目的主要功能: 也就是这个项目是做什么的,都有哪些功能?简单地综合介绍即可。2、项目可行吗? 也就是介绍制作这个项目的原因。为什么要开发这个项目,你的出发点是什么?这个项目有
2016-01-20 10:38:54
3983
原创 Android48_应用程序发布
一、应用程序发布:(一)、概述: 应用程序开发出来之后,就要考虑推广问题。如何让更多用户知道并使用自己开发app呢?最常用的做法就是发布到某个app商店中。这样用户可以在应用商店中找到我们的应用,然后下载和安装。 常见的应用商店有:Google Play,91,豌豆荚,机锋,360等。(二)、Eclipse开发的程
2016-01-20 10:37:30
403
原创 Android47_传感器Sensor
传感器Sensor一、传感器:(一)、传感器概述:1、简介:Android手机中常支持多种类型传感器,如:光照传感器、加速度传感器、地磁传感器、压力传感器、温度传感器等。赛车游戏、微信摇一摇、指南针都需要借助传感器来完成。2、传感器使用步骤:【重要】获取SensorManager对象:sensorManager = (Sens
2016-01-20 10:36:46
491
原创 Android46_摄像头
摄像头一、使用Intent拍摄照片:(一)、使用步骤:1、启动系统原生的Camera程序来拍摄照片: intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);最简单的方法是使用:MediaStore.ACTION_IMAGE_CAPTURE动作触发一个Intent。这将启动一个Camera应
2016-01-20 10:35:57
278
原创 Android45_JPush极光推送及ShareSDK
JPush极光推送及ShareSDK一、JPush:(一)、Android实现推送方式解决方案:1、推送方式基础知识: 在移动互联网时代以前的手机,如果有事情发生需要通知用户,则会有一个窗口弹出,将告诉用户正在发生什么事情。可能是未接电话的提示,日历的提醒,或是一封新的彩信。推送功能最早是被用于Email中,用来提示我们新的信息。由于时代的发展和移动
2016-01-20 10:35:01
875
原创 Android44_SurfaceView
SurfaceView一、SurfaceView: (一)、SurfaceView介绍:1、前言: 在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制。又由于不占用主线程资源,S
2016-01-20 10:34:07
481
原创 Android43_Touch事件的分发和消费机制
TouchEvent事件处理及事件消费一、简介 :事件分发主要分为两部分:view的事件分发和viewgroup的事件分发。在探讨事件分发机制之前,先需要搞清楚android两个基础控件view和viewgroup,以及它们之间的关系:view是没有子控件的,像button,textview都是view控件。而viewgroup继承自view,是可
2016-01-20 10:32:22
302
原创 Android42_Gesture手势
Gesture手势一、Gesture基础:(一)、概念: 所谓手势,其实是指用户手指或者触摸笔在触摸屏上的连续触碰行为。比如在屏幕上从左至右划出一个动作,就是手势。再比如在屏幕上画一个圆圈也是手势。手势这种连续的触碰会形成某个方向上的移动趋势,也会形成一个不规则的几何图形。应用程序中的手势就是:多个持续的触摸事件在屏幕上形成特定的形状。
2016-01-20 10:30:51
554
原创 Android41_SlidingMenu及DrawerLayout
SlidingMenu滑动菜单及DrawerLayout一、SlidingMenu基础:(一)、SlidingMenu简介: SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果。如Evernote、Google+、Foursquare等
2016-01-20 10:29:52
449
原创 Android40_PullToRefresh
PullToRefresh下拉刷新和上拉加载一、PullToRefresh基础:(一)、简介: 在Android开发中有时我们需要访问网络实时刷新数据,比如QQ好友在线状态最新信息,QQ空间需要显示更多的好友动态信息,EOE论坛客户端显示更多的文章帖子信息等。android-pulltorefresh开源项目提供一个向下滑动即刷新列表的功能,将该项目稍
2016-01-20 10:28:49
333
原创 Android39_Volley网络通信框架
Volley网络通信框架一、Volley介绍:(一)、为什么要用Volley?Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式
2016-01-20 10:27:31
570
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人