随笔分类 - Android
摘要:1.默认效果//代码Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();2.自定义显示位置效果//代码toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();3.带图片效果//代码toast = Toast.makeText(getApp
阅读全文
摘要:阴影制作:包括各种形状(矩形,圆形等等),以及文字等等都能设置阴影。阴影制作是什么原理呢?其实很简单,你需要设置阴影的东西被看作一个主层。然后在主层下面画一个阴影层。阴影制作涉及到一个重要函数:public void setShadowLayer(float radius, float dx, float dy, int color)radius:阴影半径dx:X轴方向的偏移量dy:Y轴方向的偏移量color:阴影颜色注意:如果半径被设置为0,意思就是去掉阴影。具体实现:package xiaosi.textShadow;import android.app.Activity;import .
阅读全文
摘要:开机动画的制作,先要从bootanimation.zip这个压缩包说起,从网上随便下载一个动画包,解压后可以得到part0 part1和desc.txt,其中desc.txt最重要,打开desc.txt我们可以看到其中480 852意思是说你开机动画在屏幕先以多少的分辨率显示,我的是480 852,那么不论图片大小、比例都会按照这个分辨率来播放,所以制作的时候请注意,就算要修改也要按照比例来(最大不要超过480 852)。后面的25代表的是帧数,添多少,每秒就按这个数来播放图片!通俗的说就是图片的播放速度。(小提示中国的电视帧数都是25,而欧美的是29)part0 part1的作用请看下面p
阅读全文
摘要:SimpleAdapter simpleadapter = new SimpleAdapter(this, bookList, R.layout.mylistitem,new String[]{"bookName","path"}, new int[]{R.id.bookName,R.id.bookPath}); listView.setAdapter(simpleadapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public v...
阅读全文
摘要:/* * searchFile 查找文件并加入到ArrayList 当中去 * @String keyword 查找的关键词 * @File filepath 查找的目录 * */ private void searchFile(String keyword,File filepath) { //判断SD卡是否存在 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { File[...
阅读全文
摘要:Eclipse的功能就不用说,用过的都对它有所了解.可是你有没有注意到别人在输入代码时是一直都有代码提示呢?是不是感到有些郁闷,为什么我的不行的.下面我们就把自己的也设置成这样:1.打开Eclipse2.打开"选项"对话框(Windows->Preferences...) 3.依次打开"Java->Editor->Content Assist"在"Auto-Activation"t选项框中可以看到 Auto activation delay://表示自动提示时间,一般设置为40左右(默认的是200) Auto act
阅读全文
摘要:最近在写Android的Audio代码时发现,setStreamMute对一些stream type没有效果。例如alarm stream。后调查发现,在set stream mute的时候会调用函数isStreamAffectedByMute来判断指定的stream是否可以mute。函数isStreamAffectedByMute中使用mMuteAffectedStreams进行判断。 return (mMuteAffectedStreams & (1 << streamType)) != 0;mMuteAffectedStreams在函数readPersistedSet
阅读全文
摘要:status_t AudioFlinger::PlaybackThread::Track::start(){ status_t status = NO_ERROR; LOGV("start(%d), calling thread %d session %d", mName, IPCThreadState::self()->getCallingPid(), mSessionId);// mThread 在 AudioFlinger::ThreadBase::TrackBase 的构造函数中被赋值// 数值由 AudioFlinger::PlaybackThrea...
阅读全文
摘要:在看示例代码 testPlaybackHeadPositionIncrease 的时候,我们对 play 函数进行了研究。不过,当时对 Android 中声音竞争策略相关的内容,并没有详细分析。今天就以 AudioTrack 的播放为引子,来仔细看看 Anroid 中各种声音是以什么样的策略来竞争的。从 Java 侧类 AudioTrack 的 play 函数到函数 AudioFlinger::PlaybackThread::Track::start 之间的调用关系就不再叙述了。在看示例代码 testPlaybackHeadPositionIncrease 的时候已经说明过了。今天就从函数 A
阅读全文
摘要:今天来说说 native 中的代码是如何调用 java 侧代码的。在看 setEnabled 代码的时候,我们了解到,最终在函数 EffectHandle::setEnabled 中会调用 java 侧的函数,将状态改变的事件通知到 java 侧。今天就以 AudioEffect 中的 native 侧调用 java 函数作为例子,来说明 JNI 中的 callback 函数。#######################说明################################/*1、首先,在 JNI 中会有一个 init 函数,java 侧会首先调用该 init 函数来完成初始化
阅读全文
摘要:之前已经看过,通过接口getEnabled可以取得effect的enable状态。今天来看看如何来改变enable状态。*****************************************源码************************************************* //Test case 2.0: test setEnabled() and getEnabled() in valid state @LargeTest public void test2_0SetEnabledGetEnabled() throws Exception {...
阅读全文
摘要:今天来看看如何将AudioEffect与AudioTrack关联起来。*****************************************源码************************************************* //Test case 1.7: test auxiliary effect attachement on AudioTrack @LargeTest public void test1_7AuxiliaryOnAudioTrack() throws Exception { boolean result = f...
阅读全文
摘要:今天来看看AudioEffect中enable相关的接口。*****************************************源码************************************************* //Test case 1.3: test getEnabled() failure when called on released effect @LargeTest public void test1_3GetEnabledAfterRelease() throws Exception { boolean result...
阅读全文
摘要:今天来看看AudioEffect的构造,以及相关的一些函数。*****************************************源码************************************************* //Test case 1.0: test constructor from effect type and get effect ID @LargeTest public void test1_0ConstructorFromType() throws Exception { boolean result = true...
阅读全文
摘要:今天开始看看AudioEffect相关的接口。这个类,之前有看过。不过当时只是从类的定义出发,了解了一下基本的内容。这次从测试代码使用的接口出发,逐步撕开AudioEffect的面纱。*****************************************源码************************************************* //Test case 0.0: test queryEffects() and available effects @LargeTest public void test0_0QueryEffects() th...
阅读全文
摘要:之前我们看过get position,今天来看看set position。*****************************************源码************************************************* //Test case 3: setPlaybackHeadPosition() on paused track @LargeTest public void testSetPlaybackHeadPositionPaused() throws Exception { // constants for te...
阅读全文
摘要:今天来看看playback rate相关的接口。包括set和get。*****************************************源码************************************************* //Test case 6: setPlaybackRate() accepts values twice the output sample rate @LargeTest public void testSetPlaybackRateTwiceOutputSR() throws Exception { // ...
阅读全文
摘要:下面来看看音量设置相关的接口。*****************************************源码************************************************* //Test case 1: setStereoVolume() with max volume returns SUCCESS @LargeTest public void testSetStereoVolumeMax() throws Exception { // constants for test final String TE...
阅读全文
摘要:play, stop, flush这几个函数,今天来看看pause函数。*****************************************源码************************************************* //Test case 4: getPlaybackHeadPosition() is > 0 after play(); pause(); @LargeTest public void testPlaybackHeadPositionAfterPause() throws Exception { // co...
阅读全文
摘要:这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一.反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。具体步骤:首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成
阅读全文
浙公网安备 33010602011771号