随笔分类 - android
摘要:package com.weiny.mms; import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;
import android.util.Log; public class mmsTrack { int mFrequency; // 采样率 int mChannel; ...
阅读全文
摘要:package com.weiny.mms; public class mmsPlayer { private static mmsTrack mms=null; public native int openmms(String szUrl); public native int closemms();
/* * JNI INTERFACE */ public static int open(int frequency, int channel, int bit) { if(mms!=null) close(); mms=new mmsTrack(frequency...
阅读全文
摘要:在官方blog中,android工程师谈到了如何去选择apache client和httpurlconnection的问题: 原文见http://android-developers.blogspot.com/2011/09/androids-http-clients.html这里小结下几点。1) apache httpclient比较稳定点,少BUG,但由于API的关系,扩展改造麻烦点,所以android team现在不鸟这东西了基本2) httpurlconnection比较轻便,灵活,易于扩展,在2。2前有个BUG,见http://code.google.com/p/android/i.
阅读全文
摘要:表1展示了Android SDK中的一些与网络有关的API包名表1. Android SDK 网络包包 描述 API LevelJava.net 提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。 1java.io 虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他 Java 包中提供的 socket 和连接使用。它们还用于与本地文件(在与...
阅读全文
摘要:Android面试题1. 下列哪些语句关于内存回收的说明是正确的? (b )A、 程序员必须创建一个线程来释放内存B、 内存回收程序负责释放无用内存C、 内存回收程序允许程序员直接释放内存D、 内存回收程序可以在指定的时间释放内存对象2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException3. Math.round(11.5)等于多少(). Math.roun...
阅读全文
摘要:Html页面和Java代码结合的方式一般用在界面经常被更改 的情况下,可以讲html放在网络中,软件一打开就会访问网络获取到最新的界面。缺点是会受到网络信号的影响,从而导致访问速度慢。1.用WebView来显示HTML代码2.允许WebView执行JavaScript webView.getSettings().setJavaScriptEnabled(true);3.获取到HTML文件,也可从网络中获取 webView.loadUrl("file:///android_asset/index.html"); //HTML文件存放在assets文件夹中4.添加一个对象, 让
阅读全文
摘要:首先,说一下SQLite的概念:SQLite 是一个开源的嵌入式关系数据库,它可以减少应用程序管理数据的开销 , SQLite 可移植性好 、 很容易使用 、 很小 、 高效而且可靠 。目前在Android 系统中集成的是 SQLite3 版本 ,SQLite 不支持静态数据类型 , 而是使用列关系 。 这意味着它的数据类型不具有表列属性 , 而具有数据本身的属性 。 当某个值插入数据库时, SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成列类型。如果不能转换,则该值将作为其本身具有的类型存储。SQLite 支持 NULL 、INTEGER 、 R
阅读全文
摘要:经过了一番折腾,忙忙碌碌了一下午,终于搞明白了Android软件界面嵌入广告的方法,以下我以嵌入有米广告为例小结一下:步骤一,下载有米广告SDK,将 youmi-android.jar 导入想要嵌入广告的的工程中。1. 右键您的工程根目录,选择“Properties”2. 在左面板中选择“Java Build Path”3. 然后选择“Libraries”标签4. 点击“Add External JARs„”5. 选择 youmi-android.jar 的目录路径.6. 点击“OK”即导入成功步骤二,在AndroidManifest.xml文件中配置用户权限。请务必配置以下权限,否则将有可能
阅读全文
摘要:在一个项目中,常常需要频繁的分页,所以有必要实现一个封装的类来统一管理实现。首先看下效果图:从上图我们可以看出,这里是将listview中的数据通过底下的分页工具实现分页显示。那我们接下来先贴出代码:1、实现布局,这里有两个布局文件,第一个主布局文件main.xml<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/whole_region"android:layout_width="fill_parent&qu
阅读全文
摘要:今天和同事共同讨论了一个关于WebView中的文本控件去获得系统联系人的功能,之前单纯的以为只是点击文本框的时候弹出系统联系人Activity就ok了。立马浮现的想法就是在java方法中实现跳转功能,然后通过Js事件调用java方法,后面才知道选中某个联系人之后还要获得联系人号码赋给文本框。当时我就单纯的以为应该实现不了吧,但后来同事一提醒,如果传递号码作为客户端页面一个Js事件的参数然后为文本框赋值的话咧。这样确实是可行的,但java调用客户端Js的方法入口在哪里咧(必须是在关闭系统联系人之后,重现展现含有WebView的Activty时调用),说到这里应该有部分人会想到一个方法:onAct
阅读全文
摘要:这阵子在做Lephone的适配,测试组提交一个bug:标题栏的文字较长时没有显示完全,其实这并不能算个bug,并且这个问题在以前其他机器也没有出现,只是说在Lephone的这个平台上显示得不怎么美观,因为联想将原生的标题栏UI进行了修改。修改的过程中遇到了一个难题,系统自带的那个标题栏进度总能够到达100%后渐退,但是我每次最后到100%那一段显示不全,尝试了用线程程序死了卡主了不说,还是一样的效果,后来同事一句话提醒了我用动画。确实是这样我猜系统的也是这样实现的,等进度到达100%后,用动画改变它的透明度就ok了。实现的效果:标题栏显示网页标题并且滚动,并且用进度条显示网页的加载进度(重新.
阅读全文
摘要:1. 使用envsetup.sh脚本初始化编译环境$ source build/envsetup.sh也可以使用'.'去替换source,这样可以少输入几个字符:$ . build/envsetup.sh2. 选择目标平台选择目标平台使用lunch命令,输入lunch命令时可以指定平台,如果你没有指定平台,稍候会出现一个平台列表,你可以选择其中一个。$ lunch full-eng3. 编译选择好平台之后,你就可以编译了。$ make -j4GNU Make支持并行编译处理,在多核处理器下,加上-j参数能明显加快编译速度。本文参考来自android官网:http://sourc
阅读全文
摘要:在Android中显示网页主要有两种方式,一种是在Activity里面直接显示网页,另一种是调用浏览器显示网页。方式不同,使用的方法也不同,下面我们分别讲解。(一)在Activity里面直接显示网页1.在Manifest.xml文件里添加Inter网访问权限:<uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>2.在main.xml布局文件里声明一个WebView空间<WebView android:id="@+id/webView0
阅读全文
摘要:本文将介绍如何下载android源码树1. 安装RepoRepo它对git命令做了一些封装,让git更容易使用,要安装,初始化和配置Repo,需要如下几步:(1)在你的home目录下创建bin目录:$ mkdir ~/bin
$ PATH=~/bin:$PATH(2)下载Repo脚本并且确保它可执行:$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo2. 初始化一个Repo客户端Repo安装完成后,你现在就可以使用它来下载android源代码了
阅读全文
摘要:官方推荐ubuntu版本是64位的Ubuntu LTS (10.04)一、建立Android基本开发环境在Linux中建立Android开发环境,通常你需要一下几样东西:Python 2.5 -- 2.7GNU Make 3.8.1 -- 3.8.2Gingerbread或以后的版本需要安装JDK6,Froyo或更老版本安装JDK5就可以了。Git 1.7或以上版本详细步骤如下:1. 安装JDKJDK6:$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt
阅读全文
摘要:在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器用来把数据映射到ListView上的中介。3.数据具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种.
阅读全文
摘要:mmsplayer V2.0 近期发布。这次升级有哪些优越?1.首先是依赖库去掉了iconv,使用系统原生的编码转换环境2.文件大小,从以前的1.4M变成现在的0.4M的so3.把所有平台的代码都整合了,包括线程等等都在C中实现,把所有的接口调用都简化了。你只需要调用open,的接口就可以打开,调用close就可以关闭.4.架构清晰,除了android版本的jni的接口使用了C++,其他的版本都是基于C语言完成。没有使用stl等等C++类库来编写。5.包含所有的源码。6.增加购买方式,针对一些刚创业的朋友,增加了购买库的方式(即不含源码,只提供.a库文件).如果仍需要买源码的话,V2的版本可能
阅读全文
摘要:目前为止我们都是通过硬编码来增加菜单项的,android为此提供了一种更便利的方式,就是把menu也定义为应用程序的资源,通过android对资源的本地支持,使我们可以更方便地实现菜单的创建与响应。这一篇就介绍如何使用XML文件来加载和响应菜单,我们需要做这几步: 一般我们都是通过硬编码来增加菜单项的,例如我们之前介绍的。google为此提供了一种更便利的方式,就是在/res目录下创建menu文件夹在menu目录下使用与menu相关的元素定义xml文件,文件名任意,android会自动为其生成资源ID。例如:R.menu.itemmenu对应menu目录的itemmenu.xml资源文件使用x
阅读全文
摘要:android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。下面一一介绍:线程的魔法师 LooperLooper的字面意思是“循环者”,它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程。在程序开发中(尤其是GUI开发中),我们经常会需要一个线程不断循环,一旦有新任务则执行,执行完继续等待下一个任务,这就是Looper线程。使用Looper类创建Looper线程很简单:View Code通过上面两行
阅读全文