Android中有时我们会有这样的需求:通过拨号调起我们的程序.这个需求如何实现呢? 思路当然是在我们的应用中实现一个广播接收器(BroadcastReceiver),对打电话时系统发出的广播进行拦截. 实现步骤: 1.在AndroidMainfest.xml中添加权限: <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 2.实现拨号广播接收器: public class…
Android中H5和Native交互的两种方式:http://www.jianshu.com/p/bcb5d8582d92 注意事项: 1.android给h5页面注入一个对象(WZApp),这个对象是android挂到window上的,然后这个对象里有方法(user login),指定你需要传递什么参数. 2.这个参数里的数据应该是基本的数据类型,不应该是对象啥的,就是数字,字符串,json等基本数据结构. 3.这个对象是在android页面加载完成之后在挂载上去的~可以你调的时候还没有,需…
Handler更新UI的方式和原因以及遇到的问题 1.方式: 仅仅能通过Handler来更新UI. 代码例如以下: package com.chengdong.su.handlerdemo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import andro…
1.要实现拨号功能,首先需要开启拨号权限 修改AndroidManifest.xml文件,添加如下内容: <uses-permission android:name="android.permission.CALL_PHONE" /> 2.添加一个Activity活动,添加一个按钮,点击按钮,实现拨号功能 activity_main.xml <?xml version="1.0" encoding="utf-8"?> &l…
版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 在Android开发中,经常需要设置控件的背景颜色或者图片的src颜色. 效果图 代码分析 根据使用的方法不同,划分为 setBackgroundColor方法[一般用于RelativeLayout.TextView等控件] 使用colors.xml文件中的颜色 使用颜色的int类型值 使用颜色的16进制类型值 setImageDrawable方法[一般用于ImageView控件] 使用colors.xml文件中的颜色 使用颜色的int…
1.Xml添加监听属性,这里添加的doClick. <Button android:id="@+id/bt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="doClick" android:text="XML添加doClick" android:layout_abov…
这次是真的好长时间都没有写博客了,主要不是因为工作上的事,主要还是这个问题真的有点复杂,实现起来有点麻烦,所以研究了很长时间(大约有一个月的时间).但是幸好最后问题搞定了~~ 一.问题场景 想实现360手机卫士那样可以拦截应用请求系统的一些权限(比如:位置信息,通讯录等) 二.目的 公司开发的app需要使用音频权限,但是总是被360那样的安全管家所拦截(root之后的手机),所以想通过底层的拦截,我们可以做到不会被其他应用所拦截. 三.资料 http://blog.csdn.net/jinzhu…
SendSmsActivity.java: package com.test.smsmangerdemo.sendsmsactivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.content.Intent; import android.app.PendingIntent; import android.telephony.SmsManager; imp…
服务的生命周期跟Activity的生命周期类似.但是生命周期甚至比你关注服务如何创建和销毁更重要,因为服务能够在用户不知情的情况下在后台运行. 服务的生命周期---从创建到销毁---可以被分为以下两个路径: 1.  启动类型的服务: onCreate()- >onStartCommand()->Service running--调用context.stopService() ->onDestroy() 2.  绑定类型的服务: onCreate()->onBind()->Se…
最近在做web项目,需要写一些工具方法,涉及到通过Java代码来获取spring中配置的bean,并对该bean进行操作的情形.而最关键的一步就是获取ApplicationContext,过程中纠结和错误了很久,总结一下获取ApplicationContext的三种方式: 方式一:使用两种Aware接口获取自定义bean 实现 ApplicationContextAware接口 对于实现ApplicationContextAware接口的类,spring容器在初始化的时候会扫描他,并把容器的co…
在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制.关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下. 为了简化操作,Android1.5提供了工具类android.os.AsyncTask,它使创建异步任…
在Android中提供了三种解析XML的方式:SAX(Simple API XML),DOM(Document Objrect Model),以及Android推荐的Pull解析方式.下面就对三种解析方式一一详细阐述. 假设要要解析person.xml文档 <?xml version="1.0" encoding="UTF-8"?><persons>  <person id="1">    <name&g…
一.前言 在视频直播中一般都是两种视频数据源,一个是摄像头数据,一个是录制桌面数据,而一般来说美女妹子直播都是来自于摄像头数据,游戏直播都是录制桌面数据的,那么今天就来看看第一个数据源数据采集分析,Android中使用摄像头的场景很多,在没有直播这个行业出现之前,之前用到摄像头的最多就两个场景,一个是二维码扫描,一个是美颜拍照类的应用.那么这里就来看看Android中的摄像头的用法,以及如何进行数据采集进行数据的二次加工. 二.知识点概况 本篇文章主要通过如下几个方向去介绍Android中的摄像…
在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式须要为每个任务创建一个新的线程,任务完毕后通过Handler实例向UI线程发送消息,完毕界面的更新,这样的方式对于整个过程的控制比較精细,但也是有缺点的,比如代码相对臃肿,在多个任务同一时候运行时,不易对线程进行精确的控制.关于Handler的相关知识,前面也有所介绍,不清楚的朋友们能够參照一下. 为了简化操作,Android1.5提供了工具类android.os.AsyncTask,它使创建异…
今天我们学习了 AsyncTack, 这是一个异步任务. 那么这个异步任务可以干什么呢? 因为只有UI线程,即主线程可以对控件进行更新操作.好处是保证UI稳定性,避免多线程对UI同时操作. 同时要把耗时任务放在非主线程中执行,否则会造成阻塞,抛出无响应异常. 那么在Android中实现异步任务机制有两种方式,Handler和AsyncTask.今天主要讲的是 asyncTack. 我们通过API 来学习下 整个 AsyncTack 1.为什么要异步任务 Android单线程模式 耗时操作放在非主…
在xamarin android的开发中,activity传递数据非常常见,下面我也来记一下在android中activity之间传递数据的几种方式, Xamarin Android中Activity之间传递一个简单的数值 //传入 Intent it = new Intent(this,typeof(OtherActivity)); it.PutExtra("name","科比") StartActivity(it); //接收 string Name = Int…
Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == null) { getSupportFragmentManage…
原文 https://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制.关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可…
mvc是model,view,controller的缩写,mvc包括三个部分: 1.模型(model)对象:是应用程序的主体部分,全部的业务逻辑都应该写在该层. 2.视图(view)对象:是应用程序中负责生成用户界面的部分.也是在整个mvc架构中用户唯一能够看到的一层,接收用户的输入,显示处理结果. 3.控制器(control)对象:是依据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给m处理. android鼓舞弱耦合和组…
前言 今天有时间就刚好有想写关于这几个名词.对于我来说.事实上这么多名词.思想归根究竟就是要依据项目实际.人员配置来做合理优化,既不能纸上谈兵.又不能畏惧不前.那么合理分阶段架构和完好代码才是关键,本篇文章将以两个思路讲述,第一先说介绍,然后再说优缺点,结合实际开发. 一.MVC介绍 MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型能够对于多种视图 模型,比方一批统计数据你能够分别用柱状图.饼图来表示.一种视图模型也能够对于多种逻…
Android中得到布局文件对象有三种方式 第一种,通过Activity对象 View view = Activity对象.getLayoutInflater().inflater(R.layout.布局文件名,null); 第二种,通过Context对象 LayoutInflater lf  = (LayoutInflater)Context对象.getSystemServic(Context.LAYOUT_INFLATER_SERVICE); View view = lf.inflate(R…
第三方登陆和分享功能在目前大部分APP中都有,分享功能可以将自己觉得有意义的东西分享给身边的朋友,而第三方登陆可以借助已经有巨大用户基础的平台(如QQ和新浪微博)的账号,让用户在使用自己APP的时候不用注册,直接使用第三方账号登陆,从而避免了注册的过程(其实是服务器端帮你注册),这对于吸引更多的用户非常有意义.下面我们就以新浪微博为例,讲解如何实现分享功能和第三方登陆.首先你需要到新浪微博开放平台创建一个应用: 新浪微博开放平台:http://open.weibo.com/ 首先我们来介绍分享功…
在android中实现动画最简单的一种方式就是使用逐帧动画(AnimationDrawable).逐帧动画的原理同最古老的动画机制是一样的,通过快速的播放一组变化微小的图片,在人眼的视差时间下,达到一种连续播放的效果.逐帧动画涉及到的类是AnimationDrawable,这个类是一个Drawable类,因此需要将该类设置为一个view的background,然后让背景动起来. 定义一个AnimationDrawable: <?xml version="1.0" encoding…
第六章 数据存储 6.1 持久化技术 持久化技术指将内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失. 主要有三种方式用于简单地实现数据持久化功能:文件存储.SharedPreferences存储以及数据库存储. 6.2 文件存储 android中最基础的一种数据存储方式,不对存储内容做任何格式化处理,比较适合存储一些简单的文本数据或二进制数据. 6.2.1 将数据存储到文件中 创建一个新项目FilePersistenceTest a.修改activity…
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb…
现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 1.跳转到拨号界面,代码如下: 1)直接拨打 Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); startActivity(intentPhone); 2)跳转到拨号界面 Intent intent = newIntent(Intent.ACTION_DIAL,Uri.par…
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ↳ android.view.View   ↳ android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV…
android中可以通过两种方式发送短信 第一:调用系统短信接口直接发送短信:主要代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessage(content); for (String text : divideContents) { smsManager.sendTextMessage("150x…
Android开发本质上就是手机和互联网中的web服务器之间进行通信,就必然需要从服务端获取数据,而反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过二级缓存来减少频繁的网络操作,减少流量.提升性能. 一.二级缓存工作机制 所谓二级缓存实际上并不复杂,当Android端需要获得数据时比如获取网络中的图片,我们首先从内存中查找(按键查找),内存中没有的再从磁盘文件或sqlite中去查找,若磁盘中也没有才通过网络获取:当获得来自网络的数据,就以key-…
[转发]作为Android开发人员,我们或多或少都听说过内存泄漏.那么何为内存泄漏,Android中的内存泄漏又是什么样子的呢,本文将简单概括的进行一些总结. 关于内存泄露的定义,我可以理解成这样 没有用的对象无法回收的现象就是内存泄露 如果程序发生了内存泄露,则会带来如下的问题 应用可用的内存减少,增加了堆内存的压力 降低了应用的性能,比如会触犯更频繁的GC 严重的时候可能会导致内存溢出错误,即OOM Error 在正式介绍内存泄露之前,我们有必要介绍一些必要的预备知识. 预备知识1: Jav…