Android基础
文章平均质量分 73
走慢一点点
这个作者很懒,什么都没留下…
展开
-
Activity切换动画 之 overridePendingTransition()使用
实现两个 Activity 切换时的动画。在Activity中使用有两个参数:进入动画和出去的动画。注意1、必须在 StartActivity() 或 finish() 之后立即调用。2、而且在 2.1 以上版本有效3、手机设置-显示-动画,要开启状态//实现淡入浅出的效果startActivity(new Intent(MainActivity.this,Secon转载 2014-09-24 22:44:55 · 923 阅读 · 0 评论 -
Fragment——startActivityForResult后onActivityResult无反应之问题总结
最近在做一个二维码扫描的模块,在Fragment中startActivityForResult开启需要返回结果的二维码扫描的Activity,扫描完成后,Fragment的onActivityResult没有任何反应。下面贴出来的是多次测试后的正确代码:setResult返回结果的Activity:public class CaptureActivity { ... public原创 2015-10-30 10:59:46 · 4785 阅读 · 0 评论 -
Android——事件过滤策略和 IntentFilter
有一个问题,在网上被频繁的问到,就是为什么自定义的Receiver总是无法接收到SD卡插拔的事件。而此问题大部分情况下可以通过增加一句代码解决: filter.addDataScheme(“file”); // filter是IntentFilter对象那么为什么增加这句代码就可以解决了呢? 在网上看到一遍比较通俗易懂的文章,觉得不错,摘抄过来做个笔记,供以后复习用。SD卡插拔的广播事件示例代码p转载 2016-01-28 22:31:12 · 1848 阅读 · 0 评论 -
android——adb logcat常用命令总结
1、查看adb logcat帮助信息C:\Users\000>adb logcat --helpUsage: logcat [options] [filterspecs]options include: -s Set default filter to silent. Like specifying filterspec '*:s原创 2016-04-25 15:26:07 · 1788 阅读 · 0 评论 -
android —— MediaMetadataRetriever获取媒体元数据信息
android原生态MediaMetadataRetrieverandroid系统自带的MediaMetadataRetriever类可以获取视频、音频等媒体文件的META DATA即元数据信息,但遗憾的是,android系统本身自带的视频解码器等只支持3pg、mp4格式。Vitamio封装的MediaMetadataRetrievervitamio是一款全能的多媒体开发框架, 使用vitamio封原创 2016-01-26 15:19:35 · 7729 阅读 · 0 评论 -
Android —— 自定义View的实现方法
一些接触Android不久的朋友对自定义View都有一丝畏惧感,总感觉这是一个比较高级的技术,但其实自定义View并不复杂,有时候只需要简单几行代码就可以完成了。如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。那么下面我们就来依次学习一下,每种方式分别是如何自定义View的。自绘控件自绘控件的意思就是,这个View上所展现的内容全部都是我们自己绘转载 2015-07-25 22:17:45 · 543 阅读 · 0 评论 -
Android——drawable、dpi、dip、px、缩放因子及屏幕适配
drawable与mipmapAndroid drawable微技巧,你所不知道的drawable的那些细节关于切图1、切一套(800*480) 一些小公司做的小应用可能只切了一套图,美工成本等原因。(不过导航页面——平铺满屏幕的大图,必须单独切图,因为图片拉伸影响效果)。2、切两套(800*480,1280*720) 一般小公司可能只切了这两套图,适用世面上主流的手机屏幕了。3原创 2015-05-11 22:29:41 · 2859 阅读 · 0 评论 -
GitHub上那些好用的开源项目
异步操作1、异步的基于事件的响应式扩展库——RxJava(RxAndroid)https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid新手入门最佳教程:给 Android 开发者的 RxJava 详解国内RxJava教父——大头鬼Bruce GitHub:https://github.com/lzyzsd原创 2016-05-05 14:58:22 · 5163 阅读 · 0 评论 -
Activity与Service之间的通讯机制
进程内与服务通信进程内与服务通信实际上就是通过bindService的方式与服务绑定,获取到通信中介Binder实例,然后通过调用这个实例的方法,完成对服务的各种操作。下面来看具体代码演示: MainActivity:public class MainActivity extends Activity implements View.OnClickListener { pr原创 2015-08-20 17:13:06 · 2366 阅读 · 0 评论 -
Context —— Application,Service,Activity
Android开发中,处处要用到Context,绝大对数场合下推荐的使用Application 的 Context。当然,Application 的 context 不是万能的,不能乱用,对于有些地方则必须使用 Activity 的 Context,对于Application,Service,Activity三者的Context的应用场景如下:其中: NO1表示 Application 和 Serv原创 2016-05-06 15:41:08 · 978 阅读 · 0 评论 -
Android5.0 新特性学习总结
参考文章:极客学院 –Material Design 中文版图文教程几行代码,让你的 APP 变得花俏—Android Design Support Library 代码实验material design 的android开源代码整理低版本android上实现Material design应用Android5.0版本,推出了Material Design的概念,这是在设计上Android的又一大突破原创 2016-06-24 09:06:35 · 3103 阅读 · 0 评论 -
Android—— LogCat、StrictMode、全局捕获异常
1、内存检查:public static void displayBriefMemory(String name, Context context) { final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);原创 2015-10-15 10:57:26 · 999 阅读 · 0 评论 -
Android基础总结——Activity生命周期、横竖屏切换和启动模式(任务栈)
熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方法会在合适的时间被servlet容器调用。其实android中的Activity运行机制跟servlet有些相似之处,Android系统相当于servlet容器,Activity相当于一个servlet,我们的Activity处在这个容器中,一切创建实例、初始化、销毁实例等转载 2015-07-22 10:49:03 · 1154 阅读 · 0 评论 -
json、xml解析
常用解析工具一、JSON解析1、解析json之net.sf.json http://blog.csdn.net/itlwc/article/details/384426672、解析json之com.google.gson.Gson http://blog.csdn.net/itlwc/article/details/38454867 相关文章:http://blog原创 2015-05-07 10:50:41 · 715 阅读 · 0 评论 -
Android Gradle 构建
常用配置“gradle.properties”加快gradle构建速度:# 并行构建org.gradle.parallel=true# 开启Gradle守护进程org.gradle.daemon=true# 配置JVMorg.gradle.jvmargs=-Xms1024m -Xmx1024m“/app/build.gradle”// 声明是Android程序。可以理解为该 model 为原创 2016-06-29 11:29:43 · 1665 阅读 · 0 评论 -
Android——adb常用命令
一、android平台 1、查看系统中所有android平台: android list targets二、AVD(模拟器) 1、创建AVD: android create avd 命令: 选项: -t –target 新的AVD 的Target ID(必须) -c –sdcard 指向一个共享的SD 存储卡的路径或是为新的AVD 定制的新SD 存储卡的容量大小 -p –p原创 2015-12-02 11:20:19 · 1269 阅读 · 0 评论 -
Android NDK开发基础——配置及简单案例
Android Studio下的配置及案例1、设置ndk的路径 local.properties:ndk.dir=D\:\\Android\\android-ndk-r102、创建本地native方法package com.test.www.dnktest;...public class JniTest { public native String getStringFromJNI();原创 2016-01-31 15:29:47 · 726 阅读 · 0 评论 -
ZXing——二维码扫描案例及横竖屏切换问题
使用ZXing是Google官方提供的一个开源Java类库用于解析多种格式的1D/2D条形码。 GitHub地址:https://github.com/zxing/zxing最近项目中需要用到二维码扫描,所以对ZXing进行了精简,完工后在这里写篇文章作为笔记,以后好参考。项目gradle配置,导入zxing核心库:compile 'com.google.zxing:core:3.2.+'(只用导原创 2015-11-06 11:34:32 · 3319 阅读 · 1 评论 -
java并发编程 之 常用并发类库使用举例
CountDownLatch (同步计数器)Latch闭锁的意思,是一种同步的工具类。类似于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭着的,不允许任何线程通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。且当门打开了,就永远保持打开状态。作用:可以用来确保某些活动直到其他活动都完成后才继续执行。使用场景:1、例如我们上例中所有人都到达饭店然后吃饭;2、某个操作需要的资源初始化完毕3、某转载 2015-11-03 13:51:31 · 2187 阅读 · 0 评论 -
Android中的序列化机制——Parcel与Parcelable
当我们在调用远程方法时,需要在进程间传递参数以及返回结果。这种类似的处理方式,需要把数据与进程相关性去除,变成一种中间形式,然后按统一的接口进行读写操作。这样的机制,一般在高级编程语言里都被称为序列化。在Android世界里处理数据的序列化操作的,使用了一种Parcel类,而能够处理数据序列能力,则是实现Parcelable接口来实现。于是,当我们需要在进程间传输一个对象,则实现这一对象的转载 2014-12-01 15:35:13 · 6066 阅读 · 0 评论 -
Android虚拟机——Genymotion 配置问题
这两天,在尝试用Genymotion替代android原生态的模拟器做开发,开始用着还好,后来想在Genymotion添加新的Vitual device,死活添加不了,点sign in也没反应,排查很久也没找到原因,后来灵光一闪,想起来之前在家登vpn,连ssh也是,网络没问题,就是等不了,第二天到公司,打开,登陆,一气呵成,不知道是不同运营商宽带的问题还是网络配置问题。网络环境问题坑了我几次原创 2015-01-29 10:43:11 · 1681 阅读 · 0 评论 -
Android自定义属性 及 TypedArray的使用方法
1、首先要创建变量,创建了个values/attrs.xml文件,文件名任意,但是要在values目录下: 根标签要是resources,定义的变量要有个名字,declare-styleable name="button">,这里定义名称为button。在这个名称里,可以有多个自定义属性。定义了个名为textSize原创 2015-02-04 23:00:13 · 662 阅读 · 0 评论 -
android 9.png 浅析
可能做过任务栏美化的同学都会知道,res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会 看不见摸不着(详情见下面具体内容)。 9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意(挺高级的吧),也许有 的同转载 2014-09-24 20:58:19 · 664 阅读 · 0 评论 -
AndroidManifest 之 android:configChanges
android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。在Activity中添加了android:configChanges属性,在当所指定属性(Configuration Changes)发生改变时,通知程序调用onConfigurationChanged()函数。设置方法:将下转载 2014-12-13 22:52:02 · 807 阅读 · 0 评论 -
使用LayoutInflater.inflate获得布局文件对象,getLayoutParams 返回null
使用View.inflate(LayoutInflater.inflate)获取布局文件对象,加载到页面发现没有填充父窗体,右边有间距。 private void init() { // public static View inflate(Context context, int resource, ViewGroup root) showInMiddle原创 2015-03-15 19:32:01 · 4059 阅读 · 0 评论 -
Android——ViewPager缓存(预加载)机制及如何禁止预加载
一、来源 android.support.v4.view:这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与ListView类似,我们也需要一个适配器,他就是PagerAdapter。二、缓存机制 ViewPager切换页面时默认情况原创 2015-05-13 14:52:12 · 7171 阅读 · 0 评论 -
Android——手机彩票摇晃选号(双色球) 实现原理
实现思路:因为手机传感器每隔一段时间会发送采集到的数据包, 首先获取第一个数据包所在的三个轴的加速度值,记录, 当过一段时间之后再次获取三个轴的加速度值,计算增量,将相邻两个点的增量进行汇总,当达到预先设定的阀值,说明手机摇晃了。实现步骤: 1、记录第一个点的数据: 三个轴的加速度,为了屏蔽不同手机采样的时间间隔差异,将第一个点的时间也记录下 来。 2、选取第原创 2015-05-20 14:49:40 · 9345 阅读 · 3 评论 -
Android——SlidingMenu学习总结
来源SlidingMenu是github上比较火开源库,非常强大,不但可是简单的设置实现两侧滑动菜单,还可以设置菜单的阴影、渐变色、划动模式等。下载地址:https://github.com/jfeinstein10/SlidingMenu如何使用要想能够实现SlidingMenu的效果,首先必须要将它作为libary导入到你的工程。注意:slidingMenu_lib原创 2015-06-03 16:08:05 · 1148 阅读 · 0 评论 -
Android——ViewPager、PagerAdapter、Fragment(State)PagerAdapter的关系与区别
最近看到一篇博客是讲这几着这间的关系和区别的,觉得讲的很通俗,便于理解,于是全文收藏,便于学习理解之用,以下是原文内容:在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataS转载 2015-06-05 15:48:53 · 2976 阅读 · 0 评论 -
Android——ViewPager和内部view之间的事件分发及轮播图
viewpager 在滑动的过程中是如何触发view身上的事件的,换句话说,viewpager在滑动的过程中到底是滑动的它里面的view,还是滑动的viewpager本身?一、示例代码:1、自定义ViewPager:MyViewPager,重新dispatchTouchEvent方法,添加一些事件处理的log信息。package com.example.viewpagerdemo;import an原创 2015-06-24 22:28:33 · 4288 阅读 · 3 评论 -
Android基础总结——进程优先级及提高优先级的方法(Service尽量不死之法)
进程的生命周期Android系统会尽可能长的延续一个应用程序进程,但在内存过低的时候,仍然会不可避免需要移除旧的进程。为了决定哪些进程留下,哪些进程被杀死,系统根据在进程中在运行的组件及组件的状态,为每一个进程分配了一个优先级等级。优先级最低的进程首先被杀死。这个进程重要性的层次结构有五个等级。 Android会尽可能高的估量一个进程的级别。比如,一个进程拥有一个可见状态的activity原创 2015-08-26 17:21:22 · 26455 阅读 · 1 评论 -
Android基础总结——Service生命周期
Service在Android中和Activity是属于同一级别上的组件,我们可以将他们认为是两个好哥们,Activity仪表不凡,迷倒万千少女,经常做一些公众人物角色,而Service一副彪悍的长相,但却身强力壮,常常在后台做一些搬运工的力气活,虽然有些累,但大家都不能失去他。 下面我们就围绕Service对其进行全面讲解:服务分类 Service生命周期Service生命周期可以从两种启动S原创 2015-08-20 11:29:51 · 1449 阅读 · 0 评论 -
Android——View宽高的设置和多种获取宽高的方法、layout_grivaty与grivaty的区别
关于Layout_width/height引发的宽高思考方式一:结果不符合预期。运行结果:方式二:结果符合预期。如下图:Android控件宽高的规则: Android下的控件默认没有宽高,是由父控件给其宽高的。 其中一般的view控件是由(ViewGroup控件:LinearLayout原创 2015-06-05 01:09:44 · 8141 阅读 · 2 评论 -
Eclipse——配置NDK自动编译环境
(1)测试准备:新建一个Eclipse工程,在工程目录下新建jni文件夹,其中写好必要的NDK编译的文件代码等。(2)Project->Properties->Builders->New,新建一个Builder。(3)在新建Builder中进行如下配置:其中,Location为ndk-build.cmd的路径(PS:NDK的安装只需要解压到某一路径即可)。Working转载 2014-12-24 11:24:43 · 941 阅读 · 0 评论