随笔分类 - Android
摘要:Android通过流播放声音【转载】http://mobile.51cto.com/amedia-375030.htmAudioRecord和AudioTrack类是Android获取和播放音频流的重要类,放置在android.media包中。与该包中的 MediaRecorder和MediaPlayer类不同,AudioRecord和AudioTrack类在获取和播放音频数据流时无需通过文件保存 和文件读取,可以动态地直接获取和播放音频流,在实时处理音频数据流时非常有用。当然,如果用户只想录音后写入文件或从文件中取得音频流进行播放,那么直接使用MediaRecorder和MediaPlaye
阅读全文
posted @ 2013-11-20 10:17
我是鸡蛋
摘要:SQLite简介Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。SQLite具备下列特点:1.轻量级使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。2.独立性SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。3.隔离性SQLite 数据库中所有的信息(比如表、视图、触发器等)都包含在一个文件夹内,方便管理和维护。4.跨平台SQLite 目前支持大部分操作系统,不至电脑操作系统更在众多的手机系统也是能够运行,比如:Android。5.多语言接口SQL
阅读全文
posted @ 2013-11-20 10:10
我是鸡蛋
摘要:记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其关键的是,当一个线程访问object的一个synchronized(this
阅读全文
posted @ 2013-11-20 10:06
我是鸡蛋
摘要:天天动听, 这款Android手机上的音乐播放器,相信不少朋友都曾用过。 不知大家是否注意到,天天动听有一个迷你歌词的特效。什么效果呢? 就是不管你切到什么画面, 歌词永远显示,并且可以拖动。 类型QQ音乐,在电脑上播放时显示的歌词效果。下面先来看一下效果。这个歌词是在所有界面之上的。下面我们将这个效果解剖一下, 我认为主要有三个难点:1. 歌词悬浮在所有页面之上2. 歌词可以拖动位置3. 歌词的播放效果 (颜色覆盖)对于第一点,首先想到的就是 WindowManager , 这个类可能不少人都用过, 一般用于获取屏幕宽度、高度,那么这次就要利用这个类来让我们的歌词永远置顶。通过查看AP...
阅读全文
posted @ 2013-11-20 09:58
我是鸡蛋
摘要:同样是一个ListView,可以用不同的Adapter让它显示出来,比如说最常用的ArrayAdapter,SimpleAdapter,SimpleCursorAdapter,以及重写BaseAdapter等方法。 ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效 果,SimpleCursorAdapter则可以从数据库中读取数据显示在列表上,通过从写BaseAdapter可以在列表上加处理的事件等。 下面先来看看ArrayAdapter: 1 package com.shang.test; 2 3 import j...
阅读全文
摘要:android 自动检测版本在这里就不用说了,今天想和大家一起分享的是如何将下载更新文件最小化到任务栏下载,替代掉丑陋的对话框提示下载,对话框提示下载的用户体验相当不好,我们把它修改成为后台下载这样可以改善用户的使用体验。废话就不多说了,直接贴代码。首先要创建一个Service来执行下载更新文件的任务:public class UpdateService extends Service{private NotificationManager nm;private Notification notification;private File tempFile=null; private bool
阅读全文
摘要:前些日子几大互联网巨头展开了一轮网盘空间大战。一下子从G级别提高到了T级别。以后谁的空间没有1T估计都不好意思开口了~~~试用了一下360云盘的客户端,比较小清新(不是给360打广告~~~)。刚好UI这一块是我最不擅长的,于是萌发了练习模仿它的UI的念头~~~顺便把复习一下自定义控件的使用。以下是完成的效果图,左边是官方的,右边是我模仿的: 还挺像的吧~~~先介绍一个神器:UI Automator Viewer这个SDK的tools文件夹或DDMS中都可以找到。它可以很方便地查看UI的视图层级和UI控件的具体位置与实现。相当好用,有了它我们就不用去猜官方到底是怎么实现的、使用什么布局了。具体实
阅读全文
摘要:http://www.mobiletuts.me获取网络连接状态随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能。Android平台提供了ConnectivityManager类,用于网络连接状态的检测。Android开发文档这样描述ConnectivityManager的作用:Class that answers queries about the state of network connectivity. It also notifies applications when network connectivit
阅读全文
摘要:核心代码:Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();1.加入权限在manifest.xml文件中要添加 2.代码[java] view plaincopyprint?/****@authordingran*创建日期2010-4-29下午05:02:47**/packagenet.sunniwell.app;importandroid.app.Activity;importandroid.os.Bundle;importandroid.telephony.CellLocation;i
阅读全文
摘要:前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者。同时真挚地向渴望了解 Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识 。 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为根据之前设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘(draw),其框架过程如下: ...
阅读全文
摘要:Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start();复制代码可以实现功能,刷新UI界面。但是这样是不行的,因为它违背了单线程模型:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。方法二:(Thre...
阅读全文
摘要:ListView 与 ScrollView 同在一个界面用头脑想想都觉得不大可能这样做,但还真的有美工这样做了,有点郁闷~!!沟通无果,解决之~~~~!初期还真没啥头绪,Google 一下看到有很多同样碰到这类头痛的问题,不好意思还没描述问题症状。ListView 与 ScrollView 同在一界面会导致ListView 显示变形,因为ListView 也有自带的滚动事件,故无法与ScrollView 相容,可能造成的现象是ListView 只能显示一行或者两行,其他数据在那一点儿宽的地方做滚动,甚不雅观。下面是我的一个实现 步骤:1、继承LinearLayout,既然会冲突那就不用List
阅读全文
摘要:欢迎界面登陆后的主界面,自动查询数据库并加载显示数据到ListView中添加数据长按删除menu按钮排序按ID逆序排列的界面xml布局写的不是很好,若您有更好的布局方式,请回复一下,让我也学习学习哈,一同进步。。。。第一次写这么多的代码,发帖不易,请不要让此贴沉下去哈,回复还有下载豆豆拿。。。欢迎界面的java代码StartLuncher.java[mw_shl_code=java,true]package wj.sqlitedemo;import android.app.Activity;import android.content.Intent;import android.os.Bund
阅读全文
摘要:代码如下:[java] view plaincopyprint?packagecom.pei.activity;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.TextView;/***classname:AndroidUtilActivity*classdescription:showgetsimcardinfoac
阅读全文
摘要:当一个活动接收到焦点时,它将被要求绘制它的布局。Android框架将处理这个绘画的过程,但是活动必须提供它的布局层次的根节点。绘画从布局的根节点开始。它被要求来测量和绘制布局树。绘画通过遍历布局树并渲染每个和失效区域相交的视图来处理。相应的,每个视图组负责请求绘制它的子视图(通过draw() 方法)而每个视图负责画它自己。因为这个树是顺序遍历的,这意味着先画父节点(也就是在屏幕后面),然后按照树中出现的顺序画其同层次节点。框架将不会画不在失效区域的视图,而且还将会帮你画视图背景。你可以强制一个视图被重画,通过调用invalidate()。绘画布局共有两步:一个度量过程和一个布局过程。 度量过程
阅读全文
摘要:Adapter在Android中占据一个重要的角色,它是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如图1直观的表达了Data、Adapter、View三者的关系。图1 Adapter、数据、UI三者关系(PS:此图来自Google I/O)一、Android中Adapter图2:Android中Adapter类型层级图由 图2我们可以看到在Android中与Adapter有关的所有接口、类的完整层级图。在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的 扩展。比较常用的有 BaseAdapter,
阅读全文
摘要:自定义EditText边框背景:首先重新定义一个style。在values文件夹下新建一个xml文件: 接下来在drawable里添加my_edittext.xml:内容如下 其中editbox_normal为正常情况下的编辑框图片,editbox_focus为选中下的编辑框图片 定义好了这两个文件之后就可以用以下方式使用: 【转载】http://blog.csdn.net/a570056568/article/details/6180872
阅读全文
摘要:最 近给公司做项目,需要用到一个功能:将麦克风设备采集到的音频直接回放出来(不是录制)。Android里自带的录音机只能录制,没有实时回放功能。网上 涉及到音频采集的教程,以用MediaRecorder录制的为多,涉及到直接回放的例子很少。在网上搜索了一天,终于在一个老外的论坛上找到了实时回放 的方法,稍加改动,就可以工作了。 麦克风信号的实时回放,不需要对音频做编码,也就是说,不要走录制->压缩->播放的路子。而是要直接把采集到的PCM信号送给播放设备。下面是一个简单的例子,为了简明,没写创建线程的代码。实际使用的时候,需要创建线程,将这段代码放到线程里使用。boolean mR
阅读全文
摘要:在完成全部功能之前,我查询了很多资料,用了一个星期的时间终于陆陆续续的将这些功能全部完成了,为了众多和我一样的菜鸟少走一点弯路,我决定将它贴出来和大家一起分享,仔细一看距上次更新博客已经有半年了 。一、开发环境 Elispse5.5,JDK1.6,Aadroid 2.1二、开发中使用到的重点技术点:距离感应(SENSOR_SERVICE),音讯管理(AUDIO_SERVICE), 电话状态监听(TELEPHONY_SERVICE),java反射启动自动接听,开机自动启动Service, 监听来电,在Service中启动Activity并传递参数三、主要开发流程: 1. 在前三步中我们看到有一.
阅读全文
摘要:AudioManager类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。AudioManager audiomanage = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);audiomanager就是我们定义的控制系统声音的对象。这里只讲述几个比较常用到的方法:adjustVolume(int direction, int flags) ——用来控制手机音量大小,
阅读全文
浙公网安备 33010602011771号