`
文章列表
本系列文章转至nkmnkm在CSDN的博客,分为6篇: 1.android图形系统详解一:Canvas http://www.eyeandroid.com/thread-5534-1-1.html 2.android图形系统详解二:Drawables http://www.eyeandroid.com/thread-5535-1-1.html 3.android图形系统详解三:形状Drawable和九宫格 http://www.eyeandroid.com/thread-5536-1-1.html 4.android图形系统详解四:控制硬加速 http://www.eyeandroid. ...
用户在播放音乐的时候有多个选择,可以使用内置的扬声器,有线耳机或者是支持A2DP的蓝牙耳机。(补充:A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定, A2DP是能够采用耳机内的芯片来堆栈数据,达到声音的高清晰 ...
视频讲解:http://www.eyeandroid.com/thread-15896-1-1.html 由于很多应用程序都可以播放音频,因此在播放前考虑它们如何交互就显得很重要了,为了避免同时出现多个声音,Android使用音频焦点(AudioFocus)来控制音频的播放 - 仅仅是获取到Audio Focus的应用程序才能够播放音频。        在应用程序开始播放音频之前,它需要经过发出请求[request]à接受请求[receive] à音频焦点锁定[AudioFocus]的过程。同样它需要知道如何监听音频焦点的丢失并进行合适的响应。        请求获取音频焦点        在开 ...
主要内容: 1 鉴别使用的是哪个音频流 2 使用物理音量键控制应用程序的音量 3 使用物理播放控制键来控制应用程序的音频播放 视频讲解:http://www.eyeandroid.com/thread-15877-1-1.html 控制应用程序的音量和音频的播放        一个好 ...
一:主要内容 本文档首先介绍如何通过发送Intent来分享数据内容,这里的数据内容有:文本内容和二进制内容。 最后讲解如何一次发送多块数据内容。 内容来源自:Android Training的Sending Content to Other Apps 对初学者非常有用,欢迎大家参考! 二:截图 [img] [/img] 三:文档下载 下载地址:http://www.eyeandroid.com/thread-14697-1-1.html
一 主要内容 1.概述 2.定义Schema与Contract 3.使用SQL Helper创建数据库 4.向数据库添加信息 5.从数据库中读取信息 6.删除数据库中的信息 7.更新数据库中的信息 二 翻译转载 对于重复或者结构化的数据(如联系人信息)等保存到DB是个不错的主意。这节课假定你已经熟悉SQL数据库的操作。在Android上可能会使用到的APIs,可以从android.database.sqlite包中找到。 Define a Schema and Contract [定义Schema与Contract] SQL中一个中重要的概念是schema:一种DB结构的正式声明。schem ...
一:主要内容 1.概述 2.选择内部存储还是外部存储 3.获取访问External Storage的权限 4.保存文件到Internal Storage 5.保存文件到External Storage 6.查询剩余空间 7.删除文件 8.Q&A Demo截图 二:翻译参考 http://www.eyeandroid.com/thread-11349-1-1.html 三.视频讲解 http://www.eyeandroid.com/thread-12917-1-1.html
1. 范例说明 从Android 3.0开始,Android引入了ActoinBar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能。 之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着Android 4.0和Android 4.2 的发布和慢慢的推广开来,很多应用也开始使用Google推广的UI设计,而ActionBar是其中相当重要的一部分。 无奈google没有发布3.0之前版本的ActionBar的兼容包。还好网上有提供开源的别人开发的,ActionBarShelock,简称ABS. ABS的还有一项值得一提的优点就是,如果你在3.0以上的机子上使用,那么它会调 ...
1. 范例说明 ViewPager实现滑动切换的效果,但是切换的几个页面只是调用了不同的layout,实际上还是在一个Activity里面,对功能编写就不方便了。所以,采用TabHost和ViewPager结合,使用TabHost切换Activity,使用ViewPager切换界面,从而完善切换效果 原理就是把tabhost里原有的的tabcontent隐藏掉,加一个viewpager,捕捉事件进而进行互相刷新的动作。 2. 运行结果 3. 核心代码 tabHost.setOnTabChangedListener(new OnTabChangeListener() { @Overri ...
1. 范例说明 TabHost是Android系统中提供的一个视图容器组件,它可以通过分页显示一组子组件,把程序中的多个Activity组织起来。创建一个TabHost还需要引入TabWidget组件和TabHost.TabSpec组件,TabWidget代表选项卡的位置,Tabhost.Spec则表示每个选项卡中的内容。 在本范例的布局文件中,TabWidget的ID必需设置为”@android:id/tabs”,FrameLayout的ID必需设置为”@android:id/tabcontent”。另外,如果MainActivity不是继承于TabActivity,那么在代码中,通过fin ...
1.主要内容 本小节介绍SharedPreference相关API的使用 获取SharedPreference的Handle 写Shared Preference 读Shared Preference 2.视频讲解 http://www.eyeandroid.com/thread-11495-1-1.html 3.翻译参考 Saving Key-Value Sets 如果你有一个相对较小的key-value集合需要保存 ...
1.主要内容 本讲讲解onSaveInstanceState与onRestoreInstanceState的使用。 2.视频讲解 http://www.eyeandroid.com/thread-11391-1-1.html 3.翻译参考 存在一些情况,由于普通的程序行为,你的activity会被销毁,比如,当用户点击Back按钮,或者自己调用finish()方法。另外,如果activity被停止了并且很久没被使用,或者前台的系统需要更多的资源,系统也可能会销毁你的activity。 当你的activity是因为按Back键或者自己结束的,那么系统认为这个activity实例已经是不需要 ...
1. 范例说明 •android-support-v4.jar,这是谷歌官方给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android 3.0以上可以使用的api。而ViewPager就是其中之一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等。 •ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。 •本Demo向大家演示ViewPager的使用,并在用户未滑动View时,每隔5s钟自动切换到下一个View(循环切换),而当用户有Touch到View时取消5s自动切换功能。并有指示器指示当前处于哪一个View。 2. 运行结果 ...
1.主要内容 本小节介绍onStop与onRestart以及onStart的使用,通过本讲我们能学会应该在onStop与onStart里面执行什么样的操作。 2.观看视频讲解 http://www.eyeandroid.com/thread-11346-1-1.html 3.翻译参考 停止与重启Activity 在activity生命周期中,恰当的停止与重启activity是很重要的,这样能确保用户感知到程序的存在并不会丢失他们的进度。在下面一些关键的场景中会涉及到停止与重启:    .用户打开“最近使用的程序(Recent Apps)”的菜单并从当前app切换到另外一个app,这个时候 ...
1.主要内容 本讲介绍onPause和onResume,主要分析了在onPause函数中应该执行哪些操作。 2.视频讲解 http://www.eyeandroid.com/thread-11291-1-1.html 3.翻译参考 在正常的程序使用中,处于前台运行的activity有时会被另外一些可见的组件遮挡,从而造成activity被暂停。比如,一个半透明的activity(类似一个对话框)被打开,先前那个activity就会被暂停。虽然这个activity还有部分可见,但是当前的焦点不在这个activity上,因此它保持在paused状态。 不过,一旦这个activity被全部遮挡, ...
Global site tag (gtag.js) - Google Analytics