android 学习备忘录1

线性布局LinearLayout
android:layout_width = "fill_parent" 宽度填满父控件
android:layout_width = "wrap_parent" 宽度自动适应子控件
android:orientation = "vertical" 垂直的
android:orientation = "horizontal" 水平的

表格布局TableLayout
TableRow android:gravity= "center" 对齐方式

相对布局RelativeLayout
android:layout_centerInParent = "true" 在父控件中居中
android:layout_above ="@id/button1" 在该控件上方
android:layout_alignLeft ="@id/button1" 在该控件左边
android:layout_below 在该控件下方
android:layout_alignRight 在该控件右边

单帧布局FrameLayout
android:src 资源地址

坐标布局AbsoluteLayout
android:layout_x
android:layout_y

ToggleButton
开关控件

Canvas
canvas.drawColor(Color. BLACK );设置画布背景
canvas.drawRect 绘制矩形
canvas.drawText
RectF rf1 = new RectF(10,130,110,250);定义一个矩形
canvas.drawArc(rf1, 0, 45, true, paint);绘制弧形
canvas.drawOval(rf1,paint)绘制圆

Bitmap
myBitmap = BitmapFactory. decodeResource(getResources(), R.drawable. img);获得图片资源
canvas.drawBitmap( myBitmap , 10, 10, paint );绘制贴图

Animation动画
myAnimation = AnimationUtils. loadAnimation( this, R.anim. myanim ); 加载动画
myImageView = (ImageView) this .findViewById(R.id. myImageView);
myImageView.startAnimation( myAnimation ); 启动动画
paint .setAntiAlias( true);打开抗锯齿


MediaPlayer对象的获得
mediaPlayer = MediaPlayer. create( Context, resid);无参构造方法之外的一种

SoundPool
soundPool = new SoundPool(maxStreams, streamType, srcQuality);
用soundpool可以播一些短的反应速度要求高的声音, 比如游戏中的爆破声,而mediaplayer适合播放长点的。
maxStreams 同时播放的流的最大数量 streamType 流的类型,一般为AudioManager.STREAM_MUSIC srcQuality 采样转化率质量

soundPoolMap .put(1, soundPool.load( this , R.raw. dingdong, 0));
AudioManager amgr = ( AudioManager) this.getSystemService( AUDIO_SERVICE );
float streamVolumeCurrent = amgr.getStreamVolume(AudioManager. STREAM_MUSIC );
float streamVolumeMax = amgr.getStreamMaxVolume( AudioManager. STREAM_MUSIC);
float volume = streamVolumeCurrent/streamVolumeMax;
soundPool.play(sound,volume, volume, 1, loop, 1f);id,左声道音量,右声道音量,优先级,循环次数,速率(1为正常,0.5最低,2最高)

SurfaceView
SurfaceHolder 访问surface的接口,可以设置surface的大小和格式
surfaceHolder.CallBack 此接口接收surface变化的消息 只在surface.CallBack.surfaceCreated()和surface.CallBack.surfaceDestoryed之间有效
surfaceHolder .setType(SurfaceHolder. SURFACE_TYPE_PUSH_BUFFERS);不知所云的东西,但是视频的播放和照相机的使用都需要这样的设置。
getWindow().setFormat(PixelFormat. UNKNOWN ); unkown
getWindow().setFormat(PixelFormat.TRANSLUCENT);设置窗口格式为半透明
surfaceHolder.setFixedSize(176, 144);设置surface的大小
mediaPlayer .setDataSource(strPath);设置媒体的路径
mediaPlayer .setAudioStreamType(AudioManager. STREAM_MUSIC);设置音频类型

camera = Camera.open()、camera.release()照相机的开启和释放
camera.setPreviewDisplay(surfaceHolder)设置照相机预览的显示
camera.startPreview()开启照相机预览

Handler类
Handler类主要用于应用程序的主线程同用户自己创建的线程进行通讯

obtainMessage
通过Handler.obtainMessage()创建的message对象是可复用的。

Message对象的参数
arg1,arg2为int类型,如传输的数据的int类型时使用它们可以降低成本
obj Object类型
what 由用户定义的消息类型码,接收方可以根据该字段来确认接收到的消息是关于什么的

handler.sendEmptyMessage
当发送的消息只需要what字段时,可以使用该方法

Intent的构造方法
1.无参构造方法;2.Intent intent = new Intent(Context packageContext,Class<?> cls);
Context 例 MainActivity.this
Class<?> 例 com.ptn.MyService.class

MainActivity.this.startService(intent)
开启service,service是intent中的service

sendBroadcast(intent)
发送广播

Extras
Extras是一组键值对,包含了需要传递给目标组件并由其处理的一些额外信息。

Intent.setAction和IntentFilter.addAction的区分
Intent.setAction将一个行为(Action)放到intent里面,当intent被触发时就会执行该行为。例如 Intent.ACTION_CALL打电话。(当intent被触发就会拨打电话) 前提你得放一个电话号码格式为:intent.setData(Uri.parse("tel:" + phone));
IntentFilter.addAction为IntentFilter对象添加Action,也相当于在AndroidManifest.xml定义一样,定义的目的是过滤器只许当安卓的操作系统产生addAction中的事件咱们自定义的这个BroadcastReceiver类才能来接收这个广播,我们才能进行代码的进一步处理

BroadcastReceiver的使用需要进行注册和取消注册
registerReceiver(BroadcastReceiver, IntentFilter);
unRegisterReceiver(BroadcastReceiver);
可以写在MainActivity的onStart()和onStop()方法中或者Service的onStartCommand()和onDestory()方法中

stopSelf()
service用来结束自己的方法

OpenFile
FileOutputStream fout = OpenFileOutput(fileName, MODE_PRIVATE);
FileInputStream fin = OpenFileInput(fileName);
OpenFile如果文件不存在会自动创建文件,MODE_PRIVATE是默认的,输出流为从内存输出到文件,输入流为从文件输入到内存

EncodingUtils
String result = EncodingUtils. getString(buffer, ENCODING); buffer 是一个byte数组,ENCODING是“UTF-8”之类

IO流
获得assets中文件的IO流 InputStream in = getResources().getAssets().open( "text2.txt" );
获得resource中raw文件的IO流 InputStream in = getResources().openRawResource(R.raw.text1);




更多相关文章

  1. android 布局居中
  2. android 相对布局
  3. Android(安卓)相对布局
  4. Android(安卓)ProgressBar 设置滚动的图标
  5. textAppearance的属性设置
  6. android > EditText 控件操作
  7. Android(安卓)Layout: TableLayout
  8. android使用单选并设置按钮提醒
  9. Android设置边框样式

随机推荐

  1. android面试题一
  2. Android(安卓)仿RxDialog自定义DialogFra
  3. android listview 异步加载图片并防止错
  4. Android(安卓)Intent的用法及其传取值
  5. Android——Activity去除标题栏和状态栏
  6. android Vitamio Live 实时视频 记录
  7. android 多媒体相关代码概况—(JAVA SCOPE
  8. 某个蝰蛇音效的卡刷包代码分析
  9. Error inflating class com.google.andro
  10. Android——使用Volley+fastJson在新线程