android
文章平均质量分 75
jyqqhw_41
这个作者很懒,什么都没留下…
展开
-
NDK初探之HelloWorld
接触android久了,不免会在项目中使用到ndk开发,ndk(native develop kit)的作用是为我们生成c/c++的动态链接库(so文件),为什么会需要so文件这种东西,我们也知道,java程序运行在java虚拟机中,虽然能跨平台,但是代码执行效率远远比不上c/c++的,对于一些底层的操作上也只能通过c/c++来执行。所以必要的时候需要java去调用c/c++代码,想法是好的,但是原创 2018-01-26 00:30:35 · 529 阅读 · 1 评论 -
ViewTreeObserver
api的概述:A view tree observer is used to register listeners that can be notified of global changes in the view tree. Such global events include, but are not limited to, layout of the whole tree, begin转载 2015-11-17 22:24:14 · 327 阅读 · 0 评论 -
Activity四种启动模式
Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。设置Activity的启动模式,只需要在AndroidManifest.xml里对应的标签设置android:launchMode属性,转载 2015-10-29 09:51:26 · 289 阅读 · 0 评论 -
android Application类的详细介绍
在代码中经常看到application这个类,一直不知道这个是干什么用的,今天刚好有点时间,所以进行了详细的学习。一.先对它的整体概念解释:在android源码中对他的描述是; * Base class for those who need to maintain global application state. You can * provide转载 2015-10-29 10:20:28 · 256 阅读 · 0 评论 -
Android视频录制命令screenrecord
你要知道:screenrecord是一个shell命令支持Android4.4(API level 19)以上支持视频格式: mp4一些限制某些设备可能无法直接录制,原因是分辨率太高,如果遇到此类问题,请试着指定较低的分辨率不支持录制过程中屏幕旋转,如果录制过程中旋转,有可能画面被切断录制视频的时候声音不会被录下来开始录制命令:adb shell screenr转载 2015-11-14 08:42:51 · 368 阅读 · 0 评论 -
输入adb shell 时 提示error: more than one device and emulator
第一种情况:确实用多个设备或者模拟器 解决办法:(指定连接某一个设备或者模拟器)1、获取模拟器/设备列表 adb devices2、指定device来执行adb shell adb -sdevicename shell例如: adb转载 2015-10-28 14:12:36 · 525 阅读 · 0 评论 -
Linux下android应用安装
本人是做移动应用开发的,今年毕业的,水平实在有限,希望大神勿喷~Linux开发环境下,没有豌豆夹等一键安装工具,考到手机里再搞是在麻烦,于是我想豌豆夹无非就是做了一个可爱一点的界面~底层的实现还是得用命令的。 打开DDMS(ADT中的一个小工具)里面找不到设备,如果你也遇到这个问题,请按照下面的教程做,所有手机都可以我不敢说,HTC Sensation一定可以~/**C转载 2015-10-28 09:28:52 · 1293 阅读 · 0 评论 -
Android View.onMeasure方法的理解
可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,Activity框架,View框架中大量的on函数基本上都应用到了Template模式,掌握这一转载 2015-10-13 15:17:24 · 527 阅读 · 0 评论 -
LayoutInflater的inflate方法详解
这个标题起的有点夸张哈,但是LayoutInflater这个类的一些用法,在Android开发者使用的过程中,确实存在着一些很普遍的误区,最起码我研究的这么多小项目的源代码,基本上都在错误的使用这个类。今天,看到了一篇文章讲LayoutInflater的用法,瞬间感觉自己对这个类确实不够了解,于是简单的看了下LayoutInflater类的源代码,对这个类有了新的认识。首先,LayoutInf转载 2015-09-22 23:30:11 · 625 阅读 · 0 评论 -
Android:关于声明文件中android:process属性说明
转载自:http://blog.sina.com.cn/aoyousatuo 笔者在学习AndroidService组件的过程中碰到了一个问题,就是在Android应用的声明文件Manifest.xml中有时候会对相关的服务标签设置一个android:process=”:remote”,这个属性有什么作用呢?下面笔者就将自己整理的知识和大家分享。 在Andro转载 2015-09-22 21:55:45 · 329 阅读 · 0 评论 -
Android Intent Action 大全
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的元素来过滤。 Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(Component),和扩展信息(Extra)。 Intent在寻找目标组件的时候转载 2015-09-22 19:23:43 · 536 阅读 · 0 评论 -
关于EditText的一点深入的了解
最近在开发android下的记事本程序时,频繁的使用EditText控件,折腾来折腾去,算是对其的了解更深入了一些。特将这些收获记录如下:一、几个属性的介绍android:gravity= "top" 这个属性为top可以将光标置于左上角(当EditText设为全屏时)android:background= "@null" 这个属性为null可以将输入的框线去转载 2015-11-19 18:42:45 · 628 阅读 · 1 评论 -
Android(Activity/Fragment)获取控件的大小
有时候我们需要获得控件的大小,但是在Activity的onCreate()生命周期方法中调用getWidth()和getHeight()方法并不能获得控件的宽和高,因为此时我们的界面并未被绘制完成。不过我们却可以在onWindowFocusChanged(boolean hasFocus)这个方法中获得控件的大小。Java代码 @Override public void转载 2015-11-17 21:45:36 · 947 阅读 · 0 评论 -
移动开发中adb常用命令总结
系统相关操作adb shell 进入shell环境adb root 获取root权限adb remount 重新挂载文件系统adb reboot 重启手机包管理操作adb install -r com.android.camera 重新安装相机应用adb uninstalll com.android.camera 卸载相机应用adb shell pm list pa原创 2018-01-25 01:15:52 · 370 阅读 · 0 评论 -
StringBuffer内容清空效率比较
在开发程序的时候,经常使用StringBuffer来进行字符串的拼接。如果在循环中来反复的做字符串拼接时,会清空Stringbuffer中的内容,然后再拼接新的字符串信息。例如:StringBuffer sb = new StringBuffer("");for (UserInfo ui : userInfoList) { sb = new StringBuf转载 2018-01-25 00:23:25 · 367 阅读 · 0 评论 -
android 定时任务 隔一段时间执行 开启 关闭
有些情况需要隔一段时间去执行某个操作一次或者是每隔一段时间久执行某个操作:下面是每隔一段时间就执行某个操作,直到关闭定时操作:[java] view plaincopyfinal Handler handler = new Handler(); Runnable runnable = new Runnable(){ @Override public void r转载 2016-03-12 09:30:17 · 3517 阅读 · 0 评论 -
Android4.2锁屏流程【Android锁屏解析三】
谷歌对Android4.2的版本做了一些改动,突出的改动就是锁屏可以添加widget,即锁屏widget,这个是谷歌的一个大的改动,先来说说android4.2做了哪些改动? (1)Lock screen widgets如图:(2)屏保模式的添加简单介绍如下:互助屏保是一个互动屏幕保护程序模式,当用户的设备开始停靠或充电。在这种模式下,系统将启动一枕黄粱 - 远程安装的应用程序转载 2016-03-08 10:12:06 · 981 阅读 · 0 评论 -
android开发技巧——仿新版QQ锁屏下弹窗
新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能。经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意。下面是实现过程。1,使用Activity,而不是ViewQQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了。2.Ac转载 2016-03-08 09:37:25 · 671 阅读 · 0 评论 -
偷懒新姿势,打造属于RecyclerView的万能适配器Adapter和ViewHolder
前言昨天开始接触江湖口碑很好的RecyclerView,事实上,我已经被她的强大所征服了!资源回收,数据绑定,布局显示,分割线,Item动画多个模块高度解耦,灵活优雅。其实,RecyclerView在使用上已经是相当简单了(个人觉得),但仍有很多代码是可以加以封装的。今天受简书上一篇博文的启发,作为写代码喜欢优(tou)雅(lan)的人,想到了一种封装方式,打造万能适配器,供大家食用。正统转载 2016-02-19 12:07:51 · 672 阅读 · 0 评论 -
【Android开发】之MediaPlayer的错误分析
最近在做媒体播放器,使用了Android自带的MediaPlayer,经常性会碰到MediaPlayer报错的情况,找过网上的,感觉总结的不是很好或者比较散。下面,我来总结一下使用MediaPlayer经常会出现的错误。如果有比较了解的,也可以在下面评论探讨一下。 一、Mediaplayer简介 Mediaplayer可以用来控制音频或者视频文件、流的播放。(MediaPla转载 2016-02-15 16:58:40 · 1427 阅读 · 0 评论 -
Android中对Log日志文件的分析
一,Bug出现了, 需要“干掉”它 bug一听挺吓人的,但是只要你懂了,android里的bug是很好解决的,因为android里提供了LOG机制,具体的底层代码,以后在来分析,只要你会看bug,android里应用开发也就很简单了。那我们先来看看android里的ANR,怎么出现ANR呢,很简单。 # adb shell # c转载 2016-02-15 16:46:13 · 550 阅读 · 0 评论 -
常用YUV转RGB代码
常用YUV转RGB java代码[java] view plain copy print?public class YuvToRGB { private static int R = 0; private static int G = 1; private static int B = 2; //I420是yuv4转载 2016-01-29 23:52:40 · 591 阅读 · 0 评论 -
Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
ADB很强大,记住一些ADB命令有助于提高工作效率。 获取序列号: adb get-serialno查看连接计算机的设备: adb devices重启机器: adb reboot重启到bootloader,即刷机模式: adb reboot bootloader重启到recovery,即恢复模式: adb reboot recover转载 2016-01-15 18:39:42 · 696 阅读 · 0 评论 -
android中的style部分属性值介绍
Android平台定义的主题样式:android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式•android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏•android:theme="@android:style/Theme.NoTitleBar.Full转载 2015-09-22 23:49:41 · 347 阅读 · 0 评论 -
CMD 和 Git 中的代理设置
CMD 设置代理在 cmd 环境下设置代理可能不是很常用,但是某些情况下还是可能会用到,比如公司的电脑只能通过设置代理访问外网,而你需要在 cmd 环境下使用 gem 命令更新文件时。当然,如果你使用某些代理软件为所有通讯设置了代理,那就不需要这些设置了。为 cmd 设置代理很简单,首先打开 cmd (win + R,输入 cmd,然后按 enter 键),然后输入如下命令:s转载 2015-10-26 09:08:04 · 328 阅读 · 0 评论 -
android之存储篇_SQLite数据库_让你彻底学会SQLite的使用
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。 另外, SQLite 在解析CR转载 2015-10-26 00:19:12 · 387 阅读 · 0 评论 -
LocationManager的位置获取
LocationManager提供两个主要功能:1、获取设备的地理位置(经纬度);2、当设备进入制定的地理位置,通过通过intent通知。获取位置信息的基本方法简单的代码片段如下:private void getMyLocation(){ //1、获取LocationManager,LocationManager是系统级别的服务 LocationManag转载 2015-09-03 16:13:43 · 571 阅读 · 0 评论 -
定位LocationManager
定位类型:1 gps 卫星定位 1米之内 agps 5米之内 手机上面不能遮盖物。2 wifi 定位 ip号 网段 3 基站定位 500 -1000米network :wifi 基站 gps :gps agps passvie: 无源定位 (综合所有的定位方式,得出最准确的结果)LocationManager 要得到最好的定转载 2015-09-03 16:22:58 · 422 阅读 · 0 评论 -
究竟wifi是怎么定位我的
LZ按: coding的职业习惯,要么不写,要么又臭又长。对于没时间跟耐性的童鞋,我先结论发出来:既然wifi热点的覆盖范围就那么百十米,找到了你所连接的AP热点,就找到了你。而谷歌、苹果、微软它们,几乎拥有世界上每台AP路由器的地址信息,包括你家里的AP。 ok结论到此,想问个为神马的骚年们,可以端板凳继续往下看了。提示1:如果你是在地铁公交上看此转载 2015-09-03 16:21:25 · 1818 阅读 · 0 评论 -
Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
Android现在实现Tab类型的界面方式越来越多,今天就把常见的实现方式给大家来个总结。目前写了:1、传统的ViewPager实现2、FragmentManager+Fragment实现3、ViewPager+FragmentPagerAdapter实现4、TabPageIndicator+ViewPager+FragmentPagerAdapter转载 2015-09-10 09:27:22 · 573 阅读 · 0 评论 -
安卓权限大全
访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置转载 2015-09-02 13:10:15 · 388 阅读 · 0 评论 -
Andorid-15k+的面试题
转自:http://blog.csdn.net/cym492224103/article/details/38417927整理过的50道面试题目1.listView的优化方式重用convertViewviewHolderstatic class viewHolder在列表里面有图片的情况下,监听滑动转载 2015-03-09 22:47:11 · 42846 阅读 · 0 评论 -
android笔试题
1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、ArithmeticExcept转载 2015-03-18 22:54:24 · 476 阅读 · 0 评论 -
Android创建启动画面
每个Android应用启动之后都会出现一个Splash启动界面,显示产品的LOGO、公司的LOGO或者开发者信息。如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。 1.制作Splash界面 突出产品LOGO,产品名称,产品主要特色; 注明产品的版本信息; 注明公司信息或者开发者信息; 背景图片,亦可以用背景颜色代替;转载 2015-03-09 22:50:57 · 417 阅读 · 0 评论 -
Android SQLite数据库增删改查操作的使用详解
本篇文章介绍了,在Android中SQLite数据库增删改查操作的使用详解。需要的朋友参考下一、使用嵌入式关系型SQLite数据库存储数据在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、 TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受var转载 2015-04-22 16:53:16 · 512 阅读 · 0 评论 -
Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果
自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScrollView可以想Vie转载 2015-08-23 17:54:57 · 602 阅读 · 0 评论 -
Android中的缩略图加载-不浪费一点多余的内存
1. Why,为什么要加载缩略图?有的时候不需要展示原图,只需展示图片的缩略图,可以节省内存。比如:网易新闻中的图片浏览,左边展示的小狮子图片就是一个缩略图,点击这个图片,才会展示原图。 2. How,怎么做呢?http://developer.android.com/training/displaying-bitmaps/load-bitmap.html给出了一个方法,转载 2015-08-20 20:40:43 · 422 阅读 · 0 评论 -
Android开发之有效获取状态栏(StatusBar)高度
获取状态栏高度一、传统方式:有时获取为0,解决方法看 二 代码Rect frame = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); int statusBarHeight = frame.top; 二、4.0.3之后可能获取为0 publi转载 2015-11-05 09:27:35 · 657 阅读 · 0 评论 -
Android ROM定制——界面美化基础(framework-res、SystemUI修改)
前言:很多童鞋对美化很感兴趣,都想拥有一个完完全全属于自己风格的手机系统!对那些自定义全局背景,1%电量显示,透明下拉菜单。。。都很感冒!美化的重点跟难点就在于对"framework-res.apk"和"systemUI.apk"这两个文件的编译和反编译!这里说的编译和反编译是所有深度美化都必须要做的事,也就是说,所有的美化都是基于对apk的反编译后,才能进行的!而绝大多数修改"framework转载 2015-09-22 17:11:46 · 3051 阅读 · 0 评论 -
Andriod开发技巧——Fragment的懒加载
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样的结果,我们当然不会满意。那么,能不能做到当切换到这个fragment的时候,它才去初始化呢?答案就在Fragment里的setUse转载 2015-10-23 23:51:00 · 254 阅读 · 0 评论