摘要: Java是这么优美的语言,为什么要是用xml做开发,我不喜欢用xml开发。我现在试试所有的例子都不使用xml开发项目。第一个例子启动画面。package com.devdiv.test.ui_test_animation;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.DisplayMetrics;import android.view.Gravity;import android.view.W 阅读全文
posted @ 2013-09-19 21:27 jiangmingz 阅读(1333) 评论(4) 推荐(0)
摘要: 1)复用convertViewListView在需要显示Item的时候,会首先检查回收站里是否有缓存的item,如果发现有缓存的item,ListView会直接复用它,把它作为参数传递给Adapter的getView方法,参数名为convertView。所以如果convertView不为空,表明回收站中存在可以复用的Item,就不需要在创建新的Item了。这种View复用的方式适用于单一Item视图和多种Item视图的情况,在之前的例子中已经提到过,可以参考以前的讲解。2)使用ViewHolder在Android中,在操作一个控件的时,首先需要通过findViewById从控件树中找到它,然后 阅读全文
posted @ 2013-09-15 22:45 jiangmingz 阅读(692) 评论(0) 推荐(0)
摘要: 线性布局中,有4个及其重要的参数,直接决定元素的布局和位置,这四个参数是android:layout_gravity (是本元素相对于父元素的重力方向)android:gravity(是本元素所有子元素的重力方向)android:orientation(线性布局以列或行来显示内部子元素) 参数android:orientation="horizontal"决定了每个子元素各占一列,如果 参数android:orientation="vertical",则每个子元素各占一行,也就是从上到下排列了。android:layout_weight(线性布局内子元素 阅读全文
posted @ 2013-09-15 22:22 jiangmingz 阅读(251) 评论(0) 推荐(0)
摘要: CocoaPods是IOS中一个类似Java种的ant和maven的一个工具,说白了就是帮助用户管理外部依赖库。但是这东西安装起来却是那么的蛋疼。在mac中使用 ruby -v 和 gem -v 查看版本号码,如果版本低于2.0.0,一定要更新到此版本,不然后面将会出现权限不够错误我在此错误上,每次都使用sudo去执行,安装成功,就是会出现一些意想不到的Permission denied不足错误。更新ruby最好是采用rvm工具,也不要切换到淘宝的gem更新中去,淘宝的库里面没有IOS的东西。申请一个免费的vpn更新gem,因为每次出错都是这里,更新的东西很少,最多几分钟。执行这两条命令是不需 阅读全文
posted @ 2013-07-23 12:33 jiangmingz 阅读(2673) 评论(0) 推荐(0)
摘要: 首先介绍一下C++中的结构。对于一个结构来说,struct MyStruct { int member_a;};如果有个变量MyStruct s,那么使用其中的成员元素时可以用s.member_a = 1;如果采用指针方法访问,比如MyStruct *ps,那么同样的访问必须用箭头号:ps->member_a = 1;::只用在类成员函数和类成员变量中。比如,声明一个类:class CA {public: int ca_var; int add(int a, int b); int add(int a);};那么在实现这个函数时,必须这样书写:int CA::add(int a, in. 阅读全文
posted @ 2013-06-11 23:31 jiangmingz 阅读(409) 评论(0) 推荐(0)
摘要: 三种标准类型的变量,就像你在函数里面引用那样: 全局变量,包括静态局部变量。 全局函数(在技术上而言这不是变量)。 封闭范围内的局部变量和参数。 Blocks 同样支持其他两种类型的变量: 1.在函数级别是__block变量。这些在block里面是可变的(和封闭范围),并任何引 用 block 的都被保存一份副本到堆里面。 2.引入const。 3.最后,在实现方法里面,blocks也许会引用Objective-C的实例变量。参阅“对象 和 Block 变量”部分。 在 block 里面使用变量遵循以下规则: 1.全局变量可访问,包括在相同作用域范围内的静态变量。... 阅读全文
posted @ 2013-05-27 14:10 jiangmingz 阅读(158) 评论(0) 推荐(0)
摘要: Activity的完整生命周期自第一次调用onCreate()开始,直至调用onDestroy()为止。Activity在onCreate()中设置所有“局”状态以完成初始化,而在onDestroy()中释放所有系统资源。例如,如果Activity有一个线程在后台运行从网络上下载据,它会在onCreate()创建线程,而在 onDestroy()销毁线程。Activity的可视生命周期自onStart()调用开始直到相应的onStop()调用结束。在此期间,用户可以在屏幕上看到Activity,管它也许并不是位于前台或者也不与用户进行交互。在这两个方法之间,我们可以保留用来向用户显示这个Act 阅读全文
posted @ 2013-01-23 22:37 jiangmingz 阅读(192) 评论(0) 推荐(0)
摘要: 接上文。这是当音频输入后用一个表示音频输入的大小变化的view这个没有什么可以说的,直接上代码#import <Foundation/Foundation.h>@interface AVMeterView : UIView { float peakPowerForChannel; float h;}@property(nonatomic,assign) float peakPowerForChannel;- (id)initWithFrame:(CGRect)frame;@end#import "AVMeterView.h"#import <CoreGra 阅读全文
posted @ 2013-01-16 22:52 jiangmingz 阅读(403) 评论(0) 推荐(0)
摘要: 自己项目中用到了录音部分,本来想做一个关于录音的开源项目的,想想还是写博客好点。录音回话设置1 NSError *error = nil;2 AVAudioSession * audioSession = [AVAudioSession sharedInstance]; //得到AVAudioSession单例对象3 [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error: &error];//设置类别,表示该应用同时支持播放和录音4 [audioSession setActive:YES... 阅读全文
posted @ 2013-01-16 22:39 jiangmingz 阅读(4505) 评论(0) 推荐(0)