
android技术
文章平均质量分 67
Alostz
态度决定一切!Github:https://github.com/ZBJDSBJ
展开
-
Android:身高、体重横向滚动刻度尺选择器
身高、体重横向滚动刻度尺选择器使用:com.lost.zou.scaleruler.view.ScaleRulerView android:id="@+id/scaleWheelView_height" android:layout_width="match_parent" android:layout_height="45dp"原创 2016-04-18 15:35:46 · 7834 阅读 · 1 评论 -
Android:BaseAdapter优化之ViewHolder 显示系统已经安装应用并打开
acitvity代码:package com.zou.showsysapp;import java.util.List;import java.util.Map;import android.content.Intent;import android.content.pm.ApplicationInfo;import android.graphics.dra原创 2014-11-14 17:45:00 · 721 阅读 · 0 评论 -
Android:新浪微博拉起客户端分享——完美实现同时分享图片和文字(Intent.ACTION_SEND)
新浪微博拉起客户端分享——完美实现同时分享图片和文字(Intent.ACTION_SEND) 点击事件后处理:private void share(String content, Uri uri){ if (AppUtils.isAppExist(mContext, "com.sina.weibo")) {原创 2014-11-14 15:49:47 · 7417 阅读 · 1 评论 -
Android:Activity的四种launchMode
成大事者,须从小事做起;万事起于忽微,量变引起质变。launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建转载 2014-10-08 11:58:07 · 606 阅读 · 0 评论 -
Android:下载动画,图标飞入下载管理动画实现
private void iconFlyOutAnimation(final AppInfoDataBean app, final View v) { int[] location = new int[2]; mImageSwitcher.getLocationInWindow(location); //要下载应用图标的位置,相对于window的位置原创 2014-09-05 16:16:51 · 3347 阅读 · 0 评论 -
Android:将数字画在图片上合成一张图的两种实现方法(二)
/** 功能简述:画出小红点 * 功能详细描述: * 注意: * @param count */ private Drawable initCounterResources(int count) { Drawable mCounterDrawable = null; Bitmap bitmapDrawab原创 2014-09-05 15:17:08 · 5677 阅读 · 0 评论 -
Android:将数字画在图片上合成一张图的两种实现方法(一)
private Drawable initCounterResources(int count) { Drawable mCounterDrawable = null; Paint mPaint = null; if (mCounterDrawable == null) { mPaint = new Paint(P原创 2014-09-04 09:54:01 · 3966 阅读 · 0 评论 -
Android SDK开发包国内下载地址
不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Google不像Apache那样在各国设立镜像站。为了预防今后再出现这样的情况,这次干脆把android开发所需要的各种包总结一下,顺便提供本地下载链接,省得以后找起来麻烦。通过分析SDK Manager里要用到的repository文件转载 2016-04-07 18:12:05 · 953 阅读 · 0 评论 -
Android学习基本索引(三)——记录,没事自己看
1、Volly开源库使用:异步网络请求;2、UIL开源库的使用:异步网络图片加载;3、EventBus开源库:消息传递(最讨厌回调了,这个解决了这个问题);4、shape;5、View事件分发机制:从Activity开始分发;6、View绘制流程:onMeasue、onLayout、onDraw;7、ViewPagerindicator指示器源码;原创 2015-10-13 23:49:12 · 764 阅读 · 0 评论 -
Android学习基本索引(二)——记录,没事自己看
1、基本布局:LinearLayout、RelativeLayout、FragmentLayout;2、Fragment相关;3、RecycleView相关;4、常用控件:5、自定义各种View:圆角、模糊等;6、动画:Animations、Tween等各种自定义动画;7、点9切图;8、SlidingMenu和DrawerLayout(不太熟悉);9、Actio原创 2015-10-13 23:46:31 · 535 阅读 · 0 评论 -
android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】
安装了android studio 之后,按照上文所述的那篇博文下载安装gradle,配置环境变量, 启动android studio,新建项目,发现还是新建不了,界面一直停在 【“building ‘ 项目名’ gradle project info”】: 其实这时候android studio 还是在下载 gradle ,但是由于被墙的原因, gradle 下载原创 2015-08-17 15:35:41 · 945 阅读 · 1 评论 -
Windows环境下Android Studio v1.2安装教程
准备工具JDK安装包。要求:JDK 7以及以上版本。Android Studio安装文件。Windows:exe(包含SDK) (813 MB)exe(不包含SDK) (250 MB)zip (235 MB)Macdmg (234 MB)zip (233 MB)Linux:zip (233 MB)说明:32位系统和64位系统是同一个安装文件。转载 2015-08-05 14:58:41 · 580 阅读 · 0 评论 -
Android:图解classloader加载class的流程及自定义ClassLoader
java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:Bootstrap ClassLoader 负责加载java基础类,主要是 %JRE_HOME/lib/ 目录下的rt转载 2014-11-20 14:24:58 · 3133 阅读 · 0 评论 -
Android:性能典范:拯救计划
前言今天逛稀土时偶然看到hanks分享的一篇英文文章,粗略浏览便已觉得不错,因此翻译成中文,与君分享。原文标题:Android Performance Patterns: Rescue tips原文地址:https://medium.com/@laanayabdrzak/android-performance-patterns-rescue-tips-8c1e4c7转载 2016-04-07 13:56:46 · 810 阅读 · 0 评论 -
Android:自定义Shape 加上阴影shadow之方法
直接用layer-list来实现,在项目 res->drawable中创建一个xml,如果列表中有layer-list选择的话直接选择创建,如果没有的话就随意(似乎4.0以下没有 layer-list选择),没有的话将xml文件中的根标签改为layer-list即可。上述效果具体代码如下: <item android:left="2dp转载 2016-06-07 11:39:21 · 30601 阅读 · 0 评论 -
Android工程师级别
见习工程师 实习生(student engineer)1、掌握基本的Android应用开发和调试技能,了解Android SDK,会用Eclipse开发工具;2、掌握基础控件、UI布局,能够处理多分辨率适配;3、具有较强的团队协作精神及高度的责任心,会使用SVN等协同开发工具;4、了解面向对象编程思想、了解MVC、了解JSON数据。初级android工程师 菜鸟(jun转载 2016-06-10 18:21:59 · 7166 阅读 · 0 评论 -
Android 内存泄露简介、典型情景及检测解决
什么是内存泄露?Android虚拟机的垃圾回收采用的是根搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到gc roots导致无法被GC回收。无用的对象占据着内存空间,导致不能及时回收这个对转载 2016-05-31 15:43:21 · 1299 阅读 · 0 评论 -
Android性能优化之一:ViewStub
ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及特定的方法。当ViewStub使用在布局文件中时,当程序inflate布局文件时,ViewStub本身也会被解析,且占据内存控件,但是与其他控件相比,主要区别体现在以下几点:1.当布局文件inflate时,ViewStub控件虽然也占据内存,但是相相比于其他控件,ViewStub所占内存很小;2.转载 2016-05-31 14:51:27 · 629 阅读 · 0 评论 -
Android:颜色透明度换算
简介颜色Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。常用的颜色值格式为:1234#RGB#ARGB#RRGGBB#AARRGGBB其中,ARGB 依次代表透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)。以颜色值 #FF99CC00 为例,其中转载 2016-04-18 14:11:42 · 5741 阅读 · 0 评论 -
Android学习基本索引(四)——记录,没事自己看
更好地开发一个Android应用1.1. 基本搭架子 – 1. 目前以多Tab + Fragment为主,已成型; 2. 项目结构异步加载图片 – UIL,Glide网络请求 – robospice + google http clientJson – jackson2缓存机制 – robosp原创 2016-04-09 15:24:45 · 477 阅读 · 0 评论 -
Android:Widget学习
AppWidget就是HomeScreen上显示的小部件,提供直观的交互操作。通过在HomeScreen中长按,在弹出的对话框中选择Widget部件来进行创建,长按部件后并拖动到垃圾箱里进行删除。同一个Widget部件可以同时创建多个。1.Widget设计步骤 需要修改三个XML,一个class: 1)第一个xml是布局XML文件(如:main.xml),是这个widget的。一般原创 2015-01-21 20:41:03 · 686 阅读 · 0 评论 -
Android:的Bitmap进行ClipPath存在锯齿
一般去除锯齿有2中方法1、mPaint.setAntiAlias(true);2canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG|Paint.ANTI_ALIAS_FLAG));但是 如StackOverflow的问题:http://stackoverflow.com/q原创 2015-01-23 15:10:50 · 8766 阅读 · 1 评论 -
Android: Bluetooth Input 连接流程分析
在setting界面点击连接,会调到CachedBluetoothDevice类的connect方法,调用 updateProfiles(),根据搜索到的device的uuid来向ProfilesList里添加profile,然后遍历 ProfileList,根据不同的profile来获得profileManager。 然后判断当前的device的Priority,如果Priority原创 2015-07-29 10:44:59 · 3931 阅读 · 0 评论 -
Android:手机关闭相机拍照声音
1.首先需要手机已经获取root权限,如过还未root,可以参考网上的root教程参考文章2.安装RE管理器3.打开RE管理器,4.进入声音文件目录:system\media\audio\ui ,挂载读写权限5.音频文件为非ogg格式就可以,例如:改为shutter.ogg0或shutter.ogg.dat等6.然后就可以了,不行重启手机原创 2015-07-30 17:37:14 · 1470 阅读 · 1 评论 -
SVN:MAC SVN Android studio不能提交.so文件
MAC Xcode自带的svn和Versions以及一些其它工具都默认ignore".so"文件。不能提交.so文件, 这个与SVN的配置有关, 其实与xcode倒没有关系。方法一: 1. 打开终端, 在命令行中输入: vi ~/.subversion/config 来打开配置文件. 2. 然后, 在[miscellany]项找到这个串: # global-ig原创 2016-03-22 17:01:00 · 5458 阅读 · 4 评论 -
10个学习Android开发的网站推荐
1. Android Developers作为一个Android开发者,官网的资料当然不可错过,从设计,培训,指南,文档,都不应该错过,在以后的学习过程中慢慢理解体会。2. Android Guides - CodePathCodePath是国外一个技术培训机构,主要培训iOS 和Android开发,而CodePath将Android Guides放在Githu转载 2015-08-05 10:37:02 · 705 阅读 · 0 评论 -
linux环境Android源码编译环境搭建
linux环境Android源码编译环境搭建一、安装linux操作系统 可以自己的电脑上装一个虚拟机或者双系统,建议用另外一台电脑做服务器,方便以后的工作。linux操作系统安装方式有很多,下面介绍几种常用的安装方法。 1.用光盘或者硬盘安装(最简单) 2.linux镜像+wubi.exe(网上资料很多) 首先,空出一个盘符(如F盘原创 2015-06-26 11:50:43 · 897 阅读 · 0 评论 -
Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
转载:http://blog.youkuaiyun.com/guolin_blog/article/details/9097463转载 2014-12-03 20:49:43 · 1148 阅读 · 0 评论 -
改变listView的选中的颜色(二)
改变listView选中颜色的另一种方法 :在android自定义adapter extendsBaseAdapter,做有自己布局的listView:ListView listView = (ListView)convertView.findViewById(R.id.list_view);//修改点击时的背景颜色listView.setOnItemClickListen原创 2014-08-24 13:57:30 · 731 阅读 · 0 评论 -
Android L反射扫描不到包名原因
由于我们是调用了隐藏的API 。这部分通过反射方法拿到。。在android L 之后版本,这一隐藏API接口的构造方式有所改变,从而导致了该实现方式无法构造Constructor类成功,需要针对版本进行区分调用构造该对象。 Android L版本前的构造方法Class pkgParserCls = Class.forName(path_packageparser);Object原创 2014-12-16 14:05:47 · 1249 阅读 · 1 评论 -
改变listView的选中的颜色
1、改变listView的选中的颜色 :listview默认情况下,item的背景色是黑色,在用户点击时是黄色的。如果 需要修改为自定义的背景颜色,一般步骤如下:1)设置listSelector2)在布局文件中设置item的background首先写好selector.xml文件: selectorxmlns:android="http://schemas.andr原创 2014-08-24 13:54:34 · 1255 阅读 · 0 评论 -
Android中dip(dp)、px、sp之间单位转换
今天心情好,学习动力足,再来几篇。我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。在Android中支持的描述大小区域的类型有以下几种。px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。dip(device independent pixels)——设备独立像原创 2014-12-26 14:16:56 · 636 阅读 · 0 评论 -
ScrollView嵌套GridView的滚动事件解决
今天在项目中遇到一个ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,外层的ScrollView会对滚动事件进行拦截,就会存在GridView会显示不全。 解决办法,继承GridView控件,重写onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理:修改如下/** * 类描述:自定义一个GridV原创 2014-12-16 19:58:39 · 5567 阅读 · 0 评论 -
采用反射获取包名
反射获取包名的方法:/** * 功能简述:采用反射获取包名 * 功能详细描述: * 注意: * @param ctx * @param apkPath * @return */ private static HashMap sApkPathMap; public static String getApkFileInfoFromReflect(Conte原创 2014-11-27 11:08:43 · 1418 阅读 · 0 评论 -
Eclipse编辑器基本设置
1、添加行号 在边缘处右键 2、改字体 字体的一般配置 3、去掉拼写错误检查 4、Java代码风格 代码格式化 Ctrl + Shift + F 之后点击右边的New按钮,新建一个风格。 点击OK 上图中选转载 2014-11-13 09:47:20 · 641 阅读 · 0 评论 -
Android回调机制
一、回调函数 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。详细解释: 客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C转载 2014-08-24 13:58:41 · 437 阅读 · 0 评论 -
handler机制的原理
andriod提供了Handler 和 Looper来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler:你可以构造Handler对象来与Looper沟通,以便push新消原创 2014-08-24 13:51:01 · 538 阅读 · 0 评论 -
Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了。那么今天我们将继续上次未完成的话题,从源码的角度分析ViewGruop的事件分发。首先我们来探讨一下,什么是ViewGroup?它和普通的View有什么区别?顾名思义,ViewGroup就是一组View的集合,它包含很多的子Vie转载 2014-12-03 21:39:50 · 657 阅读 · 0 评论 -
理解Class.forName的含义
上文提到的状态栏高度获取中,对Class.forName不太熟悉,这里学习学习。官方文档初始化参数指定的类,并且返回此类对应的Class 对象(不了解Class类的同志,应该首先查看下java反射相关知识)。例如,以下代码片段返回 java.lang.Thread 类对应的Class对象。Class t = Class.forName("com.android.internal.原创 2014-12-26 11:27:49 · 908 阅读 · 0 评论 -
Futurice公司Android开发者总结的经验教训
使用Gradle和Gradle默认的项目结构将密码和敏感数据放在gradle.properties中不要实现自己的HTTP客户端,使用Volley或者OkHttp库使用Jackson库解析JSON数据由于65K的方法空间限制,避免使用Guava并使用尽可能少的库用Fragment来显示UIActivity只用来管理FragmentXML也是代码,管理好XML代码使用样式来减少布局XML代码中重复属原创 2015-04-23 18:41:58 · 2036 阅读 · 0 评论