Android
文章平均质量分 57
fengxingzhe001
这个作者很懒,什么都没留下…
展开
-
AlertDialog常见问题汇总
ALertDialog作为Android原生控件,使用简单方便,日常开发中,我们可能根据需求,实现不同的视觉效果,比如修改对话框显示位置,文字颜色和大小,对话框的宽高等,下面将讲述一些常用需求的解决方案1 修改AlertDialog宽度2 去除阴影效果3 去除黑色背景原创 2017-03-22 16:52:56 · 1599 阅读 · 0 评论 -
LocalBroadcastManager用法
在Android系统中,Broadcast是一种在程序中广泛应用的机制,其作用主要是在程序内或程序间传递消息,基本原理是广播监听者注册监听感兴趣的广播,收到广播后进行自身逻辑的处理。 Android系统提供的基本组件是BroadcastReceiver,其设计初衷是从全局考虑,可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言 这种方式存在安全隐患 (恶意程序脚本不断的原创 2017-03-16 09:43:11 · 637 阅读 · 0 评论 -
sfgdsg
private static LocalBroadcastManager mInstance; public static LocalBroadcastManager getInstance(Context context) { synchronized (mLock) { if (mInstance == null) {原创 2017-03-16 08:59:55 · 276 阅读 · 0 评论 -
Adb error: more than one device/emulator
项目开发中经常需要使用adb命令进行调试,当手机连接电脑,准备使用adb shell命令是,出现如下错误C:\Users\hzk\ adb shell error: more than one device/emulator 从错误提示看出,是电脑上连接多个设备,导致adb shell 命令不知道操作哪一个,才爆出错误,使用adb devices查看一下:C:\Users\hzk\ adb dev原创 2017-03-10 13:32:41 · 7467 阅读 · 0 评论 -
显式调用与隐式调用
Android 开发中,对于组件(Activity,Service)的调用有两种方式:显示调用和隐式调用,我们通过一个例子,展示一下二者的差异。 新建一个项目,里面包含TestActivity.java和WinService.java两个类,public class MainActivity extends AppCompatActivity { private ServiceConnect原创 2017-03-14 09:45:26 · 6439 阅读 · 0 评论 -
java读取文件API速度对比
上一篇我们介绍了使用java写入到文件,不同io类速度差异较大,本篇我们将介绍从文件读取数据,速度的差异。 测试文件text01.txt,text02.txt,text03.txt, 文件大小均为85938KB, 测试代码:package com.win.sample;import java.io.BufferedInputStream;import java.io.BufferedOutput原创 2017-03-28 18:20:39 · 5443 阅读 · 0 评论 -
Gradle sync failed: Could not find com.android.tools.build:gradle:2.2.3
使用Android studio导入工程后,gradle编译时遇到如下错误: Gradle sync failed: Could not find com.android.tools.build:gradle:2.2.3. Searched in the following locations: file:/D:/Program Fil原创 2017-03-27 16:34:01 · 11436 阅读 · 3 评论 -
JsBridge基本用法
Android开发中,由于Android系统的碎片化比较严重,开发者多数时间放在UI的适配上,使用原生控件开发耗时耗力,而且在实现复杂界面时,原生控件的布局能力较弱,一种常见的方案是使用H5来负责复杂界面的布局,用Android提供的原生控件WebView进行加载,但界面和系统的逻辑交互以及数据交换,又成为了一个问题,JsBridge的诞生正好解决了这一难题。1,JsBridge基本概念Androi原创 2017-03-27 15:57:03 · 6068 阅读 · 0 评论 -
Android Studio配置文件修改
当下Android App开发基本都转向了使用Android studio(简称AS),AS是基于Idea Intellij平台开发的,非常稳定,并且扩展性比较好,由Idea Intellij衍生出来的平台还有很多,比如用来开发python项目的Pycharm,用于开发PHP项目的PHPStorm等,这一类的工具有一个特性,即会对项目文件构建索引,便于查阅,并且编译速度快,但也有一个缺点,就是假如项原创 2017-02-17 22:25:35 · 8877 阅读 · 1 评论 -
Activity之生命周期
Activity是Android四大组件中,和用户原创 2014-06-18 20:45:33 · 453 阅读 · 0 评论 -
Textview设置文字样式和颜色
1. 自定义字体可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体所以,我们可以在程序中放入TTF字体文件,在程序中使用Typeface来设置字体:第一步,在assets目录下新建fonts目录,把TTF字体文件放到这里。第二步,程序中调用:TextViewtv = (TextView)转载 2017-04-20 20:35:47 · 7896 阅读 · 0 评论 -
Android顶部状态栏和底部导航栏高度计算
项目开发中,经常会遇到屏幕高度适配的问题,状态栏和导航栏的高度计算,直接影响着App的展示效果,下面就终结一下两种控件高度的计算方法1, 顶部状态栏(status bar)private int getStatusBarHeight() { Resources resources = mActivity.getResources(); int resourceId = resourc原创 2017-05-23 22:28:03 · 8551 阅读 · 0 评论 -
View和输入法的通信原理
考虑下面一个简单的场景:在一个界面中,只有一个EditText控件,当点击该控件时,输入法便会被调起来,供用户输入使用,用户输入文字后,上屏到EdxitText当中,那么问题来了,View如何与输入法(InputMethodService 以下简称IMS)交互, 1,一个界面中可能存在多个View,哪个view应该和IMS沟通?即沟通标注是什么? 我们知道,只有获取焦点的View,才能和IMS交原创 2017-09-25 10:03:06 · 572 阅读 · 0 评论 -
InputMethod剖析
1,inputMethodSession,view和输入法建立session会话通道,原创 2017-10-10 10:24:49 · 2337 阅读 · 0 评论 -
使用Android Studio阅读AOSP源码
android studio不仅开发android程序非常方便,在阅读AOSP源码方面,也是相当的给力,其操作的顺滑性,要不source insight还要好,下面就分析一下如何将AOSP导入到android studio中,1,编译源码AOSP2,执行idegen.sh3,使用AS导入AOSP原创 2017-10-11 10:04:34 · 1544 阅读 · 0 评论 -
VM中,无法使用X86_64模拟器
在ubuntu虚拟机中,使用X86_64架构的Android模拟器,有时候会出现如下错误:emulator: ERROR: x86_64 emulation currently requires hardware acceleration!Please ensure KVM is properly installed and usable.CPU acceleration status: KVM原创 2017-09-22 10:25:47 · 6234 阅读 · 1 评论 -
Android 源码编译错误
Android 源码编译错误从Android7.0开始,编译AOSP源码时,默认使用jack工具链,以加快编译速度,然后并没有什么卵用,jack工具链bug多多,而且非常耗费内存,编译过程中经常出现OOM的错误,AOSP源码组估计知道这个事儿,特意在官网上写明了这一错误的处理方式,大致如下: Jack 问题排查 如果您的计算机在编译期间无响应,或者如果 Jack 编译因“Out of me原创 2017-09-21 17:38:00 · 939 阅读 · 0 评论 -
Repo切换分支与同步代码
ALertDialog作为Android原生控件,使用简单方便,日常开发中,我们可能根据需求,实现不同的视觉效果,比如修改对话框显示位置,文字颜色和大小,对话框的宽高等,下面将讲述一些常用需求的解决方案1 修改AlertDialog宽度2 去除阴影效果3 去除黑色背景原创 2017-03-22 16:53:29 · 46952 阅读 · 2 评论 -
Android Err:no permissions (verify udev rules)
在linux开发android程序时,用真机连接电脑,打开手机的USB调试模式,使用Android Studio安装App,出现错误,使用adb 命令查看设备:win@spring:~$ adb devciesList of devices attachedD8YDU15906021739 no permissions (verify udev rules); see [http://de原创 2017-09-24 11:59:00 · 682 阅读 · 0 评论 -
CSDN-markdown编辑器用法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2017-09-24 11:42:11 · 788 阅读 · 0 评论 -
Android Design Widget(一)
NavigationView相关类图:主要类: NavigationMenuPresenter.java, NavigationMenu.java, OnNavigationItemSelectedListener.java, MenuInflater.java主流程:原创 2017-07-20 11:46:41 · 309 阅读 · 0 评论 -
文字高度与宽度研究
Android系统中,Paint类位于android.graphics包中,负责管理绘制几何图形、文本、Bitmap所需的样式和颜色信息。它有个静态内部类FontMetrics,该类用于描述拥有特定文本尺寸的字体的各类度量信息。FontMetrics类的实现如下:public static class FontMetrics { /** * The maximum原创 2017-06-09 16:39:58 · 401 阅读 · 0 评论 -
android通知栏总结
http://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2113249.htmlhttp://chenxu.wo.blog.163.com/blog/static/50239687201162310620634/http://www.2cto.com/kf/201302/187381.html原创 2014-05-30 16:25:58 · 457 阅读 · 0 评论 -
Android学习笔记--Binder
(一) 概述 android的binder机制提供一种进程间通信的方法,使不同一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。 android的代码中,与C/C++的binder包括一些类型和接口的定义和实现,相关的代码在下面这几个文件中: frameworks\bas转载 2013-05-06 16:37:44 · 488 阅读 · 0 评论 -
Android 锁屏机制
Android 禁止系统休眠,使屏幕不变暗,保持游戏中屏幕高亮实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位。具体如下:1、在Manifest.xml文件里面用user-permission声明。代码如下: 这种方法,在安装apk时,系统会提示安装人是否允转载 2013-05-16 13:02:32 · 1798 阅读 · 0 评论 -
Android横竖屏的问题
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法: 在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation="landscape"。例如(landscape是横向,portrait是纵向):Java代码: package="com.ray.linkit"转载 2013-04-28 09:58:00 · 412 阅读 · 0 评论 -
丢失Android系统库或者Conversion to Dalvik format failed with error 1错误的解决
在eclipse开发Android项目时出现的很多问题都可以使用Project--------->clean来轻易解决。 但如果出现说Android库找不到,或者不小心remove了Android系统库,怎么重新添加Android系统库呢?在eclipse里面的Java Build Path里面是没法添加例如Android 2.1这样定义好的系统库。而我尝试手动添加SDK 文件夹里面的A转载 2013-04-28 09:52:01 · 589 阅读 · 0 评论 -
View not attached to window manager
了问题:java.lang.IllegalArgumentException: View not attached to window manager解决方法:在调用系统相机拍照相片后返回protected void onActivityResult(int requestCode, int resultCode, Intent data)方法,那么可能会抛出这个异常,原因转载 2013-04-27 17:45:42 · 477 阅读 · 0 评论 -
详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。转载 2013-04-26 16:45:53 · 391 阅读 · 0 评论 -
基础总结篇之五:BroadcastReceiver应用详解
問渠那得清如許?為有源頭活水來。南宋.朱熹《觀書有感》据说程序员是最爱学习的群体,IT男都知道,这个行业日新月异,必须不断地学习新知识,不断地为自己注入新鲜的血液,才能使自己跟上技术的步伐。今天我们来讲一下Android中BroadcastReceiver的相关知识。BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在转载 2013-04-27 09:54:32 · 389 阅读 · 0 评论 -
Android面试之----谈谈你对Java中Native关键字的认识!
JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用java与本地已编译的代码交互,通常会丧失平台可转载 2013-04-26 16:47:16 · 365 阅读 · 0 评论 -
startActivityforResult()的用法
举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。/*****************************/ 华丽丽的分割线 /*****************************/目的: A.java 是主界面转载 2013-05-16 13:10:26 · 439 阅读 · 0 评论 -
Android布局属性
LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。 他们的区别在于: android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.android:layout_gravity是用来设置该view相对转载 2013-05-06 14:43:07 · 451 阅读 · 0 评论 -
Android activity生命周期测试
转自:http://blog.csdn.net/fengqiangfeng/article/details/7538077android activity 测试测试结果 正常情况下 1一个activity从创建到显示调用顺序onCreate->onStart->onResume //onResume开始时也会被调用,写在onResume中应只有恢复显示和创建共转载 2013-05-06 16:00:32 · 790 阅读 · 0 评论 -
Android Testing和Instrumentation
Android Testing和InstrumentationAndroid提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架。尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个方面进行更为复杂的测试,包括单元层面及框架层面。Android测试环境的主要特征有:l 可以访问Android系统对象。转载 2013-05-06 16:06:07 · 433 阅读 · 0 评论 -
在Eclipse下搭建Android开发环境教程
2 配置Android SDK(1)点击菜单window->preferences,进入如下界面选择你的android SDK解压后的目录,选错了就会报错,这个是升级工具,目前还没有一个版本的SDK(2)升级SDK版本选择菜单 window->Android sdk and avd manager 出现如下界面选择update all按钮,出现如下界面选择左边的转载 2013-05-06 16:03:44 · 495 阅读 · 0 评论 -
Android parcelable 的原理
android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。 Parcelable实现要点:需要实现三个东西1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下:writeToParcel (Pa转载 2013-05-06 14:53:51 · 762 阅读 · 0 评论 -
71道经典Android面试题
面试题1. 下列哪些语句关于内存回收的说明是正确的?(b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于RuntimeException 的是(abcd)(多选) A、ArithmeticExcepti转载 2013-05-06 15:59:31 · 424 阅读 · 0 评论 -
Android驱动
http://blog.csdn.net/jmq_0000/article/details/7372783驱动概述 说到 android 驱动是离不开 Linux 驱动的。Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码)。但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部转载 2013-05-06 15:39:17 · 652 阅读 · 0 评论 -
Android activity生命周期
首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码:[java] view plaincopypublic class Activity extends Applicatio转载 2013-05-06 16:34:05 · 342 阅读 · 0 评论