android中实现新浪微博客户端的表情功能

最近在搞android 新浪微博客户端,有一些心得分享

弄android客户端表情功能可以用以下思路

1.首页把新浪的表情下载到本地一文件夹种,表情图片的命名要用新浪微博表情原来的命名

比如 新浪的害羞表情是shame.gif 那么你在本地也得命名为shame.gif,命名相同主要是为了能够匹配表情对应的code.

2.把本地的表情都放进android的资源文件里----drawable下面

3.访问新浪的表情接口(新浪返回的数据类型有json和xml两种,本人用xml),把返回的信息,利用xml解析器解析出来的信息储存在一个Emotion.java的bean里,这样就可以根据Emotion.java的code找到一一对应的资源表情图片了

4.实现一个可以让用户选择的表情界面,本人用GridView实现

5.实现点击GridView的每一个item,处理根据item的index查找对应的表情code,然后再把code利用正则把code转换为相对应的表情图片,最后表情插入EditText进行发送。

下面是具体的实现过程

1.把新浪表情图片下载到本地的实现如下:(这个可以建一个java工程进行下载)

public void getFriendList() throws Exception {
        BlogReleaseServiceImpl service = new BlogReleaseServiceImpl();
        List<Emotions> list = service.getEmotion();
        for (Emotions emotions : list) {
            String path = emotions.getUrl();
            String filename = path.substring(path.lastIndexOf("/") + 1,path.length());
            URL url =  new URL(path);
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("GET");
            conn.setReadTimeout(5 * 1000);
            if(conn.getResponseCode() == 200){
                InputStream is = conn.getInputStream();
                byte[] data = readStream(is);
                File file = new File("f: \\sina_images\\" + filename);
                FileOutputStream fs = new FileOutputStream(file);
                fs.write(data);
                fs.close();
            }else{
                System.out.println("请求失败");
            }
        }
    }    

    public byte[] readStream(InputStream is) throws Exception {
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        byte[] buffer = new byte[2048];
        int len = 0;
        while((len = is.read(buffer)) != -1){
            os.write(buffer,0,len);
        }
        is.close();
        return os.toByteArray();
    }

2:把本地的表情都放进android的资源文件里----drawable下面(这个就不用多说了,直接选取所有文件复制就行了)

3:

3.1访问新浪的表情接口,把返回的信息如下:

     <emotion>
<phrase>[嘻嘻]</phrase>
<type>face</type>
<url>gif/tooth.gif
</url>
<is_hot>false</is_hot>
<is_common>true</is_common>
<order_number>0</order_number>
<category></category>
lt;/emotion>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, 新浪
, 表情
, 新浪云平台 java工程
, 本地
, reate emote hread
, conn
, code
, 表情功能
, Android表情面板
android生成gif文件
android qq表情实现、android 表情功能实现、android 微信表情实现、android 表情雨实现、新浪微博客户端,以便于您获取更多的相关知识。

时间: 2024-11-02 00:16:45

android中实现新浪微博客户端的表情功能的相关文章

android 新浪微博客户端的表情功能的实现

最近在搞android 新浪微博客户端,有一些心得分享 弄android客户端表情功能可以用以下思路 1.首页把新浪的表情下载到本地一文件夹种,表情图片的命名要用新浪微博表情原来的命名 比如 新浪的害羞表情是shame.gif 那么你在本地也得命名为shame.gif,命名相同主要是为了能够匹配表情对应的code. 2.把本地的表情都放进android的资源文件里----drawable下面 3.访问新浪的表情接口(新浪返回的数据类型有json和xml两种,本人用xml),把返回的信息,利用xm

android中集中html5,怎样实现文件下载功能,我现在有一个超链接

问题描述 android中集中html5,怎样实现文件下载功能,我现在有一个超链接 <a href="http://xxxxxxx/group1/M00/00/08/Ci09DVSb9n6AH76IAAX4AIw6xuk01.docx?attname=基于ANT的增量代码检查.docx&attachid=942'" download="基于ANT的增量代码检查.docx" class="graybtn">下载</a>

Android中使用Service实现后台发送邮件功能实例_Android

本文实例讲述了Android中使用Service实现后台发送邮件功能.分享给大家供大家参考,具体如下: 程序如下: import android.app.Activity; import android.content.Intent; import android.content.res.Resources.NotFoundException; import android.os.Bundle; import android.widget.TextView; public class A05Ac

Android中EditText屏蔽第三方输入法表情的方法示例

前言 众所周知如果用第三方的输入法的表情会给开发带来一定的麻烦,一般地像服务器上传的字符都是普通的字符,但是测试,就是狠狠得拿出搜狗输入法,点几个表情,那么问题就来了,要么是显示异常,要么是直接crash,但是有很少的部分机型,会支持,可能是第三方的ROM对Android 的TextView 做了一定的处理,所以,我们只能干掉该死的表情了. 具体的方法如下: 首先是在EditTextView 里面加入TextWatcher 在判断字符的变化时,就判断字符的类型,是否为字符,否则删除原来的字符,重

Android中使用Service实现后台发送邮件功能实例

本文实例讲述了Android中使用Service实现后台发送邮件功能.分享给大家供大家参考,具体如下: 程序如下: import android.app.Activity; import android.content.Intent; import android.content.res.Resources.NotFoundException; import android.os.Bundle; import android.widget.TextView; public class A05Ac

在IE右键菜单中新增”添加到QQ表情“功能选项

1.右键单击QQ快捷方式,选择"属性". 2.在快捷方式属性框中单击"查找目标"按钮. 3.打开QQ安装保存目录以后,检查该文件夹是否有 AddEmotion.htm 网页文件,没有的找到的话,我们可以通过系统自带的搜索功能进行查找. 4.然后确认 AddEmotion.htm 所在路径,小编的为 D:Program Files2009QQBinAddEmotion.htm 找到上面的文件所在路径以后,就可以开始往IE右键菜单里面加入"添加到QQ表情&qu

Android中ListView分页加载数据功能实现_Android

 熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"加载更多"按钮,用户

Android中ListView分页加载数据功能实现

熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"加载更多"按钮,用户点

Android中让按钮拥有返回键功能的方法及重写返回键功能_Android

让按钮拥有返回键的功能很简单,在点击事件加上finish();就OK了. 如: 复制代码 代码如下: public void onClick(View v){ finish(); } finish() 仅仅是把activity从当前的状态退出,但是资源并没有给清理. 其实android的机制决定了用户无法完全退出application,即使用System.exit(). android自己决定何时该从内存中释放程序,当系统没有可用内存时,就会按照一定的优先级来销毁应用程序. android手机操