自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 6.2音频读取的调试

(1)读取wav音频时发现音频数据只有前面少部分正常,后面全为-12851即16进制的CDCD,后来百度后发现是fopen()时用了“r”,这使得读取到特殊字符时无法读取,导致后面的字符都是malloc初始化的值CD,正确的为使用“rb”。 (2)vs中ctrl+K+C注释,ctrl+K+U取消注释

2015-06-02 22:32:43 517

原创 6.1vs调试时查看内存

1.队友给了转换了采样率的音频,结果头文件的读取错误了,数据区只有26个字节!在报错的对话框按重试->中止,在看堆栈是哪里出了问题,索引到出问题的代码看其中的变量出了什么问题,dataLen很小,而且头文件字段data前有混乱。于是将头文件中前50个字节读出来看内存,在调试->窗口->内存通过输入变量的内存地址可以看到读取数据存入的内存区和显示出来的样子,在这里发现data字段前多了一个字段(

2015-06-02 08:33:33 830 3

转载 5.27AsyncTask异步任务

关于AsyncTask异步任务

2015-05-27 22:42:25 369

原创 5.27fragment向activity中传递数据

(1)修第二句话时报了内存的错,后来发现在设endDataIndex时减了100,这导致了在修“你”时修的帧数超过了数据的帧数产生了数组越界的错误。 感悟:java中内存出的问题啊好像都是数组越界。 (2)设置按钮为不可见:btn.setVisibility(View.GONE);(3)fragement向activity中传递数据在fragment中定义接口,在activity中实现pub

2015-05-27 21:21:07 457

原创 5.26mediaPlayer使用相关

(1)今天下午花了很长时间做mediaPlayer在指定时间点停止的功能,因为没有关于播放状态的监听器,所以苦恼了很久,最后的解决方案是新开一个线程,该线程可以并行监控播放状态:new Thread(){ public void run() { while (mPlayer.isPlaying()) { if (mPlayer.getCurrentPosi

2015-05-27 10:49:16 415

原创 5.15String

(1)创建String对象:String s1="imooc";String s2=new String();String s3=new String("imooc");(2)java中字符串的不可变性String s1=“爱慕课”;s1=“I love”+s1;//创建了新的字符串对象,变量s1指向新建的字符串对象(3)String类型比较内容是否相同用equals(),==比较的是内存地址

2015-05-15 21:31:29 371

原创 5.15Gallery

Gallery:我们有时候在手机上或者pc上面看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的滚动效果,还可以根据你的点击或触摸触发其它事件响应。同样的,在Android中也提供这种实现,这就是通过Gallery在UI上实现缩略图浏览器。1.准备数据源private int[] res = { R.drawable.item1, R.drawable.item2, R.drawable.

2015-05-15 20:58:49 431

原创 5.15ScrollView

ScrollView:滚动视图是指当前拥有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图。HorizontalScrollView:水平滚动视图 ScrollView:垂直滚动视图getResources().getString(R.string.content)//获取res文件夹下的string字符串tv.setText(getResources().getString(R.strin

2015-05-15 10:40:45 355

原创 5.14支持手势滑动的ViewFlipper

(1)支持手势滑动的ViewFlipper: 重写onTouchEvent方法 private float startX; @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub switch (event.getActi

2015-05-14 22:29:17 386

原创 5.14异常

(1)处理异常:try{//一些会抛出异常的方法}catch(Exception e){//处理该异常的代码块}catch可以有多个,接收不同的异常,顺序为子到父,因为捕获异常时是就近匹配catch的catch(InputMismatchException e){}catch(ArithmeticException e){}catch(Exception e){ e.prin

2015-05-14 19:26:16 397

原创 5.13viewPager&&viewFlipper

(1)java中输出格式控制:System.out.printf(“共有:%.1f吨\n”,totalGoods);(2)Adapter里面的常用方法:getCount()返回所有页面的数量isViewFromObject(View arg0,Object arg1)判断视图是否由对象产生instantiateItem(ViewGroup container,int position)实例化界

2015-05-13 22:09:08 452

原创 5.12ViewPager以view为对象

(1)fragment——>activity的示例代码:fragment:public interface MyListener{ public void thank(String code);}public MyListener listener;@Overridepublic void onAttach(Activity activity){ listener =(My

2015-05-12 22:00:41 424

原创 5.11计算程序运行时间以及activity与fragment的通信

(1)layout_gravity在相对布局中没效果,要用layout_centerHorizontal=“true” (2)c++中计算程序运行时间#include <time.h>int main(){ clock_t start,finish; long totalTime; start =clock(); 要测试的代码 finish=clock(); t

2015-05-12 10:18:38 380

原创 5.10fragment的加载

(1)Fragment的静态加载:(可以在activity中直接findViewById,动态加载也一样) 第一步:在Activity的xml文件中写<fragment......android:name="包名。。。类名">第二步:fragment文件中用inflater实例化一个viewView view=inflater.inflate(R.layout.fragment,contai

2015-05-10 22:29:52 396

原创 5.9android中的异步任务

(1)今天又出现了Native method not found的错误,找了半天,JNI中文件名与java中对应,最后发现是改代码的时候忘记加: static{ System.loadLibrary(“SMS”); } (2)将算法代码放到异步任务中进行(作用和开辟一个线程一样) new AsyncTask<Void, Void, Void>(){ @Override

2015-05-09 23:07:26 345

原创 5.8空指针异常

(1)fragment中stanTextView[0]=new TextView(getActivity());的空指针异常是因为之前只定义了private TextView[] stanTextView; 没有为它分配动态空间,应在之前加一句stanTextView=new TextView[10]; (2)eclipse使代码自动对齐的快捷键ctrl+shift+f;

2015-05-09 22:55:36 344

原创 5.7No implementation found for native

No implementation found for native Lcom/examples/adjustPitch;.getSenLen 查了半天没发现函数名有错,结果发现是void java_com错了,应为void Java_com…

2015-05-07 21:45:09 411

原创 5.6java中显示中文字符乱码的问题

(1)c++中返回的是GB2312编码的汉字,一个字是两个字节,传回来到java的pitch类中的word1和word2.在java中需对GB2312编码的汉字进行解码:String word[]={0,0,0,0,0,0,0,0,0,0};......byte[] bytes=new byte[2];byte[0]=(byte)pitch[i].word1;byte[0]=(byte)pi

2015-05-06 22:45:00 415

原创 5.5JNI中文字符串传递

java内部使用的是16bit的unicode编码(UTF-16)来表示字符串的,无论中文英文都是2字节; jni内部是使用UTF-8编码来表示字符串的,UTF-8是变长编码的unicode,一般ascii字符是1字节,中文为3字节; c/c++使用的是原始数据,ascii就是一个字节,中文一般是GB2312编码,用两个字节来表示一个汉字;jni返回给java的字符串,c/c++首先应该负责把这

2015-05-05 22:37:35 481

原创 5.4jni返回结构数组

(1)textView.setBackgroundColor(Color.RED); (2)java中可以用变量定义数组:int count=0;int[] scores=new int[count];(3)jni中返回结构数组:(对应到java中为类) 纠结了一个下午的pitch值被覆盖的问题是因为obj不能为同一个(需要更新)jobjectArray Java_com_example_sm

2015-05-04 22:26:39 670

原创 5.3在代码中生成数量未知的控件

(1)为了画音高线需要在代码中生成view控件,但随着每句歌词的字数不同控件数量也不同:private TextView[] textView;...... textView=new TextView[10];(假设返回的控件数量小于10) for(int i=0;i<返回的控件数量;i++) { textView[i]=new TextView(this); re

2015-05-03 22:39:14 335

原创 4.30return数组名时返回的数值出错

(1)首先,今天最大的收获不是调通了一个bug,而是发现了自己一直存在的一个问题。那就是做事只是为了完成任务,认为只要完成就好,并没有踏踏实实地去做,这是一个很严重的问题,作为一个程序员不能想着去躲避bug,而是在每一个bug出来以后如何尽快有效地去解决,在设计app时不能想着怎么方便怎么来,而是应该要想着怎么最优最方便用户为出发点。这一点可以说是今天最大的感悟。感谢队友提出的批评,在这个问题上我要

2015-05-01 22:56:57 562

原创 4.29Android中对jni调用部分的调试

(1)在android中编译头文件: javah -classpath bin/classes -jni com.spore.meitu.jni.JniEngine(JniEngine为一个公共类) (2)No implementation found for native… …………………………………………………………………….. java.lang.Unsatisfied

2015-04-29 23:08:10 335

原创 4.28如何在代码中改变控件在布局中的位置

(1)在代码中改变控件在布局中的位RelativeLayout.LayoutParams textView1_params=new RelativeLayout.LayoutParams(84,6);//84和6分别为控件的宽和高textView1_params.topMargin=294;//以px为单位与dp不同textView1.setLayoutParams(textVi

2015-04-29 22:51:38 445

转载 JNI函数调用大全

转自这里写链接内容 Chap1:JNI完全手册 3 Chap2:JNI-百度百科 11 Chap 3:javah命令帮助信息 16 Chap 4:用javah产生一个.h文件 17 Chap5:jni教程(very very good) 19 Chap6: JNI传递返回值 26 15.2.2.3 传递字符串 28 15.2.2.4 传递整型数组 29 15.2.2.

2015-04-27 23:10:07 4218

转载 基于 Android NDK 的学习之旅-----Java 调用C

转自这里写链接内容 随便谈谈为什么要Java调用C 吧:我认为:1、 有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所以我们没必要同样的功能又在java中实现一遍。例如我之前做的一个项目,公司C引擎已经很成熟了,所以直接在java中封装好接口,由C去实现。2、 C的速度一般是java的10-20倍把,有些对速度要求高的就需要在C中实现。例如我以前在Android项目

2015-04-27 22:53:28 389

原创 4.27NDK相关

(1)最近vs2010的visual Assist X到期了,一直没管,于是今天用到vs时果断把破解版给装了,破解版的安装包在很多地方都可以找到,但是碰到的一个问题是找不到c盘的visual Assist X路径(开始菜单里的搜索和我的电脑里的搜索都找不到该文件夹,百度了说要确定在哪个盘搜索起来才会有效些,而c盘好多文件是隐藏的),后来发现之所以找不到是因为xp的路径和win7不同,win7的路径是

2015-04-27 22:38:19 405

原创 用c将固定格式的txt文件中的信息读取出来

要提取的信息如图,这是一个歌曲的标准音高文件。[]内为该句的起始时间和结束时间,<>中的三个数分别为该字相对于句起始时间的起始时间、持续时间和音调。现在要以链表的形式将这个txt中的数据读取出来。 用到的关键函数有:1)字符串分割函数char *strtok(char s[],const char *delim); 分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。首次调用

2015-04-15 17:07:25 886

原创 python小结

最近将一份python代码改成了c代码,在修改的过程中了解了一些python的语法和功能,在这里做一个小结。1)构造数组import numpy as nphfreq=np.array([[0,1,2],[3,4,5]])print hfreq得到的结果是[[0 1 2] [3 4 5]]2)返回数组中某一行不为零的值的索引import numpy a

2015-04-15 16:09:39 388

原创 为复杂的声明定义简单的别名

当声明了一个复杂的结构,例如struct data{ int year; int month; int day;}后面在代码中定义时需写成 struct data birthday;但是如果用typedef为复杂的声明定义简单的别名,那么定义时就会简单很多,通过typedef上例可改为如下所示typedef struct{ int year; int mo

2015-04-15 15:50:57 534

原创 用C语言对txt文件进行读写处理的过程

要对txt文件进行读取首先要先打开一个txt文件,这时需要用到fopen函数。 FILE *fopen(const char *path,const char *mode ); 文件顺利打开后指向该流的文件指针将会被返回。如果文件打开失败则返回NULL。eg: char *txtPath="D:\\wavcs\\biaozhun.txt"; FILE *fp; fp=fo

2015-04-15 15:38:31 1529

原创 wav文件的读取

wav文件的读取,默认为双声道(若为单声道根据头文件中的参数做个判断即可),一个声道的一组数据为两个字节,所以左声道总数据数为dataSize(字节为单位)/4#include <stdlib.h>#include <stdio.h>#include<malloc.h>#include <math.h>struct RIFF_HEADER{ //RIFF_HEADER uns

2015-04-06 22:37:57 1098

转载 用c实现的fft和ifft

对百度文库中coffealove的代码进行了如下验证 代码如下#include <stdio.h>#include <math.h>#include <stdlib.h>#define N 1000typedef struct{ double real; double img;}complex;void fft(); /*快速傅里叶

2015-04-06 22:13:57 2255

原创 用c语言实现的dft逆变换

用C语言实现的fft逆变换 N为ifft的大小,X(k)、W和x(n)都是复数的形式#include <stdio.h>#include <math.h>#include <stdlib.h>typedef struct{ double real; double img;}complex;complex initW(int k,int n,int

2015-04-02 22:46:31 2506 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除