Speak

1、第三方登录

安卓微信登录:用IWXAPI注册,微信OAuth2.0的SendAuth发送数据,
              微信客户端回调WXEntryActivity,onResp方法设置响应
新浪微博登录:AuthInfo注册,implements WeiboAuthListener的类
QQ登录:Tencent类

2、群聊

使用openfire服务器,基于XMPP协议和Smack客户端类库
用ConnectionConfiguration配置一些信息,比如服务器地址端口名字等。
用XMPPConnection包含这些配置信息传进用户名密码和房间标识开始连接。
群聊的话首先要加入房间,用DiscussionHistory设置要取出的时间内的聊天信息,在MultiUserChat加入房间,
然后用PacketListener注册房间监听,读取Packet里的信息显示出来,
发送消息用curmultchat.createMessage设置信息内容,用xmppConnection.sendPacket发送这个消息,
退出的时候回收监听器退出房间,然后关闭连接。
单聊ChatManagerListener注册监听,用chatManager发送消息,不用加入房间的区别

3、版本更新

从服务器获得版本号和本地比对,如果大于当前版本则升级。
用DownloadManager类设置网络的连接方式等配置信息。
然后使用MimeTypeMap配置连接的路径,是否通知栏显示,下载文件的保存路径,标题等信息,
之后注册个广播和IntentFilter一起监听是否下载完成。如果下载完成使用Intent设置flag和文件路径开始安装

4、读取本地图片转为Bitmap,也是分辨率减少方法,防止OOM

使用BitmapFactory工厂,用options类配置一些参数,里面主要属性是inSampleSize的值要恰当,专门有算法可以算出,防止oom
然后用BitmapFactory的decodeFile方法返回bitmap
5、图片上传

在子线程里,使用HttpURLConnection建立连接,set设置一些超时,输入输出流是否允许,请求方法,编码等信息
使用DataOutputStream存入一些文件名等的信息,之后用InputStream读文件流,写入输出流,
如果响应代码返回200为建立传入成功,读取连接输入流InputStream,放入StringBuffer内,传给handle返回结果

6、图片下载

HttpURLConnection建立连接,url打开连接,设置超时时间和请求方法,当响应码为200时,读取输入流,建立文件流,写入数据,关闭流

7、图片质量压缩

图片压缩有质量压缩和按照图片比例压缩,质量压缩,建立ByteArrayOutputStream,使用bitmap的compress方法压缩,
如果压缩后图片大于某个值,清空输入流reset,再次压缩,最后建立输入流,使用BitmapFactory的decodeStream方法生成bitmap

8、打开相机照片和本机相册选择图片

使用intent的MediaStore
相对布局视图在底部,背景白色。相机调用intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);    
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
相册的话调用 intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");     
intent.setAction(Intent.ACTION_GET_CONTENT);在onActivityResult回调得到结果url  
通过Uri获取Bitmap对象  
one = MediaStore.Images.Media.getBitmap(this.getContentResolver(), photoUri);
9、图片缩小放大单击退出功能描述
自定义View,重写onTouchEvent、onLayout、onDraw方法,在onDraw方法初始化时候得到bitmap的高宽跟屏幕对比,算出缩放比例,
记录当前图片高宽,然后根据状态标识来绘图,状态标示来自onTouchEvent里面,分多点触摸和单点触摸,
多点触摸时候记录上次两指见的距离,大于是放大状态,小于是缩小状态,同时记录缩放比例,调用invalidate重绘

10、屏幕适配

屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米
屏幕分辨率是指在横纵向上的像素点数,单位是px
屏幕像素密度是指每英寸上的像素点数,单位是dpi
解决方法:
1、使用wrap_content和match_parent,再结合上权重,控制某些视图组件的宽度和高度
2、使用 RelativeLayout
3、使用自动拉伸位图。9图
4、使用sp单位指定字体尺寸
5、分辨率可以以1280*720或者是1960*1080作为主要分辨率进行设计
http://blog.csdn.net/jdsjlzx/article/details/45891551   屏幕适配全攻略(最权威的官方适配指导)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Delphi中英文语音朗读程序(控件及源码)调试OK 先安装Microsoft Speech SDK 5.1,这是微软的声音支持控件 前面安装不多做介绍,一步一步安装即可 安装完成后,需要加载Delphi控件 在Delphi IDE中选择菜单Project,Import Type Library—点击按钮Add(C:\Program Files\Common Files\Microsoft Shared\Speech\ sapi.dll)—点击按钮Install-在Install对话框中点击按钮OK—在Confirm对话框中点击按钮Yes—在对话框中点击按钮OK。至此,共19个控件被添加到Delphi组件板ActiveX页上。其中spvoice控件是我们要使用的 Microsoft Speech SDK 5.1下载地址:http://intraweb.5d6d.com/thread-280-1-1.html SpVoice详解 属性 描述 AlertBoundary 取得或设置停顿分界线。 AllowAudioOutputFormatChangesOnNextSet 设置是否允许声音自动调整到合适状态以适应其音频输出。 AudioOutput .取得或设置当前声音使用的的音频输出对象 AudioOutputStream 取得或设置当前声音使用的的音频输出流对象。 EventInterests 取得或设置当前声音返回的事件类型。 Priority 取得或设置声音的优先级。 Rate 取得或设置阅读的速度。 Status 返回一个ISpeechVoiceStatus 对象用于显示当前阅读和事件的状态 SynchronousSpeakTimeout 取得或设置一个时间间隔,用于标识多久未获得一个输出设备后,一个同步的SpeakSpeakStream将终止,以毫秒计算。 Voice 取得或设置发音对象。 Volume 取得或设置声音的大小 。 方法 描述 DisplayUI 是否在控制面板中展示详细设置。 GetAudioOutputs 返回一个可用的音频输出标记。 GetVoices 返回一个可用的发音对象。 IsUISupported 决定是否能通过控制棉板的音频设置来控制。 Pause 暂停朗读。. Resume 恢复暂停,继续播放。 Skip 在当前输入的文本流中向前或向后跳一定距离再播放。 Speak 阅读一个字符串。 SpeakCompleteEvent 得到一个朗读完毕的时间句柄 SpeakStream 朗读一个文本流或一个声音文件。 WaitUntilDone 阻塞进程,直到声音播放完毕或者超时。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值