恺风(Wei)之Android专栏
文章平均质量分 91
针对Android的入门开发,step by step
恺风
我思故我在,如果一个人无法独立思考,即使熟习各种工具,实质只是工具的一部分,永远无法创造工具。
展开
-
Pro Android学习笔记(一七一):说在最后
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。对于《Pro Android 4.0》的学习笔记总算是有始有终,也算是不容易。Android已经是相当成熟的操作系统,也正在向物联网等方向发展。在一两周之前,有一个课题要写科技报告,里面谈到了Android当下的发展原创 2015-07-09 11:48:30 · 4277 阅读 · 10 评论 -
Pro Android学习笔记(一七零):发布应用(3):打开商店、许可和ProGuard
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。打开应用商店Android提供URI(market://),在代码中打开Android Market应用商店。Intent intent = new Intent(Intent.ACTION_VIEW原创 2015-07-06 11:27:33 · 4179 阅读 · 0 评论 -
Pro Android学习笔记(一六九):发布应用(2):应用准备
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。应用本地化如果应用支持多种语音,在res/下通过不同的目录进行适配,例如res/values-fr则是针对缺省语音为法文的系统。因此,与UI有关的字符串值,通常在res/values(-xx)/下的xml,如原创 2015-07-02 10:26:29 · 2416 阅读 · 0 评论 -
Pro Android学习笔记(一六八):发布应用(1):测试和适配
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。在我们提交一个商用的Android应用前,我们需要确保应用有效。测试应用尽可能在不同的设备中进行测试。因为不同设备有不同的硬件规格,有一些提供真机测试的环境(大致是N多台真机通过扩展USB连接到某个服原创 2015-06-30 15:38:54 · 2989 阅读 · 0 评论 -
Pro Android学习笔记(一六七):联系人API(10):在Personal Profile中添加raw contact
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。在Personal Profile中添加raw contact和普通的contact差不多,只是数据存放在profile.db中相应的表格中。小例子将在profile中添加一个raw contact。相关的代码片原创 2015-06-16 19:05:52 · 3044 阅读 · 0 评论 -
Pro Android学习笔记(一六六):联系人API(9):Personal Profile
Personal Profile contact和其他的contact一样,但只有为一个,由单独的数据块profile.db进行存放,这个数据库和contact2.db的结构是一样的。由于只有一个整合联系人,所以在整合方面的处理更为简单,所有的raw contacts都会整合到这唯一的联系人(me)中。相关的URI和普通联系人相似,用Profile替代Contact。例如ContactsC原创 2015-05-29 10:24:26 · 5187 阅读 · 0 评论 -
Pro Android学习笔记(一六五):联系人API(8):控制整合
当我们创建一个raw contact的时候,我们可以控制是否允许和其他raw contact进行整合,在raw_contacts表中有一个字段aggregation_mode,缺省为0。有下面三个数值,顾名思义,就是要整合,禁止整合、采用缺省策略。TYPE_KEEP_TOGETHER、TYPE_KEEP_SEPARATE、TYPE_AUTOMATIC我们也可以指明某两个raw contac原创 2015-05-25 11:25:11 · 3046 阅读 · 1 评论 -
Pro Android学习笔记(一六四):联系人API(7):添加联系人
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。添加新的联系人,就要增添raw contacts。下面是代码片段: //添加联系人的代码片段,入口为addContactTest()。showInfo()为在activity框中显示信息或其他显示信息的方式 pr原创 2015-04-30 14:34:07 · 3045 阅读 · 2 评论 -
Pro Android学习笔记(一六三):联系人API(6):联系人详细信息
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。在前面我们学习过,数据库中有raw_contacts表并没有存放联系人的所有信息,而是在data表中存放的,例如具体的电话号码,电子邮件等等。数据库给出视图view_entities,合并raw_contacts和dat原创 2015-04-23 21:08:22 · 3398 阅读 · 0 评论 -
Pro Android学习笔记(一六二):联系人API(5):读Raw Contacts
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。我们将读取Raw Contacts的信息。Raw Contacts提供的信息代码和之前获取整合联系人的表头信息类似,只是URI不同,Raw contacts的URI为ContactsContract.RawCon原创 2015-04-23 21:06:32 · 4053 阅读 · 0 评论 -
Pro Android学习笔记(一六一):联系人API(4):读取整合联系人
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。本次我们将写一个小例子读取整合联系人的信息。要读取联系人需要声明权限android.permission.READ_CONTACTS读取整合联系人的信息小例子的代码如下:public class Ag原创 2015-03-17 21:32:12 · 4248 阅读 · 3 评论 -
Pro Android学习笔记(一六十):联系人API(3):联系人数据
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。联系人信息查看reference中android.provider.ContactsContract.CommonDataKinds可以知道该版本的Android API联系人中带有哪些信息。在API level 1原创 2015-03-05 20:44:55 · 7277 阅读 · 1 评论 -
Pro Android学习笔记(一五九):联系人API(2):联系人应用
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。在Android4.0中联系人应用有所改变,引入了个人配置(personal profiles),并将联系人应用改名为People。手机厂家多对联系人应用进行了UI优化,如果打开模拟器,会看得更为清晰。打开Peopl原创 2015-03-01 14:35:49 · 3285 阅读 · 0 评论 -
Pro Android学习笔记(一五八):联系人API(1):账号
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。在content provider中我们已经学习了如何通过抽象的provider接口,通过URL以及privider的API对数据进行增删改查。联系人的URL的authority是content://com.androi原创 2015-02-13 09:31:10 · 3370 阅读 · 0 评论 -
Pro Android学习笔记(一五七):传感器(7):其他一些传感器
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。重力传感器(Gravity Sensors)重力传感器不是物理传感器,是在加速度传感器的基础上,结合其他的硬件,例如陀螺仪,获得更精确的数据。其读数含义同加速度传感器。线性加速度传感器(Linear Accele原创 2015-02-03 17:08:43 · 6987 阅读 · 5 评论 -
Pro Android学习笔记(一五六):传感器(6): 磁场传感器和方位(下)
坐标修订在小例子中,新旧两种方法并没有显示太大的差异。单如果我们切换到横屏,情况会如何?用户在看地图,如果我们切换到横屏,我们仍希望我们所看的方位是根据用户视图,给出正前方的方位,也就是原来手机X轴的方位,也即相应的方位角、roll和pitch能够适应到横屏情况。新方法是基于矩阵进行计算,矩阵可以提供坐标轴更换的计算,Android提供了相关的API。我们在小例子的基础上进行对横屏情况的修正。原创 2015-01-30 17:39:04 · 5657 阅读 · 1 评论 -
Pro Android学习笔记(一五五):传感器(5): 磁场传感器和方位(上)
磁场传感器(Magnetic Field Sensors)磁场传感器可以用来检测磁场大小,和加速度传感器一样,有x、y、z轴三个方向,单位为uT(microteslas)。磁场传感器也称为compass(指南针),在uses-feature中使用android.hardware.sensor.compass作为其名字。说实在的,单看磁场数值也看不出所以然。原创 2015-01-30 12:51:17 · 15085 阅读 · 0 评论 -
Pro Android学习笔记(一五四):传感器(4):陀螺仪、加速传感器
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。陀螺仪陀螺仪(Gyroscope sensor)测量设备转动的角速度。最早的陀螺仪发明在中国,科学应用则在西方,陀螺仪是为士大夫坐轿子看书是免收烛光摇曳发明的,这在很久之前一部西方拍的科教片看到,具体名字忘了。Pro原创 2015-01-11 16:04:10 · 43606 阅读 · 5 评论 -
Pro Android学习笔记(一五三):传感器(3):近距离传感器、温度传感器、气压传感器
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。近距离传感器近距离传感器(Proximity sensor)给出物体与设备之间的距离(cm),或者告知物体是近或是远。有些近距离传感器值的解析度与最大值一样,就是只返回两个值,0.0或者最大值。我们无法在安装设备原创 2014-12-25 20:15:15 · 5008 阅读 · 0 评论 -
Pro Android学习笔记(一五二):传感器(2):光传感器
光传感器比较简单,智能手机都会具有,读取光亮度值,单位为SI lux。维基百科:1流明每平方米面积,就是1勒克斯(lux)。而SI,即国际单位制,一串法文。小例子很简单,获取传感器,甚至监听器,将监听器监听到的数值在TextView上显示。原创 2014-12-25 20:08:59 · 4544 阅读 · 2 评论 -
Pro Android学习笔记(一五一):传感器(1):传感器列表
Android提供sensor framework也帮助开发者利用设备的传感器进行开发。传感器是只读的(NFC例外),因此只要设定监听器接受传感器信息即可。这和之前学习的GPS很相似,但GPS不属于传感器架构。下面列举部分传感器,实际上我们可以查Sensor.TYPE_XXXX获知当前支持的传感器类型,例如在Android API 18,还支持计步传感器,可支持传感器类型会越来越多。原创 2014-12-21 14:47:57 · 7156 阅读 · 0 评论 -
Pro Android学习笔记(一五十):拖拽(4):Android3.0及后的方式(下)
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。代码:Paletter-自定义属性我们在上面的fragment中放入LinearLayout,里面放入我们自定的圆点MyNewDot,相关的layout文件如下: cn.wei.fl原创 2014-12-14 21:13:41 · 2652 阅读 · 0 评论 -
Pro Android学习笔记(一四九):拖拽(3):Android3.0及后的方式(中)
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。代码:DropZoneDropZone是下的fragment,目标方块将检测是否有对象被拖拽进来。我们先看看这部分的layout.xml,左右水平摆放,左边是绿色的方块,右边是一个用于计算的TextView,如下:原创 2014-12-14 21:12:49 · 2288 阅读 · 1 评论 -
Pro Android学习笔记(一四八):拖拽(2):Android3.0及后的方式(上)
在Android3.0之后,有专门针对拖拽的处理。任何所有想监听对象都可以对拖拽事件进行监听,不仅限于被拖拽的对象和目标位置对象,但对进入自己范围的拖拽事件有更详细的监控。因此和之前MotionEvent通过计算是否在目标位置的方式不同,我们可以在目标view加入监听器,检测是否有view被拖拽进来。原创 2014-12-14 21:06:49 · 2540 阅读 · 0 评论 -
Pro Android学习笔记(一四七):拖拽(1):通过MotionEvent来实现
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。拖拽(Drag and Drop)在Windows电脑很常用,用户使用很方便。在Android中,我们见图标拖入到垃圾桶进行应用删除,以及重新安排图标,这些都是拖拽的例子。Android3.0引入了拖拽能力,而在此之原创 2014-11-20 21:11:36 · 3234 阅读 · 2 评论 -
Pro Android学习笔记(一四六):触摸屏(5):自定义手势
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。Gestures Builder我们可以自定义手势。在Android模拟器上提供一个Gestures Builder,帮助我们自定义手势。通过Gestures Builder可以自定义手势,并保持在/stor原创 2014-11-20 21:06:54 · 3794 阅读 · 0 评论 -
Pro Android学习笔记(一四五):触摸屏(4):手势
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。有了MotionEvent来了解触摸的详细信息,可以在此基础上分析手势,例如长按、滑动(fling)、缩放(pinch)等等,GestureDector就提供这个功能,GestureDectore.onGestureLi原创 2014-11-20 21:02:25 · 2557 阅读 · 1 评论 -
Pro Android学习笔记(一四四):触摸屏(3):多点触摸
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。MotionEvent同样适用于多点触摸的信息显示。下面是第二个手指触碰屏幕时MotionEvent的信息ACTION_POINTER_DOWN表示第2,3….的触摸点按下,在MotionEvent中不少方法可以原创 2014-11-20 20:40:40 · 2959 阅读 · 1 评论 -
Pro Android学习笔记(一四三):触摸屏(2):VelocityTracker
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。利用MotionEvent,我们可以获知手指在屏幕滑过的速度,因为可以或者位置,间隔时间。Android提供了VelocityTracker类,必须自己计算,可以直接获取。Velocity实际也是从MotionEvent原创 2014-11-01 11:55:19 · 2386 阅读 · 0 评论 -
Pro Android学习笔记(一四二):触摸屏(1):MotionEvents
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。MotionEvent对象用于告诉APP用户正在如何使用触摸屏幕。我们可以为view设置触摸回调函数,而view本身也带有触摸回调函数。为view设置触摸回调函数onTouch()public class M原创 2014-11-01 11:54:50 · 4743 阅读 · 0 评论 -
Pro Android学习笔记(一四一):List Widgets(3):Remote views Service和Factory
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。继承RemoteViewsService的代码Android通过一个后台服务(RemoteViews Service的继承)对list view的数据进行设置。整个过程Android进行了很好的封装,我们只需在onG原创 2014-10-26 10:06:51 · 4684 阅读 · 0 评论 -
Pro Android学习笔记(一四十):List Widgets(2):App Widget Provider
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。下面是App Widget Provider的代码:public class TestListWidgetProvider extends AppWidgetProvider{ private sta原创 2014-10-26 09:57:07 · 2550 阅读 · 0 评论 -
Pro Android学习笔记(一三九):List Widgets(1):概述
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。通过Remote view来对widget的views进行设置,对于List和grid,如何操控里面的子view?本学习笔记开始,将探讨这个问题。Remote Views我们知道不能直接获取RemoteViews原创 2014-10-26 09:54:06 · 2499 阅读 · 0 评论 -
Pro Android学习笔记(一三六):Home Screen Widgets(2):Widget定义
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。定义广播接收器前面提到Widget有两个重要的java类,一个是可选的用于配置的activity,一个用于管理wdiget生命周期的广播接收器,接收器接收AppWidgetManager的广播消息,来触发各类回调函数原创 2014-10-15 20:36:00 · 2738 阅读 · 0 评论 -
Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。通过widget定义,我们在widget列表中看到了我们的TestWidget,当我们拖拽widget到主页时,如果在appwidet-provider中定义了android:configure的java类,在widge原创 2014-10-15 20:39:51 · 2975 阅读 · 2 评论 -
Pro Android学习笔记(一三八):Home Screen Widgets(4):App Widget Provider
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。根据widget定义,我们App Widget Provider的Java类为BirthDayWidgetProvider,这个类用于管理Widget的各个生命周期。public class BirthDayWi原创 2014-10-15 20:41:46 · 3198 阅读 · 0 评论 -
Pro Android学习笔记(一三五):Home Screen Widgets(1):关于Widget
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。何为Home Screen WidgetsHome screen Widget即称为小工具或者中文小工具,是显示在主页上的views,通过后台进程更新view的数据,。Android由AppWidgetManag原创 2014-10-15 20:27:38 · 2579 阅读 · 0 评论 -
Pro Android学习笔记(一三四):Media Frameworks(9):MediaStore
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。MediaStore类提供了媒体接口,可以搜索特定类型的媒体,通过intent调用其它应用进行录音录像,建立playlist等等。和之前学习不同,MediaStore不能对编码、帧率、输入源和输出格式进行设定,如果我们不原创 2014-09-30 17:31:07 · 3811 阅读 · 1 评论 -
Pro Android学习笔记(一三三):Media Frameworks(8):MediaRecorder进行录像
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。media framework提供录像功能,录像的同时也包括了录音。录像要通过Surface的UI对象来显示Camera的内容,然后在从Surface中copy。对于一些复杂的应用,即使不需将视频显示给用户,也仍需要一个原创 2014-09-30 17:30:41 · 4126 阅读 · 0 评论 -
Pro Android学习笔记(一三二):Media Frameworks(7):AudioRecord进行录音
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei。MediaRecorder将录音写到文件中,但有时我们需要对录音进行处理后在写,或者我们并不需要些文件,只是需要对这些数据进行处理,例如在VoIP中,数据转换为RTP/RTCP流,传输对远端。这些情况可以采用AudioR原创 2014-09-27 17:26:43 · 4437 阅读 · 0 评论