
android开发
bear_wr
小白一枚
展开
-
音乐播放器之简单播放(MediaPlayer、Service、BroadcastRecevier的结合用法)
(小白一个,代码仅供参考)做一个音乐播放器,就要考虑到实现后台音乐的播放,进度条的实现,播放时间和音频时间的实现。 在Android中,BroadcastRecevier Service 和 MediaPlayer就可以实现下面的操作。 先看Activitypackage com.example.bear.test;import android.app.Activity;import androi原创 2015-08-09 22:43:21 · 1920 阅读 · 0 评论 -
理解Fragment生命周期
官网帮助文档链接:http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周二,与Activity生命周期的对比场景演示 : 切换到该Fragment 11-29 14:26:35.095: D/AppListFragment(7649): onAttach 11-29 14:26:3转载 2015-11-17 22:23:53 · 327 阅读 · 0 评论 -
android MVC
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。模型 - 视图 - 控制器(MVC)设计定义它们之间的相互作用。模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model”有对数据直接访问的权力,例如对数据库的访问。“原创 2015-12-15 19:02:15 · 639 阅读 · 3 评论 -
Android中onTouch方法的执行过程以及和onClick执行发生冲突的解决办法
1、 第一个问题是控件本身的onTouch和onClick方法的执行冲突首先自定义一个MyLayout继承LinearLayout,重写dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent方法,代码如下:package com.bbdtek.demo; import android.content.Context; import andro转载 2015-12-15 20:37:36 · 2241 阅读 · 0 评论 -
【Android开发经验】来来来,同学,咱们讨论一下“只能在UI主线程更新View”这件小事
转载请注明出处:http://blog.youkuaiyun.com/zhaokaiqiang1992 (由于文章写得太好,不小心就转载了)”只能在UI主线程中更新View“。这句话很熟悉吧?来来,哥们,看一下下面的例子@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate转载 2015-12-26 22:53:32 · 578 阅读 · 0 评论 -
具有弹性的ListView
Android默认的ListView在滚动到顶端或者底端的时候,并没有很好的提示。不过我们也可以通过重写ListView来实现这个功能。@Override protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, in原创 2016-03-16 23:05:42 · 662 阅读 · 0 评论 -
Android LayoutInflater深度解析
一、LayoutInflater的inflate方法首先我们先来看一下 inflate 这个方法的参数的两个重载的方法:inflate(int layoutID, ViewGroup root)inflate(int layoutID, ViewGroup root,boolean attachToRoot )那么我们在使用时应该怎么选择呢?inflate(layoutID,null) 注意转载 2016-03-16 23:34:58 · 435 阅读 · 0 评论 -
ListView的原理
Listview在项目开发使用率是非常高的,一直以来都只是会使用,今天突然想看看ListView和Adapter是怎么配合的。列表的显示需要三个元素:ListVeiw: 用来展示列表的View。适配器 : 用来把数据映射到ListView上数据: 具体的将被映射的字符串,图片,或者基本组件。ListView 针对每个item,要求 adapter “返回一个视图” (getView)转载 2015-11-19 14:49:48 · 647 阅读 · 0 评论 -
ListView动态删除和添加editview
需求:在运行时动态添加ListView的editview,并将输入的数据存放到相应的数组中,也可以删除某些你不需要的项。一开始通过addTextChangedListener来监听editview上数据的变化,不过因为多个editview同时监听出现了混乱,导致了删除editview上数据错位。之后通过 setOnFocusChangeListener来监听editview焦点的变化,完美的解决了数原创 2016-03-15 10:59:08 · 1773 阅读 · 0 评论 -
mac上使用genymotion
第一次使用mac,花了几天时间才把Android的开发环境给装好,整个人是崩溃的。现在我说说在Androidstudio上装genymotion。1.安装genymotion应用程序下载地址https://www.genymotion.com/#!/download 需要翻墙才能下载,优快云上也有资源2.安装VirtualBoxVirtualBox号称是最强的免费虚拟机软件,genymotion原创 2016-04-18 23:06:54 · 12975 阅读 · 0 评论 -
Android MediaPlayer各种状态切换
1.状态图对播放音频/视频文件和流的控制是通过一个状态机来管理的。下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。这里有两种类型的弧线。由一个箭头开始的弧代表同步的方法调用,而以双箭头开头的代表的弧线代表异步方法调用。 通过这张图,我们可以知道一个M转载 2015-10-30 14:40:30 · 5020 阅读 · 1 评论 -
Android studio 下使用mob的短信验证码SMSSDK
手动创建module,移动相关文件,最后添加依赖1,在你项目的根目录新建一个android library module。如图 2,选择android library(老版本的界面可能不是这样子的) 3,填写module的信息。module的名字你可以自己取,建议还是smssdk。package name一定要是cn.smssdk,因为我们代码里面就是用这个包名。当然你这里填错也没事,到后面都可原创 2015-10-25 12:24:52 · 4188 阅读 · 2 评论 -
Android开发教程:shape和selector的结合使用
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。1.Shape简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml使用的方法: Java代码中:R.drawabl转载 2015-10-25 11:49:01 · 553 阅读 · 0 评论 -
Android Context简介
前言 Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚。从字面意思,Context的意思是“上下文”,或者也可以叫做环境、场景等,尽管如此,还是有点抽象。从类的继承来说,Context作为一个抽象的基类,它的实现子类有三种:Applicatio转载 2015-10-20 00:01:13 · 363 阅读 · 0 评论 -
Listview用法和优化
在一个项目的开发中,Listview的用处是毋庸置疑的下面举个小例子:原创 2015-10-05 16:03:06 · 549 阅读 · 0 评论 -
如何在控件没有绘制完成之前读取控件的长宽
说到获取view的大小,一般想到使用View中的getWidht和getHeight,getMeasuredWidth和getMeasuredHeight。但是这几个方法一般都是在view的onlayout的方法执行以后才能进行获得的,如onlayout方法没有执行此时我们应该怎么来获得view的大小呢?原创 2015-10-06 16:10:51 · 403 阅读 · 0 评论 -
在有TabHost控件的页面,解决onKeyDown方法不能拦截KeyEvent.KEYCODE_BACK事件
在有TabHost控件的页面,onKeyDown方法不能拦截转载 2015-10-06 15:51:27 · 687 阅读 · 0 评论 -
Android Adapter以及getView()方法的理解
Android Adapter基本理解: 我的理解是: 1、一个有许多getter的类(就是getView(),getCount()….这些方法)2、有多少个get方法?都是什么? 这些getter是特定的,你可以复写他们,全部的方法如下: 其中一般我们只用复写getCount(),getView(),getItemId(),getItem()这四个方法转载 2015-10-06 20:44:12 · 839 阅读 · 0 评论 -
Android studio 中gradle的理解
什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build工具。转载 2015-10-07 12:15:02 · 696 阅读 · 0 评论 -
android layout的一些注意事项
最常用的布局是LinearLayout,RelativeLayout和FrameLayoutgravity属性对于LinearLayout和RelativeLayout有效,对FrameLayout无效laout_gravity属性对于FrameLayout有效,对于LinearLayout内部元素部分有效(和orientation有关,如果是vertical,则top和bottom无效,反之,转载 2015-10-25 11:07:27 · 435 阅读 · 0 评论 -
AndroidStudio环境下导出APK
(1)Android Studio菜单Build->Generate Signed APK(2)弹出窗口 (3)若没有密钥库及密钥,则创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过) 点击“Create new…”按钮创建密钥库 Key store path:密钥库文件的地址 Password/Confirm:密钥库的密码 Key: Alia原创 2015-10-25 11:26:29 · 1674 阅读 · 0 评论 -
Android之drawable state各个属性详解
android:drawable 放一个drawable资源android:state_pressed 是否按下,如一个按钮触摸或者点击。android:state_focused 是否取得焦点,比如用户选择了一个文本框。android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性android:state_selected 被选中,它与focu转载 2015-10-25 11:35:57 · 458 阅读 · 0 评论 -
android动画---ObjectAnimator基本使用
一、使用objectAnimator实现下图的效果(不会做gif图)点击前: 点击后 方法介绍:public static ObjectAnimator ofFloat(Object target, String propertyName, float... values) 第一个参数用于指定这个动画要操作的是哪个控件 第二个参数用于指定这个动画要操作这个控件的哪个属性 第三个参数是原创 2016-05-06 21:55:55 · 4483 阅读 · 0 评论